24 #ifndef _D_COLLECTION_
25 #define _D_COLLECTION_
195 template <
typename T>
Basic class of a collection.
Definition: collection.hh:44
void add_node(CNode *&root, const T &element)
virtual void update_obj_in_db()
The method has no functionality in this class.
void init_node_list(CNode *&root)
const r_Type * get_element_type_schema()
get base type schema
const r_Collection< T > & operator=(const r_Collection< T > &collection)
assignment operator
int isOrdered
Definition: collection.hh:140
CNode * removed_objects
pointer to list of removed elements
Definition: collection.hh:131
unsigned long card
Definition: collection.hh:144
void remove_all()
removes all elements
int allowsDuplicates
Definition: collection.hh:142
r_Collection(const r_Collection< T > &collection)
copy constructor
bool remove_node(CNode *&root, const T &element)
CNode * coll
pointer to collection elements
Definition: collection.hh:187
void remove_all_nodes(CNode *&root)
virtual void insert_element(const T &element, int no_modification=0)
inserts an alement at the beginning
bool allows_duplicates() const
tells if the collections allowes duplicates or not
r_Collection()
default constructor
virtual ~r_Collection()
virtual destructor
virtual void r_deactivate()
it is called when an object leaves transient memory
virtual void insert_obj_into_db(const char *)
inserts an object into a specific collection in the database
Definition: collection.hh:99
bool contains_element(const T &element) const
asks about the containment of a specific element
bool is_empty() const
tells if the collection is empty or not
virtual void remove_element(const T &element)
The method inserts an element into the collection.
unsigned long cardinality() const
get number of elements
bool is_ordered() const
tells if the collection is ordered or not
r_Iterator< T > create_iterator()
create an iterator pointing at the first element in the collection
r_Iterator< T > create_removed_iterator()
create an iterator for removed objects
virtual void insert_obj_into_db()
insert myself into the database
The class represents a generic MDD in the sense that it is independent of the cell base type.
Definition: gmarray.hh:66
The template class r_Iterator defines the generic behavior for iteration.
Definition: iterator.hh:48
Through inheritance of this class, the type definer specifies that the subclass is capable of having ...
Definition: object.hh:62
r_Object(r_Transaction *transaction=NULL)
default constructor
The class r_Ref_Any is defined to support a reference to any type.
Definition: ref.hh:65
References of type r_Ref in many respects behave like C++ pointers but provide an additional mechanis...
Definition: ref.hh:198
This class the superclass for all types in the ODMG conformant representation of the RasDaMan type sy...
Definition: type.hh:51
element type of non r_Object list maintained by the transaction
Definition: genreftype.hh:39
Definition: collection.hh:117
CNode * next
Definition: collection.hh:118
T * elem
Definition: collection.hh:119