UCommon
Data Structures | Namespaces | Functions
ucommon/object.h File Reference

A common object base class with auto-pointer support. More...

#include <ucommon/platform.h>
#include <stdlib.h>
Include dependency graph for object.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  ucc::auto_delete
 A helper class for the temporary object template. More...
class  ucc::auto_pointer
 A general purpose smart pointer helper class. More...
class  ucc::CountedObject
 A base class for reference counted objects. More...
class  ucc::Object
 A common base class for all managed objects. More...
class  ucc::object_value< T, O >
 Template for embedding a data structure into a reference counted object. More...
class  ucc::pointer< T, P >
 Typed smart pointer class. More...
class  ucc::sarray< T >
 Generate a typed sparse managed object array. More...
class  ucc::sparse_array
 A sparse array of managed objects. More...
class  ucc::temporary< T >
 Manage temporary object stored on the heap. More...
class  ucc::Temporary
 Used as base class for temporary objects. More...

Namespaces

namespace  ucc
 

Common namespace for all ucommon objects.


Functions

Object * ucc::copy (Object *object)
 Convenience function to access object copy.
template<class T >
bool ucc::is (T &object)
 Convenience function to validate object assuming it is castable to bool.
template<class T >
bool ucc::isnull (T &object)
 Convenience function to test pointer object.
template<class T >
bool ucc::isnullp (T *object)
 Convenience function to test pointer-pointer object.
template<typename T >
T &() ucc::max (T &o1, T &o2)
 Convenience function to return max of two objects.
template<typename T >
T &() ucc::min (T &o1, T &o2)
 Convenience function to return min of two objects.
void ucc::release (Object *object)
 Convenience function to access object release.
void ucc::retain (Object *object)
 Convenience function to access object retention.
template<typename T >
void ucc::swap (T &o1, T &o2)
 Convenience function to swap objects.

Detailed Description

A common object base class with auto-pointer support.

A common object class is used which may be referenced counted and associated with a smart auto-pointer class. A lot of the things found here were inspired by working with Objective-C. Many of the classes are designed to offer automatic heap management through smart pointers and temporary objects controlled through the scope of the stack frame of method calls.

Definition in file object.h.