OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
QuantityContainer.h
Go to the documentation of this file.
1#pragma once
2#include <stdint.h>
3#include <list>
4#include <string>
5#include <map>
6
7#include "OTCore/Variable.h"
8#include "OTCore/CoreTypes.h"
9
10#include <bsoncxx/builder/stream/document.hpp>
11#include <bsoncxx/json.hpp>
12#include <bsoncxx/builder/basic/document.hpp>
13#include <bsoncxx/builder/basic/array.hpp>
14
15
16class __declspec(dllexport) QuantityContainer
17{
18public:
19 QuantityContainer(int64_t _seriesIndex, std::list<ot::UID>& _parameterIDs, std::list<ot::Variable>&& _parameterValues, int64_t _quantityIndex);
20 QuantityContainer(int64_t _seriesIndex, std::list<ot::UID>& _parameterIDs, std::list<ot::Variable>& _parameterValues, int64_t _quantityIndex);
21 QuantityContainer(QuantityContainer&& _other) noexcept;
22 QuantityContainer(const QuantityContainer& _other) = delete;
23 QuantityContainer& operator=(const QuantityContainer& _other) = delete;
24 QuantityContainer& operator=(QuantityContainer&& _other);
25 ~QuantityContainer();
26
27 void addValue(const ot::Variable& _value);
28 int64_t getValueArraySize() const { return m_values.size(); };
29 bsoncxx::builder::basic::document& getMongoDocument();
30 static const std::string getFieldName() { return "Values"; }
31
32private:
33 bsoncxx::builder::basic::document m_mongoDocument;
34 std::list<ot::Variable> m_values;
35};
Definition Variable.h:107