From 54d3c463337e06ea3fecfcbc78418e43aee5c1c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Tr=C3=A1vn=C3=AD=C4=8Dek?= <jan.travnicek@fit.cvut.cz> Date: Fri, 21 Jan 2022 21:44:27 +0100 Subject: [PATCH] abstraction: allow constant retrieval of value from value holder --- alib2abstraction/src/abstraction/ValueHolder.hpp | 8 ++++++++ alib2abstraction/src/abstraction/ValueHolderInterface.hpp | 2 ++ 2 files changed, 10 insertions(+) diff --git a/alib2abstraction/src/abstraction/ValueHolder.hpp b/alib2abstraction/src/abstraction/ValueHolder.hpp index fef24d6c4a..1138f22a0c 100644 --- a/alib2abstraction/src/abstraction/ValueHolder.hpp +++ b/alib2abstraction/src/abstraction/ValueHolder.hpp @@ -23,6 +23,10 @@ public: Type && getValue ( ) override { return std::move ( m_data.value ( ) ); } + + const Type & getValue ( ) const override { + return m_data.value ( ); + } }; template < class Type > @@ -39,6 +43,10 @@ public: Type && getValue ( ) override { return std::move ( m_data->get ( ) ); } + + const Type & getValue ( ) const override { + return m_data->get ( ); + } }; template < class Type > diff --git a/alib2abstraction/src/abstraction/ValueHolderInterface.hpp b/alib2abstraction/src/abstraction/ValueHolderInterface.hpp index 319282015c..aa0f68b548 100644 --- a/alib2abstraction/src/abstraction/ValueHolderInterface.hpp +++ b/alib2abstraction/src/abstraction/ValueHolderInterface.hpp @@ -15,6 +15,8 @@ public: virtual Type && getValue ( ) = 0; + virtual const Type & getValue ( ) const = 0; + }; template < class ParamType > -- GitLab