Files
fsfw/src/fsfw/datapool/SharedSet.h
T

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