UCommon
Public Member Functions | Data Fields | Protected Member Functions
ucommon::object_value< T, O > Class Template Reference

Template for embedding a data structure into a reference counted object. More...

#include <object.h>

Inheritance diagram for ucommon::object_value< T, O >:
Inheritance graph
[legend]

Public Member Functions

 object_value ()
 Construct composite value object.
 
 object_value (T &existing)
 Construct composite value object and assign from existing data value. More...
 
 operator T & ()
 Retrieve data value by casting reference. More...
 
T & operator() ()
 
void operator() (T &data)
 Set data value by expression reference. More...
 
T & operator* ()
 Pointer reference to embedded data value. More...
 
void operator= (const T &data)
 Assign embedded data value. More...
 

Data Fields

value
 Embedded data value.
 

Protected Member Functions

void set (const T &object)
 Assign our value from a typed data object. More...
 

Detailed Description

template<typename T, class O = CountedObject>
class ucommon::object_value< T, O >

Template for embedding a data structure into a reference counted object.

This is a convenient means to create reference counted heap managed data structure. This template can be used for embedding data into other kinds of managed object classes in addition to reference counting. For example, it can be used to embed a data structure into a linked list, as shown in the linked_value template.

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

Definition at line 324 of file object.h.

Constructor & Destructor Documentation

template<typename T , class O = CountedObject>
ucommon::object_value< T, O >::object_value ( T &  existing)
inline

Construct composite value object and assign from existing data value.

Parameters
existingtyped value to assign.

Definition at line 347 of file object.h.

Member Function Documentation

template<typename T , class O = CountedObject>
ucommon::object_value< T, O >::operator T & ( )
inline

Retrieve data value by casting reference.

Returns
embedded value.

Definition at line 371 of file object.h.

template<typename T , class O = CountedObject>
void ucommon::object_value< T, O >::operator() ( T &  data)
inline

Set data value by expression reference.

Parameters
datavalue to assign.

Definition at line 383 of file object.h.

template<typename T , class O = CountedObject>
T& ucommon::object_value< T, O >::operator* ( )
inline

Pointer reference to embedded data value.

Returns
embedded value.

Definition at line 355 of file object.h.

template<typename T , class O = CountedObject>
void ucommon::object_value< T, O >::operator= ( const T &  data)
inline

Assign embedded data value.

Parameters
datavalue to assign.

Definition at line 363 of file object.h.

template<typename T , class O = CountedObject>
void ucommon::object_value< T, O >::set ( const T &  object)
inlineprotected

Assign our value from a typed data object.

This is a helper method.

Parameters
objectto assign our value from.

Definition at line 331 of file object.h.


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