Skip to content

Svengali/cblib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cblib notes :

USAGE :

** !!! first of all you must always include "cblib/Base.h" first before anything

You can just use "linklib.h" in your client app to bring in the libraries.
(though I did stick absolute paths in there so you may need to change that)

BmpImageJpeg uses the "jpeg-6b" library, so if you don't have that you can just turn it off in BmpImageJpeg.cpp

--------------------------------------------------

Everything in cblib is namespaced in "cb:" to avoid link conflicts.  To use cb code you can either call it explicitly like :

NS_CB::Timer::GetSeconds()

or you put a "USE_CB" declaration at the top of your file.

To write code in cb namespace use START_CB , END_CB ; don't use "cb:" directly since that may change to avoid conflicts.

Note that I play really loose with my #defines so there may well be conflicts there.  My preferred way to handle that is to #undef
other people's #defines that conflict with mine, but it can get a little ugly.  I'm not really happy with having to use CB_MIN names
everywhere.

--------------------------------------------------

There are various levels of drinking the koolaid in "cblib" .

You can just call some functions and do okay.

If you buy into my style of STL usage, the you need to make sure to be using STLport and letting my allocator replacement work.

The big STLport hammer that I do is in "_alloc.h" I change their calls to malloc to call "StlAlloc".  That lets me patch the allocator
for all ops at the bottom level.  Then anywhere you use STL stuff make sure you include "stl_basics" before anything else.

The next level of buying in is getting on the smart pointer train.  
	See http://www.cbloom.com/3d/techdocs/smart_pointers.txt

The next level of buying in would be do the Reflection thing and IO() members.

--------------------------------------------------

cblib todos :

1. a simple ResMgr that just does res caching by name
	you call like ResMgr::Get<File>("name")

2. simple PROFILE from Galaxy with tsc

3. Some of the basic old file util stuff from chuksh/crblib like exists/etc
	really I should rewrite my old dir-walker and pattern matcher
	and get all my old console apps over

the bmp/jpg stuff has some problems
	standardize y up
	standardize bgr/rgb
	don't promote 24->32
	
---------------------------------------------------------------------

This license applies to all software available on cbloom.com unless otherwise stated.

Copyright (c) 1998-2012, Charles Bloom

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

   1. The origin of this software must not be misrepresented; you must not
   claim that you wrote the original software. If you use this software
   in a product, an acknowledgment in the product documentation would be
   appreciated but is not required.

   2. Altered source versions must be plainly marked as such, and must not be
   misrepresented as being the original software.

   3. This notice may not be removed or altered from any source
   distribution.

---------------------------------------------------------------------

About

Old port of cblib from Charles Bloom

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages