UCommon
Public Member Functions
ucommon::sarray< T > Class Template Reference

Generate a typed sparse managed object array. More...

#include <object.h>

Inheritance diagram for ucommon::sarray< T >:
Inheritance graph
[legend]
Collaboration diagram for ucommon::sarray< T >:
Collaboration graph
[legend]

Public Member Functions

T & at (unsigned offset)
 
T * get (unsigned offset)
 Get typed member of array. More...
 
const T * operator() (unsigned offset) const
 
void operator() (unsigned offset, T value)
 
T & operator[] (unsigned offset)
 Array operation to access member object. More...
 
 sarray (unsigned size)
 Generate a sparse typed array of specified size. More...
 
- Public Member Functions inherited from ucommon::SparseObjects
unsigned count (void)
 Get count of array elements. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ucommon::SparseObjects
ObjectProtocolget (unsigned offset)
 Get (reference) an object at a specified offset in the array. More...
 
virtual ObjectProtocolinvalid (void) const
 
void purge (void)
 Purge the array by deleting all created objects.
 
 SparseObjects (unsigned size)
 Create a sparse array of known size. More...
 
virtual ~SparseObjects ()
 Destroy sparse array and delete all generated objects.
 

Detailed Description

template<class T>
class ucommon::sarray< T >

Generate a typed sparse managed object array.

Members in the array are created when they are first referenced. The types for objects that are generated by sarray must have Object as a base class. Managed sparse arrays differ from standard arrays in that the member elements are not allocated from the heap when the array is created, but rather as they are needed.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 264 of file object.h.

Constructor & Destructor Documentation

◆ sarray()

template<class T >
ucommon::sarray< T >::sarray ( unsigned  size)
inline

Generate a sparse typed array of specified size.

Parameters
sizeof array to create.

Definition at line 274 of file object.h.

Member Function Documentation

◆ get()

template<class T >
T* ucommon::sarray< T >::get ( unsigned  offset)
inline

Get typed member of array.

If the object does not exist, it is created.

Parameters
offsetin array for object.
Returns
pointer to typed object.

Definition at line 282 of file object.h.

Here is the call graph for this function:

◆ operator[]()

template<class T >
T& ucommon::sarray< T >::operator[] ( unsigned  offset)
inline

Array operation to access member object.

If the object does not exist, it is created.

Parameters
offsetin array for object.
Returns
pointer to typed object.

Definition at line 292 of file object.h.

Here is the call graph for this function:

The documentation for this class was generated from the following file: