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 315 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 337 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 358 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 368 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 344 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 351 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 322 of file object.h.


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