rasdaman client API  10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
set.hh
Go to the documentation of this file.
1 /*
2 * This file is part of rasdaman community.
3 *
4 * Rasdaman community is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * Rasdaman community is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
18 rasdaman GmbH.
19 *
20 * For more information please see <http://www.rasdaman.org>
21 * or contact Peter Baumann via <baumann@rasdaman.com>.
22 */
23 
24 #ifndef _D_SET_
25 #define _D_SET_
26 
27 #include "rasodmg/collection.hh"
28 
29 //@ManMemo: Module: {\bf rasodmg}
40 template <class T>
41 class r_Set : public r_Collection<T>
42 {
43 public:
45  r_Set();
47  r_Set(const r_Set<T> &set);
48  r_Set<T> &operator=(const r_Set<T> &set);
50  virtual ~r_Set() = default;
51 
53  virtual void insert_element(const T &element, int no_modification = 0);
59 };
60 
61 class r_Ref_Any;
62 extern template class r_Set<r_Ref_Any>;
63 class r_GMarray;
64 extern template class r_Set<r_GMarray *>;
65 
66 template <typename T>
67 class r_Ref;
68 class r_Object;
69 extern template class r_Set<r_Ref<r_Object>>;
70 extern template class r_Set<r_Ref<r_GMarray>>;
71 
72 struct GenRefElement;
73 extern template class r_Set<GenRefElement *>;
74 
75 //#ifdef EARLY_TEMPLATE
76 //#ifdef __EXECUTABLE__
77 //#include "rasodmg/set.cc"
78 //#endif
79 //#endif
80 
81 #endif
r_Collection
Basic class of a collection.
Definition: collection.hh:43
GenRefElement
element type of non r_Object list maintained by the transaction
Definition: genreftype.hh:38
r_Set::operator=
r_Set< T > & operator=(const r_Set< T > &set)
r_Ref_Any
The class r_Ref_Any is defined to support a reference to any type.
Definition: ref.hh:64
r_Ref
References of type r_Ref in many respects behave like C++ pointers but provide an additional mechanis...
Definition: collection.hh:196
r_Set::r_Set
r_Set()
default constructor
r_Set::insert_element
virtual void insert_element(const T &element, int no_modification=0)
inserts an element at the beginning (no duplicates)
collection.hh
r_Set
The class implements a set container.
Definition: oqlquery.hh:31
r_Object
Through inheritance of this class, the type definer specifies that the subclass is capable of having ...
Definition: object.hh:61
r_GMarray
The class represents a generic MDD in the sense that it is independent of the cell base type.
Definition: gmarray.hh:65
r_Set::~r_Set
virtual ~r_Set()=default
virtual destructor