Object vector class without relation table. More...
#include <object_vector.hpp>
Inherits oos::object_vector_base< S, T >.
Public Types | |
| typedef object_ref< S > | parent_ref |
| typedef void(T::object_type::* | FUNC1 )(const parent_ref &) |
| typedef void(T::object_type::* | FUNC2 )(int) |
| typedef int(T::object_type::* | FUNC3 )() const |
| typedef base_vector::size_type | size_type |
| typedef base_vector::iterator | iterator |
| typedef base_vector::const_iterator | const_iterator |
| typedef object_vector_base< S, T > | base_vector |
| typedef object_vector_base< S, T, object_ptr < object_vector_item< T, S > > > | base_vector |
| typedef T::object_type | value_type |
| typedef oos::conditional < CPP11_TYPE_TRAITS_NS::is_base_of < object_base_ptr, T >::value, T, dummyy >::type::object_type | value_type |
| typedef T | value_holder |
| typedef T::object_type | item_type |
| typedef object_vector_item< T, S > | item_type |
| typedef base_vector::item_holder | item_holder |
| typedef item_holder | item_ptr |
Public Types inherited from oos::object_vector_base< S, T > | |
| typedef T | value_holder |
| typedef S | parent_type |
| typedef T | item_holder |
| typedef T::object_type | item_type |
| typedef std::vector< item_holder > | vector_type |
| typedef vector_type::iterator | iterator |
| typedef vector_type::const_iterator | const_iterator |
| typedef object_container::size_type | size_type |
Additional Inherited Members | |
Public Member Functions inherited from oos::object_vector_base< S, T > | |
| object_vector_base (parent_type *parent) | |
| Creates a new object_vector. More... | |
| 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_back (const value_holder &x) |
| value_holder | operator[] (size_type pos) |
| const value_holder | operator[] (size_type pos) const |
| value_holder | at (size_type pos) |
| const value_holder | at (size_type pos) const |
| virtual iterator | erase (iterator i)=0 |
| Interface to erase an element. More... | |
| virtual iterator | erase (iterator first, iterator last)=0 |
| Erases a range defines by iterators. More... | |
Protected Member Functions inherited from oos::object_vector_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) |
| parent_type * | parent () |
| vector_type & | vector () |
| virtual void | adjust_index (iterator i)=0 |
| void | insert_proxy (int index, object_proxy *proxy) |
Detailed Description
template<class S, class T, bool WITH_JOIN_TABLE>
class oos::object_vector< S, T, WITH_JOIN_TABLE >
Object vector class without relation table.
- Template Parameters
-
S The type of the parent object. T The value of the vector. WITH_JOIN_TABLE Indicates wether a join object/table is used or not..
The object_vector class implements a vector which can hold any type of object from builtin types as int, float to object_ptr or object_ref elements. The class provides STL like behaviour and the order of the elements is reliable.
S indicates the super class holding the vector and T is the type of the vector item.
The last template argument indicates wether the vector 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_vector_base<S, T> oos::object_vector< S, T, WITH_JOIN_TABLE >::base_vector |
Shortcut for the base vector.
| typedef object_vector_base<S, T, object_ptr<object_vector_item<T, S> > > oos::object_vector< S, T, WITH_JOIN_TABLE >::base_vector |
Shortcut for the base vector.
| typedef base_vector::const_iterator oos::object_vector< S, T, WITH_JOIN_TABLE >::const_iterator |
Shortcut for the const iterator.
| typedef void(T::object_type::* oos::object_vector< S, T, WITH_JOIN_TABLE >::FUNC1)(const parent_ref &) |
Shortcut for the parent reference setter function.
| typedef void(T::object_type::* oos::object_vector< S, T, WITH_JOIN_TABLE >::FUNC2)(int) |
Shortcut for the index setter function.
| typedef int(T::object_type::* oos::object_vector< S, T, WITH_JOIN_TABLE >::FUNC3)() const |
Shortcut for the index getter function.
| typedef base_vector::item_holder oos::object_vector< S, T, WITH_JOIN_TABLE >::item_holder |
Shortcut for the item holder.
| typedef item_holder oos::object_vector< S, T, WITH_JOIN_TABLE >::item_ptr |
Shortcut for the item ptr.
| typedef T::object_type oos::object_vector< S, T, WITH_JOIN_TABLE >::item_type |
Shortcut for the item type.
| typedef object_vector_item<T, S> oos::object_vector< S, T, WITH_JOIN_TABLE >::item_type |
Shortcut for the item type.
| typedef base_vector::iterator oos::object_vector< S, T, WITH_JOIN_TABLE >::iterator |
Shortcut for the iterator.
| typedef object_ref<S> oos::object_vector< S, T, WITH_JOIN_TABLE >::parent_ref |
Shortcut for the parent reference.
| typedef base_vector::size_type oos::object_vector< S, T, WITH_JOIN_TABLE >::size_type |
Shortcut for the size type.
| typedef T oos::object_vector< S, T, WITH_JOIN_TABLE >::value_holder |
Shortcut for the value holder.
| typedef T::object_type oos::object_vector< S, T, WITH_JOIN_TABLE >::value_type |
Shortcut for the value type.
| typedef oos::conditional<CPP11_TYPE_TRAITS_NS::is_base_of<object_base_ptr, T>::value, T, dummyy>::type::object_type oos::object_vector< S, T, WITH_JOIN_TABLE >::value_type |
Shortcut for the value type.
The documentation for this class was generated from the following file:
- object/object_vector.hpp

Public Types inherited from