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  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< T >
 Generate a typed sparse managed object array. More...
class  temporary< T >
 Manage temporary object stored on the heap. More...
class  object_value< T, O >
 Template for embedding a data structure into a reference counted object. More...
class  pointer< T, P >
 Typed smart pointer class. More...

Functions

void retain (Object *object)
 Convenence function to access object retention.
void release (Object *object)
 Convenence function to access object release.
Objectcopy (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.

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.


Function Documentation

Object* copy ( Object object  )  [inline]

Convenence function to access object copy.

Parameters:
object we are copying.

Definition at line 564 of file object.h.

Here is the call graph for this function:

template<class T >
bool is ( T &  object  )  [inline]

Convenience function to validate object.

This solves issues where some compilers get confused between bool and pointer operators.

Parameters:
object we are testing.
Returns:
true if object valid.

Definition at line 574 of file object.h.

template<class T >
bool isnull ( T &  object  )  [inline]

Convenience function to test pointer object.

This solves issues where some compilers get confused between bool and pointer operators.

Parameters:
object we are testing.
Returns:
true if object points to NULL.

Definition at line 584 of file object.h.

template<class T >
bool isnullp ( T *  object  )  [inline]

Convenience function to test pointer-pointer object.

This solves issues where some compilers get confused between bool and pointer operators.

Parameters:
object we are testing.
Returns:
true if object points to NULL.

Definition at line 594 of file object.h.

template<class T >
T&() max ( T &  o1,
T &  o2 
) [inline]

Convenience function to return max of two objects.

Parameters:
o1 to check.
o2 to check.
Returns:
max object.

Definition at line 613 of file object.h.

template<class T >
T&() min ( T &  o1,
T &  o2 
) [inline]

Convenience function to return min of two objects.

Parameters:
o1 to check.
o2 to check.
Returns:
min object.

Definition at line 625 of file object.h.

void release ( Object object  )  [inline]

Convenence function to access object release.

Parameters:
object we are releasing.

Definition at line 557 of file object.h.

void retain ( Object object  )  [inline]

Convenence function to access object retention.

Parameters:
object we are retaining.

Definition at line 550 of file object.h.

template<class T >
void swap ( T &  o1,
T &  o2 
) [inline]

Convenience function to swap objects.

Parameters:
o1 to swap.
o2 to swap.

Definition at line 603 of file object.h.

Here is the call graph for this function:


Generated on 28 Dec 2009 for UCommon by  doxygen 1.6.1