40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <vector>
|
|
|
|
#include "SharedPool.h"
|
|
#include "SharedSetBase.h"
|
|
|
|
namespace datapool {
|
|
/**
|
|
* @brief This dataset type can be used to group related pool variables if the number of
|
|
* variables should not be fixed.
|
|
* @details
|
|
* This will is the primary data structure to organize pool variables into
|
|
* sets which can be accessed via the housekeeping service interface or
|
|
* which can be sent to other software objects.
|
|
*
|
|
* It is recommended to read the documentation of the LocalPoolDataSetBase
|
|
* class for more information on how this class works and how to use it.
|
|
* @tparam capacity Capacity of the static dataset, which is usually known
|
|
* beforehand.
|
|
*/
|
|
class SharedSet : public SharedSetBase {
|
|
public:
|
|
SharedSet(SharedPool& sharedPool, uint32_t setId, size_t maxSize,
|
|
bool serializeWithValidityBlob = true);
|
|
|
|
SharedSet(sid_t sid, size_t maxSize, bool serializeWithValidityBlob = true);
|
|
|
|
~SharedSet() override;
|
|
|
|
//! Copying forbidden for now.
|
|
SharedSet(const SharedSet&) = delete;
|
|
SharedSet& operator=(const SharedSet&) = delete;
|
|
|
|
private:
|
|
std::vector<PoolVariableIF*> poolVarList;
|
|
};
|
|
|
|
} // namespace datapool
|