ucommon  7.0.0
About: GNU uCommon C++ is a portable and optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, object serialization, thread-optimized string and data structure classes, etc..
  Fossies Dox: ucommon-7.0.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Loading...
Searching...
No Matches
ucommon::linked_value< T, O > Class Template Reference

Template value class to embed data structure into a linked list. More...

#include <linked.h>

Inheritance diagram for ucommon::linked_value< T, O >:
[legend]
Collaboration diagram for ucommon::linked_value< T, O >:
[legend]

Public Member Functions

 linked_value ()
 Create embedded value object unlinked. More...
 
 linked_value (LinkedObject **root)
 Construct embedded object on a linked list. More...
 
 linked_value (OrderedIndex *index)
 Construct embedded object on an ordered list. More...
 
 linked_value (LinkedObject **root, const T &typed_value)
 Assign embedded value from related type and link to list. More...
 
 linked_value (OrderedIndex *index, const T &typed_value)
 Assign embedded value from related type and add to list. More...
 
void set (const T &typed_value)
 
linked_valueoperator= (const T &typed_value)
 Assign embedded value from related type. More...
 
T & operator* ()
 
 operator T& ()
 
void operator() (const T data)
 
- Public Member Functions inherited from ucommon::LinkedObject
virtual ~LinkedObject ()
 
virtual void release (void) __OVERRIDE
 Release list, mark as no longer linked. More...
 
virtual void retain (void) __OVERRIDE
 Retain by marking as self referenced list. More...
 
void enlist (LinkedObject **root)
 Add our object to an existing linked list through a pointer. More...
 
void delist (LinkedObject **root)
 Locate and remove ourselves from a list of objects. More...
 
bool is_member (LinkedObject *list) const
 Search to see if we are a member of a specific list. More...
 
LinkedObjectgetNext (void) const
 Get next effective object when iterating. More...
 

Public Attributes

value
 

Protected Member Functions

 __DELETE_COPY (linked_value)
 
- Protected Member Functions inherited from ucommon::LinkedObject
 LinkedObject (LinkedObject **root)
 Construct base class attached to a chain of objects. More...
 
 LinkedObject ()
 Construct base class unattached to anyone. More...
 
 LinkedObject (const LinkedObject &from)
 

Additional Inherited Members

- Static Public Member Functions inherited from ucommon::LinkedObject
static void purge (LinkedObject *root)
 Release all objects from a list. More...
 
static unsigned count (const LinkedObject *root)
 Count the number of linked objects in a list. More...
 
static LinkedObjectgetIndexed (LinkedObject *root, unsigned index)
 Get member by index. More...
 
- Protected Attributes inherited from ucommon::LinkedObject
LinkedObjectNext
 

Detailed Description

template<typename T, class O = LinkedObject>
class ucommon::linked_value< T, O >

Template value class to embed data structure into a linked list.

This is used to form a class which can be linked together using either an ordered index or simple linked pointer chain and that contains a member value object. Most of the core logic for this template is found in and derived from the object_value template.

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

Definition at line 909 of file linked.h.

Constructor & Destructor Documentation

◆ linked_value() [1/5]

template<typename T , class O = LinkedObject>
ucommon::linked_value< T, O >::linked_value ( )
inline

Create embedded value object unlinked.

Definition at line 920 of file linked.h.

◆ linked_value() [2/5]

template<typename T , class O = LinkedObject>
ucommon::linked_value< T, O >::linked_value ( LinkedObject **  root)
inline

Construct embedded object on a linked list.

Parameters
rootnode or pointer for list.

Definition at line 926 of file linked.h.

References ucommon::LinkedObject::enlist().

Here is the call graph for this function:

◆ linked_value() [3/5]

template<typename T , class O = LinkedObject>
ucommon::linked_value< T, O >::linked_value ( OrderedIndex index)
inline

Construct embedded object on an ordered list.

Parameters
indexpointer for the ordered list.

Definition at line 934 of file linked.h.

◆ linked_value() [4/5]

template<typename T , class O = LinkedObject>
ucommon::linked_value< T, O >::linked_value ( LinkedObject **  root,
const T &  typed_value 
)
inline

Assign embedded value from related type and link to list.

Parameters
rootnode or pointer for list.
typed_valueto assign.

Definition at line 943 of file linked.h.

References ucommon::LinkedObject::enlist(), and ucommon::linked_value< T, O >::value.

Here is the call graph for this function:

◆ linked_value() [5/5]

template<typename T , class O = LinkedObject>
ucommon::linked_value< T, O >::linked_value ( OrderedIndex index,
const T &  typed_value 
)
inline

Assign embedded value from related type and add to list.

Parameters
indexto list our object on.
typed_valueto assign.

Definition at line 953 of file linked.h.

References ucommon::linked_value< T, O >::value.

Member Function Documentation

◆ __DELETE_COPY()

template<typename T , class O = LinkedObject>
ucommon::linked_value< T, O >::__DELETE_COPY ( linked_value< T, O >  )
protected

◆ operator T&()

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

Definition at line 975 of file linked.h.

References ucommon::linked_value< T, O >::value.

◆ operator()()

template<typename T , class O = LinkedObject>
void ucommon::linked_value< T, O >::operator() ( const T  data)
inline

Definition at line 979 of file linked.h.

References ucommon::linked_value< T, O >::value.

◆ operator*()

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

Definition at line 971 of file linked.h.

References ucommon::linked_value< T, O >::value.

◆ operator=()

template<typename T , class O = LinkedObject>
linked_value & ucommon::linked_value< T, O >::operator= ( const T &  typed_value)
inline

Assign embedded value from related type.

Parameters
typed_valueto assign.

Definition at line 966 of file linked.h.

References ucommon::linked_value< T, O >::value.

◆ set()

template<typename T , class O = LinkedObject>
void ucommon::linked_value< T, O >::set ( const T &  typed_value)
inline

Definition at line 958 of file linked.h.

References ucommon::linked_value< T, O >::value.

Member Data Documentation

◆ value


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