oos::object_list< S, T, WITH_JOIN_TABLE > Class Template Reference

List class mapping items via relation table. More...

#include <object_list.hpp>

Inherits oos::object_list_base< S, T >.

Public Types

typedef object_ref< S > parent_ref
 
typedef void(T::object_type::* SETFUNC )(const parent_ref &)
 
typedef object_list_base< S, T > base_list
 
typedef object_list_base< S, T,
object_ptr< container_item< T,
S > > > 
base_list
 
typedef T::object_type item_type
 
typedef container_item< T, S > item_type
 
typedef base_list::value_holder value_holder
 
typedef T value_holder
 
typedef base_list::size_type size_type
 
typedef base_list::iterator iterator
 
typedef base_list::const_iterator const_iterator
 
typedef base_list::item_holder item_ptr
 
- Public Types inherited from oos::object_list_base< S, T >
typedef T value_holder
 
typedef S parent_type
 
typedef T item_holder
 
typedef T::object_type item_type
 
typedef std::list< item_holderlist_type
 
typedef object_container::size_type size_type
 
typedef list_type::iterator iterator
 
typedef list_type::const_iterator const_iterator
 

Additional Inherited Members

- Public Member Functions inherited from oos::object_list_base< S, T >
 object_list_base (S *parent)
 
virtual const char * classname () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
virtual bool empty () const
 
virtual void clear ()
 
virtual size_type size () const
 
virtual iterator insert (iterator pos, const value_holder &x)=0
 Inserts a new element. More...
 
void push_front (const value_holder &x)
 
void push_back (const value_holder &x)
 
virtual iterator erase (iterator i)=0
 Interface to erase an element. More...
 
iterator erase (iterator first, iterator last)
 Erases a range defines by iterators. More...
 
- Protected Member Functions inherited from oos::object_list_base< S, T >
virtual void for_each (const node_func &nf) const
 Executes the given function object for all elements. More...
 
virtual void uninstall ()
 
virtual void parent (object *p)
 
S * parent ()
 
list_typelist ()
 

Detailed Description

template<class S, class T, bool WITH_JOIN_TABLE>
class oos::object_list< S, T, WITH_JOIN_TABLE >

List class mapping items via relation table.

Template Parameters
SThe parent class type.
TThe item class type.
WITH_JOIN_TABLEIndicates wether a join object/table is used or not.

The object list class represents a list of objects or values in the object store. S indicates the super class holding the list and T is the type of the list item.

The last template argument indicates wether the list uses a relation object/table or not, where true means use a relation object/table and false not to. If the value is false the item must be an object containing already information about its super/holder object.

Member Typedef Documentation

template<class S , class T , bool WITH_JOIN_TABLE>
typedef object_list_base<S, T> oos::object_list< S, T, WITH_JOIN_TABLE >::base_list

Shortcut for the base list.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef object_list_base<S, T, object_ptr<container_item<T, S> > > oos::object_list< S, T, WITH_JOIN_TABLE >::base_list

Shortcut for the base list.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef base_list::const_iterator oos::object_list< S, T, WITH_JOIN_TABLE >::const_iterator

Shortcut for the const iterator.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef base_list::item_holder oos::object_list< S, T, WITH_JOIN_TABLE >::item_ptr

Shortcut for the item ptr.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef T::object_type oos::object_list< S, T, WITH_JOIN_TABLE >::item_type

Shortcut for the item type.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef container_item<T, S> oos::object_list< S, T, WITH_JOIN_TABLE >::item_type

Shortcut for the item type.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef base_list::iterator oos::object_list< S, T, WITH_JOIN_TABLE >::iterator

Shortcut for the iterator.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef object_ref<S> oos::object_list< S, T, WITH_JOIN_TABLE >::parent_ref

Shortcut for the parent reference.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef void(T::object_type::* oos::object_list< S, T, WITH_JOIN_TABLE >::SETFUNC)(const parent_ref &)

Shortcut for the parent reference setter function.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef base_list::size_type oos::object_list< S, T, WITH_JOIN_TABLE >::size_type

Shortcut for the size type.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef base_list::value_holder oos::object_list< S, T, WITH_JOIN_TABLE >::value_holder

Shortcut for the value holder.

template<class S , class T , bool WITH_JOIN_TABLE>
typedef T oos::object_list< S, T, WITH_JOIN_TABLE >::value_holder

Shortcut for the value holder.


The documentation for this class was generated from the following file:
  • object/object_list.hpp