From 8216b26fdee2f5e7dc552b0d037219149abc7edb Mon Sep 17 00:00:00 2001 From: "Robin.Mueller" Date: Sat, 6 Jun 2020 23:15:05 +0200 Subject: [PATCH] datapoollocal updates --- datapoollocal/LocalPoolVariable.h | 8 +++----- datapoollocal/LocalPoolVariable.tpp | 12 ++++++------ datapoollocal/LocalPoolVector.h | 6 ++++++ datapoollocal/LocalPoolVector.tpp | 15 +++++++++++++++ 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/datapoollocal/LocalPoolVariable.h b/datapoollocal/LocalPoolVariable.h index cb373a716..b6bfa5b85 100644 --- a/datapoollocal/LocalPoolVariable.h +++ b/datapoollocal/LocalPoolVariable.h @@ -131,11 +131,9 @@ protected: ReturnValue_t commitWithoutLock() override; // std::ostream is the type for object std::cout -// friend std::ostream& operator<< (std::ostream &out, -// const LocalPoolVar &var) { -// out << static_cast(value); -// return out; -// } + template + friend std::ostream& operator<< (std::ostream &out, + const LocalPoolVar &var); private: //! @brief Pool ID of pool entry inside the used local pool. diff --git a/datapoollocal/LocalPoolVariable.tpp b/datapoollocal/LocalPoolVariable.tpp index b7a0e837d..663b73f58 100644 --- a/datapoollocal/LocalPoolVariable.tpp +++ b/datapoollocal/LocalPoolVariable.tpp @@ -151,11 +151,11 @@ inline ReturnValue_t LocalPoolVar::deSerialize(const uint8_t** buffer, return AutoSerializeAdapter::deSerialize(&value, buffer, size, bigEndian); } -//template -//inline friend std::ostream& LocalPoolVar::operator<< (std::ostream &out, -// const LocalPoolVar &var) { -// out << static_cast(out); -//} - +template +inline std::ostream& operator<< (std::ostream &out, + const LocalPoolVar &var) { + out << var.value; + return out; +} #endif diff --git a/datapoollocal/LocalPoolVector.h b/datapoollocal/LocalPoolVector.h index 02c471137..746151515 100644 --- a/datapoollocal/LocalPoolVector.h +++ b/datapoollocal/LocalPoolVector.h @@ -5,6 +5,7 @@ #include #include #include +#include #include @@ -179,6 +180,11 @@ private: ReadWriteMode_t readWriteMode; //! @brief Pointer to the class which manages the HK pool. HousekeepingManager* hkManager; + + // std::ostream is the type for object std::cout + template + friend std::ostream& operator<< (std::ostream &out, + const LocalPoolVector &var); }; #include diff --git a/datapoollocal/LocalPoolVector.tpp b/datapoollocal/LocalPoolVector.tpp index 78637efff..9a00e5dfd 100644 --- a/datapoollocal/LocalPoolVector.tpp +++ b/datapoollocal/LocalPoolVector.tpp @@ -15,6 +15,7 @@ inline LocalPoolVector::LocalPoolVector(lp_id_t poolId, "NO_PARAMETER value!" << std::endl; } memset(this->value, 0, vectorSize * sizeof(T)); + hkManager = hkOwner->getHkManagerHandle(); if (dataSet != nullptr) { dataSet->registerVariable(this); } @@ -182,4 +183,18 @@ inline bool LocalPoolVector::isValid() const { return valid; } +template +inline std::ostream& operator<< (std::ostream &out, + const LocalPoolVector &var) { + out << "Vector: ["; + for(int i = 0;i < vectorSize; i++) { + out << var.value[i]; + if(i < vectorSize - 1) { + out << ", "; + } + } + out << "]"; + return out; +} + #endif