Cartograph - base package: support classes that don't deal with image processing.
Note: In version 4.4, a new IO library, soma-io, has been designed, and some of the contents of the former cartobase library have moved to soma-io. It mainly deals with the IO system, but not only: allocators, options parsing, plugins and other utilities are now in soma-io.
Provided libraries and commands:
Requirements:
The cartobase library now needs the following libraries installed on the compiling system:
Optionally, the following libraries may be used if available:
Building:
Use CMake, a cross-platform and open-source build system. More information on The BrainVISA-cmake build system. See also this page on BrainVISA website.
Main contents:
- namespace: carto
- generic objects: Object, GenericObject, ValueObject, ReferenceObject, and standard interfaces: Interface
See the Generic object API changes
- exceptions: io_error, errno_error and families.
- reference counters and other smart pointers: rc_ptr, weak_ptr, scoped_ptr
- other portable filename / file / directory utilities: FileUtil, Directory
- STL-like containers:
- block (buffers of fixed size)
- portable threads: Thread, Mutex, ThreadedLoop etc.
- UUID: unique identifiers
- libsigc++ observer patterns and protected includes (avoiding conflicts with Qt)
- future Algorithm class
- type and conversion utilities:
- other general utility classes, functions and macros:
- debug messages printing: ::dbgMsg,
Other programming rules and notes: