UCommon
Data Structures
Here are the data structures with brief descriptions:
 Nost
 CAppLogApplication logger is a class that implements a logger that can be used by applications to save log file somewhere on the system
 CIdentIdent class that represents module name
 CAppLogExceptionApplog exception, used for memory problems at the moment
 CAssocThis class is used to associate (object) pointers with named strings
 CBufferThe buffer class represents an IPC service that is built upon a buffer of fixed capacity that can be used to transfer objects between one or more producer and consumer threads
 CDCCPSocketDCCP sockets are used for stream based connected sessions between two sockets
 CDirA low level portable directory class
 CDirTreeA generic class to walk a hierarchical directory structure
 CDSOThe DSO dynamic loader class is used to load object files
 CExceptionMainline exception handler, this is the root for all Common C++ exceptions and assures the ansi C++ exception class hierarchy is both followed and imported into the gnu Common C++ class hierarchy
 CFixedBufferA buffer class that holds a known capacity of fixed sized objects defined during creation
 CHEXdumpProduces a dump of a buffer in a hexdump way with its code Ascii translation and relative buffer address
 CIOExceptionA sub-hierarchy for all Common C++ I/O related classes
 CIPV4AddressThe network name and address objects are all derived from a common IPV4Address base class
 CIPV4BroadcastThe broadcast address object is used to store the broadcast address for a specific subnet
 CIPV4CidrThe CIDR class is used to support routing tables and validate address policies
 CIPV4HostThis object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket
 CIPV4MaskInternet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV4Mask derived object
 CIPV4MulticastA specialization of IPV4Address that provides address validation for multicast addresses
 CIPV4MulticastValidatorClass for the function object that validates multicast addresses
 CIPV4ValidatorClasses derived from IPV4Address would require an specific validator to pass to the IPV4Address constructor
 CIPV6AddressThe network name and address objects are all derived from a common IPV6Address base class
 CIPV6BroadcastThe broadcast address object is used to store the broadcast address for a specific subnet
 CIPV6CidrThe CIDR class is used to support routing tables and validate address policies
 CIPV6HostThis object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket
 CIPV6MaskInternet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV6Mask derived object
 CIPV6MulticastA specialization of IPV6Address that provides address validation for multicast addresses
 CIPV6MulticastValidatorClass for the function object that validates multicast addresses
 CIPV6ValidatorClasses derived from IPV6Address would require an specific validator to pass to the IPV6Address constructor
 CLinkedDoubleSelf managed double linked list object chain
 CLinkedSingleSelf managed single linked list object chain
 CLockfileThis class is used to create a "named" lock entity that can be used to control access to a resource between multiple processes
 CMapIndexThe MapIndex allows linear access into a MapTable, that otherwise could have its elements being retrieved only by key
 CMapObjectThe MapObject is a base class which can be used to make a derived class operate on a MapTable
 CMappedFileCreate and map a disk file into memory
 CMapTableA map table allows for entities to be mapped (hash index) onto it
 CMIMEFormDataThis is a document part type for use in submitting multipart form data to a web server
 CMIMEItemPartThis is used to attach an item part to a MIME multipart document that is being streamed
 CMIMEMultipartA container class for multi-part MIME document objects which can be streamed to a std::ostream destination
 CMIMEMultipartFormThe Multipart form is a MIME multipart document specific for the construction and delivery of form data to a web server through a post method
 CMutexCounterThe Mutex Counter is a counter variable which can safely be incremented or decremented by multiple threads
 CMutexLockUsed to protect a section of code so that at any given time only a single thread can perform the protected operation
 CPersistEngineStream serialization of persistent classes
 CPersistObjectPersistObject
 CPointerUsed to create and manage referece counted pointers
 CProcessA class for containing portable process related functions that help create portable code
 CRandomFileThe purpose of this class is to define a base class for low level random file access that is portable between Win32 and Posix systems
 CReadLockUsed to protect a section of code through a ThreadLock for "read" access to the member function
 CRefObjectA reference countable object
 CRefPointerPointer to reference counted objects
 CSemaphoreLockUsed to protect a section of code through a semaphore so that only x instances of the member function may execute concurrently
 CSerialUsed as the base for all serial I/O services under APE
 CSerialPortThe serial port is an internal class which is attached to and then serviced by a specified SerialService thread
 CSerialServiceThe SerialService is a thead service object that is meant to service attached serial ports
 CSharedFileThis class defines a database I/O file service that can be shared by multiple processes
 CSharedMemPagerThe shared mempager uses a mutex to protect key access methods
 CSlogThe slog class is used to stream messages to the system's logging facility (syslogd)
 CStringTokenizerSplits delimited string into tokens
 CiteratorThe input forward iterator for tokens
 CNoSuchElementExceptionException thrown, if someone tried to read beyond the end of the tokens
 CSyncExceptionA sub-hierarchy for all task synchronizion related exceptions
 CSysTimeThis class is used to access non-reentrant date and time functions in the standard C library
 CTCPSessionThe TCP session is used to primarily to represent a client connection that can be managed on a seperate thread
 CTCPSocketTCP sockets are used for stream based connected sessions between two sockets
 CTCPStreamTCP streams are used to represent TCP client connections to a server by TCP protocol servers for accepting client connections
 CTCPV6SocketTCPV6 sockets are used for stream based connected sessions between two ipv6 sockets
 CThreadQueueSomewhat generic queue processing class to establish a producer consumer queue
 CThrExceptionA sub-hierarchy for thread exceptions
 CTimerPortTimer ports are used to provide synchronized timing events when managed under a "service thread" such as SocketService
 CTTYSessionThe TTYSession aggragates a TTYStream and a Common C++ Thread which is assumed to be the execution context that will be used to perform actual I/O operations
 CTTYStreamTTY streams are used to represent serial connections that are fully "streamable" objects using C++ stream classes and friends
 CttystreamA more natural C++ "ttystream" class for use by non-threaded applications
 CTypeManagerType manager for persistence engine
 CregistrationThis manages a registration to the typemanager - attempting to remove problems with the optimizers
 CUDPBroadcastRepresenting a UDP socket used for subnet broadcasts, this class provides an alternate binding and setPeer() capability for UDP sockets
 CUDPDuplexUDP duplex connections impliment a bi-directional point-to-point UDP session between two peer hosts
 CUDPReceiveRepresenting half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet
 CUDPSocketUDP sockets implement the TCP SOCK_DGRAM UDP protocol
 CUDPTransmitRepresenting half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet
 CWriteLockUsed to protect a section of code through a ThreadLock for "write" access to the member function
 CXMLParserXML streaming parser
 NucommonCommon namespace for all ucommon objects
 C_stream_operatorsAt least with gcc, linking of stream operators was broken
 Carray_pointerGeneric smart array class
 Carray_reuseAn array of reusable types
 CArrayReuseAn array of reusable objects
 CAtomicGeneric atomic class for referencing atomic objects and static functions
 CcounterAtomic counter class
 CspinlockAtomic spinlock class
 CAutoObjectA general purpose smart pointer helper class
 CAutoProtectGuard class to apply scope based mutex locking to objects
 CautoreleaseCreate a linked list of auto-releasable objects
 CBarrierA portable implementation of "barrier" thread sychronization
 CcharbufA template to create a character array that can be manipulated as a string
 CcidrA class to hold internet segment routing rules
 CCipherA generic data ciphering class
 CKeyCipher key formed by hash algorithm
 CConditionalThe conditional is a common base for other thread synchronizing classes
 CConditionalAccessThe conditional rw seperates scheduling for optizming behavior or rw locks
 CConditionalLockAn optimized and convertable shared lock
 CConditionMutexCondition Mutex to pair with conditionals
 CConditionVarThe condition Var allows multiple conditions to share a mutex
 CCountedObjectA base class for reference counted objects
 CcounterAutomatic integer counting class
 CDateUses a julian date representation of the current year, month, and day
 CDateNumberA number class that manipulates a string buffer that is also a date
 CDateTimeThe Datetime class uses a julian date representation of the current year, month, and day and a integer representation of the current time
 CDateTimeStringA DateTime string class
 CDetachedThreadA detached thread object that is stand-alone
 CDigestA cryptographic digest class
 CdirConvenience class for directories
 CDirPagerDirectory pager is a paged string list for directory file names
 CDLinkedObjectA double linked list object
 CdsoConvenience class for library plugins
 CExclusiveProtocolAn exclusive locking protocol interface base
 CLockingA kind of smart pointer object to support exclusive locking protocol
 CfilestreamStreamable file class based on low level fsys io
 CfsysA container for generic and o/s portable threadsafe file system functions
 CHMACA cryptographic message authentication code class
 CimemstreamStream class to read from a memory buffer
 CInputProtocolUsed for processing input
 CJoinableThreadA child thread object that may be joined by parent
 CkeydataData keys parsed from a keyfile
 CkeyvalueA key value set is used for iterative access
 CkeyfileTraditional keypair config file parsing class
 CKeyProtocolKey data protocol used for things like maps and ordered lists
 Clinked_pointerA smart pointer template for iterating linked lists
 Clinked_pointer< sockaddr_struct >Linked pointer for address lists
 Clinked_sockaddr_operationsHelper class for linked_pointer template
 Clinked_valueTemplate value class to embed data structure into a linked list
 CLinkedObjectCommon base class for all objects that can be formed into a linked list
 CListenSocketA bound socket used to listen for inbound socket connections
 CLockingProtocolCommon locking protocol
 Cmapped_arrayTemplate class to map typed vector into shared memory
 Cmapped_reuseTemplate class to map typed reusable objects into shared memory heap
 Cmapped_viewClass to access a named mapped segment published from another process
 CMappedMemoryConstruct or access a named section of memory
 CMappedReuseMap a reusable allocator over a named shared memory segment
 CmemallocA memory protocol pager for private heap manager
 CMemoryRedirectA redirection base class for the memory protocol
 CmempagerA managed private heap for small allocations
 CmemstringA string class that uses a cstring buffer that is fixed in memory
 CMutexGeneric non-recursive exclusive lock class
 CNamedObjectA linked object base class with members found by name
 CNamedTreeThe named tree class is used to form a tree oriented list of associated objects
 CNumberA number manipulation class
 Cobject_pointerTyped smart pointer class
 CObjectProtocolA common base class for all managed objects
 ComemstreamStream class to write to memory buffer
 COrderedIndexAn index container for maintaining an ordered list of objects
 COrderedObjectA linked object base class for ordered objects
 Cpaged_reuseA reusable private pool of reusable types
 CpagerMempager managed type factory for pager pool objects
 CPagerObjectThis is a base class for objects that may be created in pager pools
 CPagerPoolPager pool base class for managed memory pools
 CPagerReuseA mempager source of reusable objects
 CpipestreamStreamable pipe socket connection
 CpointerGeneric smart pointer class
 CPrintProtocolUsed for forming stream output
 CRandomCryptographically relevant random numbers
 CRecursiveMutexPortable recursive exclusive lock
 CReusableAllocatorClass for resource bound memory pools between threads
 CReusableObjectReusable objects for forming private heaps
 CRWLockA generic and portable implementation of Read/Write locking
 CreaderApply automatic scope based access locking to objects
 CwriterApply automatic scope based exclusive locking to objects
 CsarrayGenerate a typed sparse managed object array
 Csave_restoreSave and restore global objects in function call stack frames
 CsecureCommon secure socket support
 CSemaphoreA portable counting semaphore class
 CSeqCounterAutomatically return a sequence of untyped objects
 CsequenceA template to return a sequence of objects of a specified type
 Cshared_accessA kind of smart pointer object to support shared locking protocol
 CSharedProtocolAn exclusive locking access interface base
 CLockingA kind of smart pointer object to support shared locking protocol
 CshellA utility class for generic shell operations
 CcharoptCharacter option for shell parsing
 CcounteroptCounter option for shell parsing
 CerrormapA class to redefine error messages
 CflagoptFlag option for shell parsing
 CgroupoptGrouping option
 CnumericoptNumeric option for shell parsing
 COptionA base class used to create parsable shell options
 CstringoptText option for shell parsing
 CSocketA generic socket base class
 CaddressA generic socket address class
 CSparseObjectsA sparse array of managed objects
 CsstreamSecure socket using std::iostream
 CStreamBufferCommon stream buffer for std C++ i/o classes
 CStringA copy-on-write string class that operates by reference count
 CstringbufA string class that has a predefined string buffer
 CStringPagerString pager for storing lists of NULL terminated strings
 CmemberMember of string list
 CTCPServerA generic tcp server class
 CtcpstreamStreamable tcp connection between client and server
 CtemporaryManage temporary object stored on the heap
 CThreadAn abstract class for defining classes that operate as a thread
 CTimeUses a integer representation of the current time
 CTimedEventEvent notification to manage scheduled realtime threads
 CTimerTimer class to use when scheduling realtime events
 CTimerQueueA timer queue for timer events
 CeventA timer event object that lives on a timer queue
 CtoggleAutomatically toggle a bool on each reference
 CtreemapEmbed data objects into a tree structured memory database
 CTypeRefSmart pointer base class for auto-retained objects
 CCountedHeap base-class container for typeref objects
 CUStringA copy-on-write utf8 string class that operates by reference count
 Cutf8A core class of ut8 encoded string functions
 Cutf8_pointerPointer to utf8 encoded character data
 CZNumberA number manipulation class that maintains a zero lead filled string
 Chostaddr_internetAn object that holds ipv4 or ipv6 binary encoded host addresses
 Csockaddr_internetAn object that can hold a ipv4 or ipv6 socket address