MADARA  3.4.1
Collection.h
Go to the documentation of this file.
1 
2 #ifndef _MADARA_CONTAINERS_COLLECTION_H_
3 #define _MADARA_CONTAINERS_COLLECTION_H_
4 
5 #include <vector>
6 #include <string>
7 #include "madara/LockType.h"
8 #include "Barrier.h"
9 #include "BaseContainer.h"
10 #include "Counter.h"
11 #include "String.h"
12 #include "Integer.h"
13 #include "Double.h"
14 #include "Map.h"
15 #include "FlexMap.h"
16 #include "StringVector.h"
17 #include "DoubleVector.h"
18 #include "IntegerVector.h"
19 #include "BufferVector.h"
20 #include "NativeDoubleVector.h"
21 #include "NativeIntegerVector.h"
22 #include "Vector.h"
23 
32 namespace madara
33 {
34 namespace knowledge
35 {
36 namespace containers
37 {
43 class MADARA_EXPORT Collection : public BaseContainer
44 {
45 public:
49  Collection();
50 
55  Collection(const Collection& rhs);
56 
60  virtual ~Collection();
61 
65  void modify(void);
66 
73  std::string get_debug_info(void);
74 
80  virtual BaseContainer* clone(void) const;
81 
86  void add(const BaseContainer& container);
87 
91  void clear(void);
92 
97  void set_settings(const KnowledgeUpdateSettings& settings);
98 
103  size_t size(void) const;
104 
109  bool is_true(void) const;
110 
115  bool is_false(void) const;
116 
117 protected:
122  virtual bool is_true_(void) const;
123 
128  virtual bool is_false_(void) const;
129 
138  virtual void modify_(void);
139 
149  virtual std::string get_debug_info_(void);
150 
154  std::vector<BaseContainer*> vector_;
155 };
156 }
157 }
158 }
159 
160 #include "Collection.inl"
161 
162 #endif // _MADARA_CONTAINERS_COLLECTION_H_
Settings for applying knowledge updates.
This class is an abstract base class for all containers.
Definition: BaseContainer.h:34
A collection of MADARA containers that can be used for aggregate operations on all containers in the ...
Definition: Collection.h:44
std::vector< BaseContainer * > vector_
The underlying collection of containers.
Definition: Collection.h:154
Provides container classes for fast knowledge base access and mutation.
Definition: Barrier.h:27
constexpr string_t string
Provides functions and classes for the distributed knowledge base.
Copyright(c) 2020 Galois.