Data Structures |
class | array_pointer |
| Generic smart array class. More...
|
class | array_reuse |
| An array of reusable types. More...
|
class | ArrayReuse |
| An array of reusable objects. More...
|
class | assoc_pointer |
| A typed template for using a key association with typed objects. More...
|
class | atomic |
| Generic atomic class for referencing atomic objects and static functions. More...
|
class | auto_object |
| A general purpose smart pointer helper class. More...
|
class | auto_protect |
| A mutex locked object smart pointer helper class. More...
|
class | autorelease |
| Create a linked list of auto-releasable objects. More...
|
class | barrier |
| A portable implimentation of "barrier" thread sychronization. More...
|
class | bitmap |
| A class to access bit fields in external bitmaps. More...
|
class | Buffer |
| A thread-safe buffer for serializing and streaming class data. More...
|
class | bufferof |
| A templated typed class for buffering of objects. More...
|
class | BufferProtocol |
| Common buffer protocol class. More...
|
class | bufpager |
| Buffered pager for storing paged strings for character protocol. More...
|
class | CharacterProtocol |
| Common character processing protocol. More...
|
class | charbuf |
| A template to create a character array that can be manipulated as a string. More...
|
class | charfile |
| Access standard files through character protocol. More...
|
class | cidr |
| A class to hold internet segment routing rules. More...
|
class | Cipher |
| A generic data ciphering class. More...
|
class | Conditional |
| The conditional is a common base for other thread synchronizing classes. More...
|
class | ConditionalAccess |
| The conditional rw seperates scheduling for optizming behavior or rw locks. More...
|
class | ConditionalLock |
| An optimized and convertable shared lock. More...
|
class | CountedObject |
| A base class for reference counted objects. More...
|
class | counter |
| Automatic integer counting class. More...
|
class | Date |
| The Date class uses a julian date representation of the current year, month, and day. More...
|
class | DateNumber |
| A number class that manipulates a string buffer that is also a date. More...
|
class | DateTime |
| The Datetime class uses a julian date representation of the current year, month, and day and a integer representation of the current time. More...
|
class | DateTimeString |
| A DateTime string class. More...
|
class | DetachedThread |
| A detached thread object that is stand-alone. More...
|
class | Digest |
| A cryptographic digest class. More...
|
class | DLinkedObject |
| A double-linked Object, used for certain kinds of lists. More...
|
class | exclusive_lock |
| A kind of smart pointer object to support exclusive locking protocol. More...
|
class | ExclusiveProtocol |
| An exclusive locking protocol interface base. More...
|
class | fbuf |
| A generic file streaming class built from the buffer protocol. More...
|
class | filestream |
| Streamable tcp connection between client and server. More...
|
class | fsys |
| A container for generic and o/s portable threadsafe file system functions. More...
|
class | JoinableThread |
| A child thread object that may be joined by parent. More...
|
class | keyassoc |
| A class to hold memory pointers referenced by string names. More...
|
class | keydata |
| Data keys parsed from a keyfile. More...
|
class | keyfile |
| Traditional keypair config file parsing class. More...
|
class | keylist |
| A template for ordered index of typed name key mapped objects. More...
|
class | keymap |
| A template class for a hash map. More...
|
class | keypager |
| A template class for a hash pager. More...
|
class | linked_allocator |
| Linked allocator template to gather linked objects. More...
|
class | linked_pointer |
| A smart pointer template for iterating linked lists. More...
|
class | linked_pointer< struct sockaddr > |
| Linked pointer for address lists. More...
|
class | linked_value |
| Template value class to embed data structure into a linked list. More...
|
class | LinkedAllocator |
| Linked allocator helper for linked_allocator template. More...
|
class | LinkedList |
| A double linked list object. More...
|
class | LinkedObject |
| Common base class for all objects that can be formed into a linked list. More...
|
class | ListenSocket |
| A bound socket used to listen for inbound socket connections. More...
|
class | locked_instance |
| A templated smart pointer instance for lock protected objects. More...
|
class | locked_pointer |
| Templated locked pointer for referencing locked objects of specific type. More...
|
class | locked_release |
| Auto-pointer support class for locked objects. More...
|
class | LockedPointer |
| An object pointer that uses mutex to assure thread-safe singleton use. More...
|
class | LockingProtocol |
| Common locking protocol. More...
|
class | mapped_array |
| Template class to map typed vector into shared memory. More...
|
class | mapped_reuse |
| Template class to map typed reusable objects into shared memory heap. More...
|
class | mapped_view |
| Class to access a named mapped segment published from another process. More...
|
class | MappedMemory |
| Construct or access a named section of memory. More...
|
class | MappedReuse |
| Map a reusable allocator over a named shared memory segment. More...
|
class | memalloc |
| A memory protocol pager for private heap manager. More...
|
class | MemoryRedirect |
| A redirection base class for the memory protocol. More...
|
class | mempager |
| A managed private heap for small allocations. More...
|
class | memstring |
| A string class that uses a cstring buffer that is fixed in memory. More...
|
class | MemVector |
| Vector with fixed size member list. More...
|
class | multimap |
| Embed data objects into a multipap structured memory database. More...
|
class | MultiMap |
| A multipath linked list where membership is managed in multiple lists. More...
|
class | Mutex |
| Generic non-recursive exclusive lock class. More...
|
class | mutex_pointer |
| Typed smart locked pointer class. More...
|
class | named_value |
| Template value class to embed data structure into a named list. More...
|
class | NamedObject |
| A linked object base class with members found by name. More...
|
class | NamedTree |
| The named tree class is used to form a tree oriented list of associated objects. More...
|
class | Number |
| A number manipulation class. More...
|
class | object_pointer |
| Typed smart pointer class. More...
|
class | object_value |
| Template for embedding a data structure into a reference counted object. More...
|
class | ObjectProtocol |
| A common base class for all managed objects. More...
|
class | ObjectQueue |
| A queue of double linked object. More...
|
class | objfifo |
| Template for typesafe basic object fifo container. More...
|
class | objqueue |
| Template for typesafe basic object queue container. More...
|
class | objstack |
| Template for typesafe basic object stack container. More...
|
class | OrderedIndex |
| An index container for maintaining an ordered list of objects. More...
|
class | OrderedObject |
| A linked object base class for ordered objects. More...
|
class | paged_reuse |
| A reusable private pool of reusable types. More...
|
class | pager |
| Mempager managed type factory for pager pool objects. More...
|
class | PagerObject |
| This is a base class for objects that may be created in pager pools. More...
|
class | PagerPool |
| Pager pool base class for managed memory pools. More...
|
class | PagerReuse |
| A mempager source of reusable objects. More...
|
class | PersistEngine |
| Stream serialization of persistent classes. More...
|
class | PersistObject |
| PersistObject. More...
|
class | pipestream |
| Streamable tcp connection between client and server. More...
|
class | pointer |
| Generic smart pointer class. More...
|
class | queue |
| Manage a thread-safe queue of objects through reference pointers. More...
|
class | queueof |
| A templated typed class for thread-safe queue of object pointers. More...
|
class | Random |
| Cryptographically relevant random numbers. More...
|
class | RecursiveMutex |
| Portable recursive exclusive lock. More...
|
class | ReusableAllocator |
| Class for resource bound memory pools between threads. More...
|
class | ReusableObject |
| Reusable objects for forming private heaps. More...
|
class | sarray |
| Generate a typed sparse managed object array. More...
|
class | secure |
| Common secure socket support. More...
|
class | Semaphore |
| A portable counting semaphore class. More...
|
class | SeqCounter |
| Automatically return a sequence of untyped objects. More...
|
class | sequence |
| A template to return a sequence of objects of a specified type. More...
|
class | shared_instance |
| A templated smart pointer instance for shared singleton typed objects. More...
|
class | shared_lock |
| A kind of smart pointer object to support shared locking protocol. More...
|
class | shared_pointer |
| Templated shared pointer for singleton shared objects of specific type. More...
|
class | shared_release |
| Auto-pointer support class for shared singleton objects. More...
|
class | SharedObject |
| Shared singleton object. More...
|
class | SharedPointer |
| The shared pointer is used to manage a singleton instance of shared object. More...
|
class | SharedProtocol |
| An exclusive locking protocol interface base. More...
|
class | shell |
| A utility class for generic shell operations. More...
|
class | Socket |
| A generic socket base class. More...
|
class | sparse_array |
| A sparse array of managed objects. More...
|
class | SSLBuffer |
| Secure socket buffer. More...
|
class | sstream |
| Secure socket using std::iostream. More...
|
class | stack |
| Manage a thread-safe stack of objects through reference pointers. More...
|
class | stackof |
| A templated typed class for thread-safe stack of object pointers. More...
|
class | StreamProtocol |
| Common stream protocol for std C++ i/o classes. More...
|
class | string |
| A copy-on-write string class that operates by reference count. More...
|
class | stringbuf |
| A string class that has a predefined string buffer. More...
|
class | TCPBuffer |
| A generic tcp socket class that offers i/o buffering. More...
|
class | TCPServer |
| A generic tcp server class. More...
|
class | tcpstream |
| Streamable tcp connection between client and server. More...
|
class | temp_array |
| Manage temporary array stored on the heap. More...
|
class | temporary |
| Manage temporary object stored on the heap. More...
|
class | Thread |
| An abstract class for defining classes that operate as a thread. More...
|
class | ThreadLock |
| A generic and portable implimentation of Read/Write locking. More...
|
class | Time |
| The Time class uses a integer representation of the current time. More...
|
class | TimedEvent |
| Event notification to manage scheduled realtime threads. More...
|
class | Timer |
| Timer class to use when scheduling realtime events. More...
|
class | TimerQueue |
| A timer queue for timer events. More...
|
class | toggle |
| Automatically toggle a bool on each reference. More...
|
class | treemap |
| Embed data objects into a tree structured memory database. More...
|
class | TypeManager |
| Type manager for persistence engine. More...
|
class | UString |
| A copy-on-write utf8 string class that operates by reference count. More...
|
class | utf8 |
| A core class of ut8 encoded string functions. More...
|
class | utf8_pointer |
| Pointer to utf8 encoded character data. More...
|
class | Vector |
| A managed vector for generic object pointers. More...
|
class | vectorbuf |
| Allocated vector list of a specified type. More...
|
class | vectorof |
| A templated vector for a list of a specific Object subtype. More...
|
class | XMLParser |
| XML streaming parser. More...
|
class | ZNumber |
| A number manipulation class that maintains a zero lead filled string. More...
|
Typedefs |
typedef ConditionalAccess | accesslock_t |
| Convenience type for scheduling access.
|
typedef barrier | barrier_t |
| Convenience type for using thread barriers.
|
typedef Cipher | cipher_t |
| Convenience type for generic ciphers.
|
typedef ConditionalLock | condlock_t |
| Convenience type for using conditional locks.
|
typedef counter | counter_t |
| A convenience typecast for integer counters.
|
typedef Date | date_t |
| Convenience type for using Date object.
|
typedef DateTime | datetime_t |
| Convenience type for using DateTime object.
|
typedef DateTimeString | datetimestring_t |
| Convenience type for using DateTimeString object.
|
typedef Digest | digest_t |
| Convenience type for generic digests.
|
typedef void * | dir_t |
| Convenience type for directory scan operations.
|
typedef exclusive_lock | exlock_t |
| Convenience type to use for object referencing an exclusive object.
|
typedef queue | fifo_t |
| Convenience type for using thread-safe object fifo (queue).
|
typedef fbuf | file_t |
| Convenience type for buffered file operations.
|
typedef fsys | fsys_t |
| Convience type for fsys.
|
typedef LinkedObject * | LinkedIndex |
| Convenience typedef for root pointers of single linked lists.
|
typedef void * | mem_t |
| Convenience type for loader operations.
|
typedef Mutex | mutex_t |
| Convenience type for using exclusive mutex locks.
|
typedef class PersistObject *(* | NewPersistObjectFunction )(void) |
typedef Number | number_t |
| A convenience type for number.
|
typedef OrderedIndex | objfifo_t |
| Convenience type for a fifo of linked objects.
|
typedef ObjectQueue | objqueue_t |
| Convenience type for a queue of linked objects.
|
typedef ObjectStack | objstack_t |
| Convenience type for a stack of linked objects.
|
typedef RecursiveMutex | rexlock_t |
| Convenience type for using recursive exclusive locks.
|
typedef ThreadLock | rwlock_t |
| Convenience type for using read/write locks.
|
typedef Semaphore | semaphore_t |
| Convenience type for using counting semaphores.
|
typedef shell | shell_t |
| Convenience type to manage and pass shell objects.
|
typedef shared_lock | shlock_t |
| Convenience type to use for object referencing a shared object.
|
typedef Cipher::Key | skey_t |
| Convenience type for generic cipher key.
|
typedef Socket | socket |
| A convenience class for socket.
|
typedef SSLBuffer | ssl_t |
| Convenience type for secure socket.
|
typedef stack | stack_t |
| Convenience type for using thread-safe object stacks.
|
typedef string | String |
| A convenience type when mixing std::string in old compilers that are bad with namespaces.
|
typedef string | string_t |
| A convenience type for string.
|
typedef unsigned short | strsize_t |
| A convenience class for size of strings.
|
typedef TCPBuffer | tcp_t |
| Convenience type for pure tcp sockets.
|
typedef TCPServer | tcpserv_t |
typedef TimedEvent | timedevent_t |
| Convenience type for using timed events.
|
typedef Timer | timer_t |
| A convenience type for timers.
|
typedef toggle | toggle_t |
| A convenience typecast for auto-toggled bools.
|
typedef TimerQueue::event | TQEvent |
| A convenience type for timer queue timer events.
|
typedef int16_t | ucs2_t |
| 16 bit unicode character code.
|
typedef int32_t | ucs4_t |
| 32 bit unicode character code.
|
typedef void * | unicode_t |
| Resolves issues where wchar_t is not defined.
|
typedef UString | ustring_t |
| Convenience type for utf8 encoded strings.
|
typedef utf8_pointer | utf8_t |
| Convenience type for utf8_pointer strings.
|
typedef ZNumber | znumber_t |
| A convenience type for znumber.
|
Functions |
struct sockaddr * | _getaddrinfo (struct addrinfo *addrinfo) |
| Helper function for linked_pointer<struct sockaddr>.
|
socket_t | _getaddrsock (struct addrinfo *addrinfo) |
| Helper function for linked_pointer<struct sockaddr>.
|
struct addrinfo * | _nextaddrinfo (struct addrinfo *addrinfo) |
| Helper function for linked_pointer<struct sockaddr>.
|
char * | _STR (String &s) |
char * | _TEXT (char *s) |
| Abusive compilers.
|
template<typename T > |
const T | abs (const T &value) |
| Template for absolute value of a type.
|
void | access (condlock_t &lock) |
| Convenience function for shared access to a conditional lock.
|
void | access (accesslock_t &lock) |
| Convenience function to shared read schedule conditional access.
|
void | access (SharedProtocol *object) |
| Convenience function to access (lock) shared object through it's protocol.
|
void | acquire (mutex_t &mutex) |
| Convenience function to acquire a mutex.
|
void | add (ObjectQueue &queue, DLinkedObject *object) |
| Add a linked object to end of queue of objects.
|
void | add (OrderedIndex &fifo, LinkedObject *object) |
| Add a linked object onto a fifo of linked objects.
|
void | add (ObjectStack &stack, LinkedObject *object) |
| Add a linked object onto a stack of linked objects.
|
struct sockaddr * | addr (socket::address &address) |
| A convenience function to convert a socket address list into a socket address.
|
struct addrinfo * | addrinfo (socket::address &address) |
| A convenience function to convert a socket address list into an addrinfo.
|
bool | case_eq (char const *s1, char const *s2, size_t size) |
| Compare two null terminated strings if equal for a specified size ignoring case.
|
bool | case_eq (char const *s1, char const *s2) |
| Compare two null terminated strings if equal ignoring case.
|
void | commit (condlock_t &lock) |
| Convenience function to commit and release an exclusively locked conditional lock.
|
void | commit (accesslock_t &lock) |
| Convenience function to commit an exclusive access lock.
|
ObjectProtocol * | copy (ObjectProtocol *object) |
| Convenience function to access object copy.
|
template<typename T > |
T * | dup (const T &object) |
| Convenience function to duplicate object pointer to heap.
|
template<> |
char * | dup< char > (const char &object) |
template<typename T > |
void | dupfree (T object) |
template<> |
void | dupfree< char * > (char *object) |
template<> |
void | dupfree< ucs2_t * > (ucs2_t *string) |
template<> |
void | dupfree< ucs4_t * > (ucs4_t *string) |
template<> |
void | dupfree< unicode_t > (unicode_t string) |
bool | eq (String &s1, String &s2) |
| Compare two string objects if equal.
|
bool | eq (char const *s1, char const *s2, size_t size) |
| Compare two null terminated strings if equal up to specified size.
|
bool | eq (char const *s1, char const *s2) |
| Compare two null terminated strings if equal.
|
bool | eq (struct sockaddr_storage *s1, struct sockaddr_storage *s2) |
| Compare two stored socket addresses to see if equal.
|
bool | eq (struct sockaddr *s1, struct sockaddr *s2) |
| Compare two socket addresses to see if equal.
|
bool | exclusive (rwlock_t &lock, timeout_t timeout=Timer::inf) |
| Convenience function for exclusive write access to a read/write lock.
|
void | exclusive (condlock_t &lock) |
| Convenience function to exclusively lock shared conditional lock.
|
void | exclusive (SharedProtocol *object) |
| Convenience function to exclusive lock shared object through it's protocol.
|
bool | host_eq (struct sockaddr *s1, struct sockaddr *s2) |
| Compare two host addresses to see if equal.
|
bool | ieq (String &s1, String &s2) |
| Compare two string objects if equal ignoring case.
|
bool | ieq (char const *s1, char const *s2, size_t size) |
bool | ieq (char const *s1, char const *s2) |
bool | ieq (struct sockaddr *s1, struct sockaddr *s2) |
template<class T > |
bool | is (T &object) |
| Convenience function to validate object assuming it is castable to bool.
|
template<typename T > |
bool | isnull (T &object) |
| Convenience function to test pointer object.
|
template<typename T > |
bool | isnullp (T *object) |
| Convenience function to test pointer-pointer object.
|
void | lock (rexlock_t &lock) |
| Convenience function to lock a shared recursive mutex lock.
|
void | lock (ExclusiveProtocol *object) |
| Convenience function to exclusively lock an object through it's protocol.
|
template<typename T > |
const T() | max (const T &v1, const T &v2) |
| Template for max value of a type.
|
template<typename T > |
T &() | max (T &o1, T &o2) |
| Convenience function to return max of two objects.
|
template<typename T > |
const T() | min (const T &v1, const T &v2) |
| Template for min value of a type.
|
template<typename T > |
T &() | min (T &o1, T &o2) |
| Convenience function to return min of two objects.
|
void | modify (condlock_t &lock) |
| Convenience function to exclusively aquire a conditional lock.
|
void | modify (accesslock_t &lock) |
| Convenience function to exclusively schedule conditional access.
|
DLinkedObject * | pop (ObjectQueue &queue) |
| Pop a linked object from end of queue.
|
LinkedObject * | pop (OrderedIndex &fifo) |
| Pop a linked object from a fifo of linked objects.
|
LinkedObject * | pop (ObjectStack &stack) |
| Pop a linked object from a stack of linked objects.
|
DLinkedObject * | pull (ObjectQueue &queue) |
| Pull a linked object from start of a queue.
|
LinkedObject * | pull (OrderedIndex &fifo) |
| Pop a linked object from a fifo of linked objects.
|
LinkedObject * | pull (ObjectStack &stack) |
| Pop a linked object from a stack of linked objects.
|
ObjectProtocol * | pull (fifo_t &fifo, timeout_t timeout=Timer::inf) |
| Convenience function to pull an object from a fifo.
|
ObjectProtocol * | pull (stack_t &stack, timeout_t timeout=Timer::inf) |
| Convenience function to pull an object from a stack.
|
void | push (ObjectQueue &queue, DLinkedObject *object) |
| Push a linked object to start of queue.
|
void | push (OrderedIndex &fifo, LinkedObject *object) |
| Push a linked object onto a fifo of linked objects.
|
void | push (ObjectStack &stack, LinkedObject *object) |
| Push a linked object onto a stack of linked objects.
|
void | push (fifo_t &fifo, ObjectProtocol *object) |
| Convenience function to push an object onto a fifo.
|
void | push (stack_t &stack, ObjectProtocol *object) |
| Convenience function to push an object onto a stack.
|
void | release (rexlock_t &lock) |
| Convenience function to release a shared recursive mutex lock.
|
void | release (rwlock_t &lock) |
| Convenience function to release a shared lock.
|
void | release (condlock_t &lock) |
| Convenience function to release shared access to a conditional lock.
|
void | release (accesslock_t &lock) |
| Convenience function to release an access lock.
|
void | release (mutex_t &mutex) |
| Convenience function to release a mutex.
|
void | release (semaphore_t &semaphore) |
| Convenience function to release a semaphore.
|
void | release (ObjectProtocol *object) |
| Convenience function to access object release.
|
void | release (shlock_t &reference) |
| Convenience function to release a reference to a shared lock.
|
void | release (exlock_t &reference) |
| Convenience function to release a reference to an exclusive lock.
|
void | release (SharedProtocol *object) |
| Convenience function to unlock shared object through it's protocol.
|
void | remove (fifo_t &fifo, ObjectProtocol *object) |
| Convenience function to remove an object from a fifo.
|
void | remove (stack_t &stack, ObjectProtocol *object) |
| Convenience function to remove an object from a stack.
|
void | retain (ObjectProtocol *object) |
| Convenience function to access object retention.
|
bool | share (rwlock_t &lock, timeout_t timeout=Timer::inf) |
| Convenience function for shared read access to a read/write lock.
|
void | share (condlock_t &lock) |
| Convenience function to restore shared access on a conditional lock.
|
void | share (SharedProtocol *object) |
| Convenience function to restore shared locking for object through it's protocol.
|
void | start (DetachedThread *thread, int priority=0) |
| Convenience function to start a detached thread.
|
void | start (JoinableThread *thread, int priority=0) |
| Convenience function to start a joinable thread.
|
String | str (CharacterProtocol &cp, strsize_t size) |
String | str (double value) |
String | str (unsigned long value) |
String | str (long value) |
String | str (unsigned short value) |
String | str (short value) |
String | str (String &string) |
String | str (const char *string) |
String | str (Socket &so, strsize_t size) |
String | str (charfile &fp, strsize_t size) |
int | stricmp (const char *string1, const char *string2) |
| Convenience function for case insensitive null terminated string compare.
|
int | strnicmp (const char *string1, const char *string2, size_t max) |
| Convenience function for case insensitive null terminated string compare.
|
ucs4_t * | strudup (const char *string) |
ucs2_t * | strwdup (const char *string) |
template<typename T > |
void | swap (T &o1, T &o2) |
| Convenience function to swap objects.
|
template<> |
void | swap< string_t > (string_t &s1, string_t &s2) |
unicode_t | unidup (const char *string) |
void | unlock (ExclusiveProtocol *object) |
| Convenience function to unlock an exclusive object through it's protocol.
|
void | wait (semaphore_t &semaphore, timeout_t timeout=Timer::inf) |
| Convenience function to wait on a semaphore.
|
void | wait (barrier_t &barrier) |
| Convenience function to wait on a barrier.
|
void | zerofill (void *addr, size_t size) |
Variables |
charfile | cstderr |
charfile | cstdin |
charfile | cstdout |
Common namespace for all ucommon objects.
We are using a common namespace to easily separate ucommon from other libraries. This namespace usage is set to the package name and controlled by macros so future changes will be hidden from user applications so long as the namespace macros (UCOMMON_NAMESPACE, NAMESPACE_UCOMMON, END_NAMESPACE) are used in place of direct namespace declarations.