Common namespace for all ucommon objects.
|
Data Structures |
class | Exclusive |
| An exclusive locking protocol interface base. More...
|
class | Shared |
| An exclusive locking protocol interface base. More...
|
class | exclusive_lock |
| A kind of smart pointer object to support exclusive locking protocol. More...
|
class | shared_lock |
| A kind of smart pointer object to support shared locking protocol. More...
|
class | bitmap |
| A class to access bit fields in external bitmaps. More...
|
class | counter |
| Automatic integer counting class. More...
|
class | SeqCounter |
| Automatically return a sequence of untyped objects. More...
|
class | toggle |
| Automatically toggle a bool on each reference. More...
|
class | sequence |
| A template to return a sequence of objects of a specified type. More...
|
class | fsys |
| A container for generic and o/s portable threadsafe file system functions. More...
|
class | keydata |
| Data keys parsed from a keyfile. More...
|
class | keyfile |
| Traditional keypair config file parsing class. More...
|
class | LinkedObject |
| Common base class for all objects that can be formed into a linked list. More...
|
class | ReusableObject |
| Reusable objects for forming private heaps. 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 | 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 | LinkedList |
| A double linked list object. More...
|
class | MultiMap |
| A multipath linked list where membership is managed in multiple lists. More...
|
class | named_value |
| Templated value class to embed data structure into a named list. More...
|
class | linked_value |
| Templated value class to embed data structure into a linked list. More...
|
class | linked_pointer |
| A templated smart pointer for iterating linked lists. More...
|
class | multimap |
| Embed data objects into a multipap structured memory database. More...
|
class | treemap |
| Embed data objects into a tree structured memory database. More...
|
class | keymap |
| A templated class for a hash map. More...
|
class | keylist |
| A template for ordered index of typed name key mapped objects. 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 | mapped_array |
| Template class to map typed vector into shared memory. More...
|
class | mapped_reuse |
| Template class to map typed resusble objects into shared memory heap. More...
|
class | mapped_view |
| Class to access a named mapped segment published from another process. More...
|
class | memalloc |
| An alternate memory pager private heap manager. More...
|
class | mempager |
| A managed private heap for small allocations. More...
|
class | autorelease |
| Create a linked list of auto-releasable 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 | keyassoc |
| A class to hold memory pointers referenced by string names. More...
|
class | assoc_pointer |
| A typed template for using a key association with typed objects. More...
|
class | pager |
| Mempager managed type factory for pager pool objects. More...
|
class | Object |
| A common base class for all managed objects. More...
|
class | CountedObject |
| A base class for reference counted objects. More...
|
class | Temporary |
| Used as base class for temporary objects. More...
|
class | auto_delete |
| A helper class for the temporary object template. More...
|
class | auto_pointer |
| A general purpose smart pointer helper class. More...
|
class | sparse_array |
| A sparse array of managed objects. More...
|
class | sarray |
| Generate a typed sparse managed object array. More...
|
class | temporary |
| Manage temporary object stored on the heap. More...
|
class | object_value |
| Template for embedding a data structure into a reference counted object. More...
|
class | pointer |
| Typed smart pointer class. More...
|
class | cidr |
| A class to hold internet segment routing rules. More...
|
class | Socket |
| A generic socket base class. More...
|
class | ListenSocket |
| A bound socket used to listen for inbound socket connections. More...
|
class | string |
| A copy-on-write string class that operates by reference count. More...
|
class | memstring |
| A string class that uses a cstring buffer that is fixed in memory. More...
|
class | StringFormat |
| A string conversion class for use as a base class in objects which can transform themselves into string representations. More...
|
class | charbuf |
| A template to create a character array that can be manipulated as a string. More...
|
class | stringbuf |
| A string class that has a predefined string buffer. 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 | TimedEvent |
| Event notification to manage scheduled realtime threads. More...
|
class | rexlock |
| Portable recursive exclusive lock. More...
|
class | rwlock |
| A generic and portable implimentation of Read/Write locking. More...
|
class | ReusableAllocator |
| Class for resource bound memory pools between threads. More...
|
class | ConditionalLock |
| An optimized and convertable shared lock. More...
|
class | barrier |
| A portable implimentation of "barrier" thread sychronization. More...
|
class | semaphore |
| A portable counting semaphore class. More...
|
class | mutex |
| Generic non-recursive exclusive lock class. More...
|
class | auto_protect |
| A mutex locked object smart pointer helper class. More...
|
class | LockedPointer |
| An object pointer that uses mutex to assure thread-safe singleton use. More...
|
class | SharedObject |
| Shared singleton object. More...
|
class | SharedPointer |
| The shared pointer is used to manage a singleton instance of shared object. More...
|
class | Thread |
| An abstract class for defining classes that operate as a thread. More...
|
class | JoinableThread |
| A child thread object that may be joined by parent. More...
|
class | DetachedThread |
| A detached thread object that is stand-alone. More...
|
class | queue |
| Manage a thread-safe queue of objects through reference pointers. More...
|
class | stack |
| Manage a thread-safe stack of objects through reference pointers. More...
|
class | Buffer |
| A thread-safe buffer for serializing and streaming class data. More...
|
class | locked_release |
| Auto-pointer support class for locked objects. More...
|
class | shared_release |
| Auto-pointer support class for shared singleton objects. More...
|
class | queueof |
| A templated typed class for thread-safe queue of object pointers. More...
|
class | stackof |
| A templated typed class for thread-safe stack of object pointers. More...
|
class | bufferof |
| A templated typed class for buffering of objects. More...
|
class | shared_pointer |
| Templated shared pointer for singleton shared objects of specific type. More...
|
class | locked_pointer |
| Templated locked pointer for referencing locked objects of specific type. More...
|
class | locked_instance |
| A templated smart pointer instance for lock protected objects. More...
|
class | shared_instance |
| A templated smart pointer instance for shared singleton typed objects. More...
|
class | mutex_pointer |
| Typed smart locked pointer class. More...
|
class | Timer |
| Timer class to use when scheduling realtime events. More...
|
class | TimerQueue |
| A timer queue for timer events. More...
|
class | ArrayReuse |
| An array of reusable objects. More...
|
class | PagerReuse |
| A mempager source of reusable objects. More...
|
class | Vector |
| A managed vector for generic object pointers. More...
|
class | MemVector |
| Vector with fixed size member list. More...
|
class | vectorof |
| A templated vector for a list of a specific Object subtype. More...
|
class | array_reuse |
| An array of reusable types. More...
|
class | paged_reuse |
| A reusable private pool of reusable types. More...
|
class | vectorbuf |
| Allocated vector list of a specified type. More...
|
class | XMLParser |
| XML streaming parser. More...
|
Typedefs |
typedef exclusive_lock | exlock_t |
| Convenience type to use for object referencing an exclusive object.
|
typedef shared_lock | shlock_t |
| Convenience type to use for object referencing a shared object.
|
typedef counter | counter_t |
| A convenience typecast for integer counters.
|
typedef toggle | toggle_t |
| A convenience typecast for auto-toggled bools.
|
typedef void * | dir_t |
| Convenience type for directory scan operations.
|
typedef void * | mem_t |
| Convenience type for loader operations.
|
typedef fsys | fsys_t |
| Convience type for fsys.
|
typedef LinkedObject * | LinkedIndex |
| Convenience typedef for root pointers of single linked lists.
|
typedef Socket | socket |
| A convenience class for socket.
|
typedef unsigned short | strsize_t |
| A convenience class for size of strings.
|
typedef string | string_t |
| A convenience type for string.
|
typedef string | String |
| A convenience type when mixing std::string in old compilers that are bad with namespaces.
|
typedef ConditionalLock | condlock_t |
| Convenience type for using conditional locks.
|
typedef ConditionalAccess | accesslock_t |
| Convenience type for scheduling access.
|
typedef TimedEvent | timedevent_t |
| Convenience type for using timed events.
|
typedef mutex | mutex_t |
| Convenience type for using exclusive mutex locks.
|
typedef mutex | Mutex |
| Convenience type for using exclusive mutex on systems which define "mutex" (solaris) already to avoid type confusion.
|
typedef rwlock | rwlock_t |
| Convenience type for using read/write locks.
|
typedef rexlock | rexlock_t |
| Convenience type for using recursive exclusive locks.
|
typedef semaphore | semaphore_t |
| Convenience type for using counting semaphores.
|
typedef barrier | barrier_t |
| Convenience type for using thread barriers.
|
typedef stack | stack_t |
| Convenience type for using thread-safe object stacks.
|
typedef queue | fifo_t |
| Convenience type for using thread-safe object fifo (queue).
|
typedef TimerQueue::event | TQEvent |
| A convenience type for timer queue timer events.
|
typedef Timer | timer_t |
| A convenience type for timers.
|
Functions |
void | lock (Exclusive *object) |
| Convenience function to exclusively lock an object through it's protocol.
|
void | unlock (Exclusive *object) |
| Convenience function to unlock an exclusive object through it's protocol.
|
void | access (Shared *object) |
| Convenience function to access (lock) shared object through it's protocol.
|
void | release (Shared *object) |
| Convenience function to unlock shared object through it's protocol.
|
void | exclusive (Shared *object) |
| Convenience function to exclusive lock shared object through it's protocol.
|
void | share (Shared *object) |
| Convenience function to restore shared locking for object through it's protocol.
|
void | release (exlock_t &reference) |
| Convenience function to release a reference to an exclusive lock.
|
void | release (shlock_t &reference) |
| Convenience function to release a reference to a shared lock.
|
void | retain (Object *object) |
| Convenence function to access object retention.
|
void | release (Object *object) |
| Convenence function to access object release.
|
Object * | copy (Object *object) |
| Convenence function to access object copy.
|
template<class T > |
bool | is (T &object) |
| Convenience function to validate object.
|
template<class T > |
bool | isnull (T &object) |
| Convenience function to test pointer object.
|
template<class T > |
bool | isnullp (T *object) |
| Convenience function to test pointer-pointer object.
|
template<class T > |
void | swap (T &o1, T &o2) |
| Convenience function to swap objects.
|
template<class T > |
T &() | max (T &o1, T &o2) |
| Convenience function to return max of two objects.
|
template<class T > |
T &() | min (T &o1, T &o2) |
| Convenience function to return min of two objects.
|
struct addrinfo * | addrinfo (socket::address &address) |
| A convenience function to convert a socket address list into an addrinfo.
|
struct sockaddr * | addr (socket::address &address) |
| A convenience function to convert a socket address list into a socket address.
|
int | stricmp (char *string1, char *string2) |
| Convenience function for case insensitive null terminated string compare.
|
int | strnicmp (char *string1, char *string2, size_t max) |
| Convenience function for case insensitive null terminated string compare.
|
void | start (JoinableThread *thread, int priority=0) |
| Convenience function to start a joinable thread.
|
void | start (DetachedThread *thread, int priority=0) |
| Convenience function to start a detached thread.
|
void | wait (barrier_t &barrier) |
| Convenience function to wait on a barrier.
|
void | wait (semaphore_t &semaphore, timeout_t timeout=Timer::inf) |
| Convenience function to wait on a semaphore.
|
void | release (semaphore_t &semaphore) |
| Convenience function to release a semaphore.
|
void | acquire (mutex_t &mutex) |
| Convenience function to acquire a mutex.
|
void | release (mutex_t &mutex) |
| Convenience function to release a mutex.
|
void | modify (accesslock_t &lock) |
| Convenience function to exclusively schedule conditional access.
|
void | access (accesslock_t &lock) |
| Convenience function to shared read schedule conditional access.
|
void | release (accesslock_t &lock) |
| Convenience function to release an access lock.
|
void | commit (accesslock_t &lock) |
| Convenience function to commit an exclusive access lock.
|
void | exclusive (condlock_t &lock) |
| Convenience function to exclusively lock shared conditional lock.
|
void | share (condlock_t &lock) |
| Convenience function to restore shared access on a conditional lock.
|
void | modify (condlock_t &lock) |
| Convenience function to exclusively aquire a conditional lock.
|
void | commit (condlock_t &lock) |
| Convenience function to commit and release an exclusively locked conditional lock.
|
void | access (condlock_t &lock) |
| Convenience function for shared access to a conditional lock.
|
void | release (condlock_t &lock) |
| Convenience function to release shared access to a conditional lock.
|
bool | exclusive (rwlock_t &lock, timeout_t timeout=Timer::inf) |
| Convenience function for exclusive write access to a read/write lock.
|
bool | share (rwlock_t &lock, timeout_t timeout=Timer::inf) |
| Convenience function for shared read access to a read/write lock.
|
void | release (rwlock_t &lock) |
| Convenience function to release a shared lock.
|
void | lock (rexlock_t &lock) |
| Convenience function to lock a shared recursive mutex lock.
|
void | release (rexlock_t &lock) |
| Convenience function to release a shared recursive mutex lock.
|
void | push (stack_t &stack, Object *object) |
| Convenience function to push an object onto a stack.
|
Object * | pull (stack_t &stack, timeout_t timeout=Timer::inf) |
| Convenience function to pull an object from a stack.
|
void | remove (stack_t &stack, Object *object) |
| Convenience function to remove an object from a stack.
|
void | push (fifo_t &fifo, Object *object) |
| Convenience function to push an object onto a fifo.
|
Object * | pull (fifo_t &fifo, timeout_t timeout=Timer::inf) |
| Convenience function to pull an object from a fifo.
|
void | remove (fifo_t &fifo, Object *object) |
| Convenience function to remove an object from a fifo.
|
Common namespace for all ucommon objects.
We are using a common namespace to easily seperate ucommon from other libraries. This namespace may be changed from ucc to gnu when we merge code with GNU Common C++. In any case, it is controlled by macros and so any 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.