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_holder > | list_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_type & | list () |
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
-
S The parent class type. T The item class type. WITH_JOIN_TABLE Indicates 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
typedef object_list_base<S, T> oos::object_list< S, T, WITH_JOIN_TABLE >::base_list |
Shortcut for the base list.
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.
typedef base_list::const_iterator oos::object_list< S, T, WITH_JOIN_TABLE >::const_iterator |
Shortcut for the const iterator.
typedef base_list::item_holder oos::object_list< S, T, WITH_JOIN_TABLE >::item_ptr |
Shortcut for the item ptr.
typedef T::object_type oos::object_list< S, T, WITH_JOIN_TABLE >::item_type |
Shortcut for the item type.
typedef container_item<T, S> oos::object_list< S, T, WITH_JOIN_TABLE >::item_type |
Shortcut for the item type.
typedef base_list::iterator oos::object_list< S, T, WITH_JOIN_TABLE >::iterator |
Shortcut for the iterator.
typedef object_ref<S> oos::object_list< S, T, WITH_JOIN_TABLE >::parent_ref |
Shortcut for the parent reference.
typedef void(T::object_type::* oos::object_list< S, T, WITH_JOIN_TABLE >::SETFUNC)(const parent_ref &) |
Shortcut for the parent reference setter function.
typedef base_list::size_type oos::object_list< S, T, WITH_JOIN_TABLE >::size_type |
Shortcut for the size type.
typedef base_list::value_holder oos::object_list< S, T, WITH_JOIN_TABLE >::value_holder |
Shortcut for the value holder.
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