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
Basic class of a collection.
Definition: collection.hh:44
The class represents a generic MDD in the sense that it is independent of the cell base type.
Definition: gmarray.hh:66
Through inheritance of this class, the type definer specifies that the subclass is capable of having ...
Definition: object.hh:62
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
The class implements a set container.
Definition: set.hh:42
r_Set< T > & operator=(const r_Set< T > &set)
virtual ~r_Set()=default
virtual destructor
r_Set(const r_Set< T > &set)
copy constructor
r_Set()
default constructor
virtual void insert_element(const T &element, int no_modification=0)
inserts an element at the beginning (no duplicates)
element type of non r_Object list maintained by the transaction
Definition: genreftype.hh:39