MADARA
3.2.3
Main Page
Namespaces
Classes
Files
File List
File Members
NativeDoubleVector.h
Go to the documentation of this file.
1
2
#ifndef _MADARA_NATIVE_DOUBLE_VECTOR_H_
3
#define _MADARA_NATIVE_DOUBLE_VECTOR_H_
4
5
#include <vector>
6
#include <string>
7
#include "madara/LockType.h"
8
#include "
madara/knowledge/KnowledgeBase.h
"
9
#include "
madara/knowledge/ThreadSafeContext.h
"
10
#include "
madara/knowledge/KnowledgeUpdateSettings.h
"
11
#include "
BaseContainer.h
"
12
21
namespace
madara
22
{
23
namespace
knowledge
24
{
25
namespace
containers
26
{
31
class
MADARA_EXPORT
NativeDoubleVector
:
public
BaseContainer
32
{
33
public
:
35
typedef
double
type
;
36
41
NativeDoubleVector
(
const
KnowledgeUpdateSettings
& settings =
42
KnowledgeUpdateSettings
());
43
51
NativeDoubleVector
(
const
std::string
& name,
52
KnowledgeBase
&
knowledge
,
53
int
size = -1,
54
const
KnowledgeUpdateSettings
& settings =
55
KnowledgeUpdateSettings
());
56
64
NativeDoubleVector
(
const
std::string
& name,
65
Variables
& knowledge,
66
int
size = -1,
67
const
KnowledgeUpdateSettings
& settings =
68
KnowledgeUpdateSettings
());
69
73
NativeDoubleVector
(
const
NativeDoubleVector
& rhs);
74
78
virtual
~
NativeDoubleVector
();
79
84
void
modify (
void
);
85
90
void
operator= (
const
NativeDoubleVector
& rhs);
91
97
void
push_back (type value);
98
103
void
resize (
size_t
size);
104
110
void
exchange (
NativeDoubleVector
& other);
111
116
void
transfer_to (
NativeDoubleVector
& other);
117
122
void
copy_to (
KnowledgeVector
& target)
const
;
123
128
size_t
size (
void
)
const
;
129
136
void
set_name (
const
std::string
& var_name,
137
KnowledgeBase
& knowledge,
int
size = -1);
138
145
void
set_name (
const
std::string
& var_name,
146
Variables
& knowledge,
int
size = -1);
147
154
void
set_name (
const
std::string
& var_name,
155
ThreadSafeContext
& knowledge,
int
size = -1);
156
163
type operator[] (
size_t
index)
const
;
164
173
int
set
(
size_t
index,
174
type value);
175
185
int
set
(
size_t
index,
186
type value,
187
const
KnowledgeUpdateSettings
& settings);
188
196
int
set
(
197
const
std::vector <type> & value);
198
207
int
set
(
208
const
std::vector <type> & value,
209
const
KnowledgeUpdateSettings
& settings);
210
219
int
set
(
220
const
type * values,
221
uint32_t size);
222
232
int
set
(
233
const
type * values,
234
uint32_t size,
235
const
KnowledgeUpdateSettings
& settings);
236
244
void
set_quality (
size_t
index, uint32_t quality,
245
const
KnowledgeReferenceSettings
& settings =
246
KnowledgeReferenceSettings
(
false
));
247
254
knowledge::KnowledgeRecord
to_record (
size_t
index)
const
;
255
260
knowledge::KnowledgeRecord
to_record (
void
)
const
;
261
271
std::string
get_debug_info (
void
);
272
278
virtual
BaseContainer
* clone (
void
)
const
;
279
284
bool
is_true (
void
)
const
;
285
290
bool
is_false (
void
)
const
;
291
292
private
:
293
298
virtual
bool
is_true_ (
void
)
const
;
299
304
virtual
bool
is_false_ (
void
)
const
;
305
314
virtual
void
modify_ (
void
);
315
325
virtual
std::string
get_debug_info_ (
void
);
326
330
ThreadSafeContext
*
context_
;
331
335
VariableReference
vector_
;
336
};
337
339
typedef
NativeDoubleVector
NativeDoubleArray
;
340
}
341
}
342
}
343
344
#endif // _MADARA_NATIVE_DOUBLE_VECTOR_H_
madara::knowledge::KnowledgeRecord
This class encapsulates an entry in a KnowledgeBase.
Definition:
KnowledgeRecord.h:59
BaseContainer.h
madara::knowledge::containers::NativeDoubleVector::type
double type
trait that describes the value type
Definition:
NativeDoubleVector.h:35
ThreadSafeContext.h
madara::knowledge::ThreadSafeContext
This class stores variables and their values for use by any entity needing state information in a thr...
Definition:
ThreadSafeContext.h:75
madara::knowledge::VariableReference
Optimized reference to a variable within the knowledge base.
Definition:
VariableReference.h:36
madara::knowledge::containers
Provides container classes for fast knowledge base access and mutation.
Definition:
Barrier.h:27
madara::knowledge::KnowledgeVector
::std::vector< KnowledgeRecord > KnowledgeVector
Definition:
KnowledgeRecord.h:1480
madara::knowledge::containers::NativeDoubleVector::context_
ThreadSafeContext * context_
Variable context that we are modifying.
Definition:
NativeDoubleVector.h:330
madara::knowledge::containers::NativeDoubleVector::vector_
VariableReference vector_
Reference to the size field of the vector space.
Definition:
NativeDoubleVector.h:335
madara::knowledge::tags::string
static struct madara::knowledge::tags::string_t string
madara::knowledge::KnowledgeBase
This class provides a distributed knowledge base to users.
Definition:
KnowledgeBase.h:45
madara::knowledge::containers::NativeDoubleArray
NativeDoubleVector NativeDoubleArray
provide the Array alias for the NativeDoubleVector class
Definition:
NativeDoubleVector.h:339
madara::knowledge::containers::NativeDoubleVector
This class stores a vector of doubles inside of KaRL.
Definition:
NativeDoubleVector.h:31
KnowledgeUpdateSettings.h
KnowledgeBase.h
madara::knowledge
Provides functions and classes for the distributed knowledge base.
Definition:
AggregateFilter.h:32
madara::knowledge::KnowledgeUpdateSettings
Settings for applying knowledge updates.
Definition:
KnowledgeUpdateSettings.h:23
madara
Copyright (c) 2015 Carnegie Mellon University.
Definition:
AggregateFilter.h:30
madara::knowledge::KnowledgeReferenceSettings
Settings for applying knowledge updates.
Definition:
KnowledgeReferenceSettings.h:22
madara::knowledge::Variables
Provides an interface for external functions into the MADARA KaRL variable settings.
Definition:
ExternFunctionVariables.h:52
madara::knowledge::containers::BaseContainer
This class is an abstract base class for all containers.
Definition:
BaseContainer.h:33
include
madara
knowledge
containers
NativeDoubleVector.h
Generated on Thu Jul 12 2018 17:38:25 for MADARA by
1.8.11