diff options
Diffstat (limited to 'include/estd/ReferenceHolder.hpp')
-rw-r--r-- | include/estd/ReferenceHolder.hpp | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/include/estd/ReferenceHolder.hpp b/include/estd/ReferenceHolder.hpp deleted file mode 100644 index 2bb4602..0000000 --- a/include/estd/ReferenceHolder.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/** - * \file - * \brief ReferenceHolder template class header. - * - * \author Copyright (C) 2014-2016 Kamil Szczygiel http://www.distortec.com http://www.freddiechopin.info - * - * \par License - * This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not - * distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#ifndef ESTD_REFERENCEHOLDER_HPP_ -#define ESTD_REFERENCEHOLDER_HPP_ - -namespace estd -{ - -/** - * \brief ReferenceHolder template class is a ROMable holder of a reference. - * - * \tparam T is the type of reference held in the object - */ - -template<typename T> -class ReferenceHolder -{ -public: - - /** - * \brief ReferenceHolder constructor. - * - * \param [in] reference is a reference that will be held by the object - */ - - constexpr explicit ReferenceHolder(T& reference) noexcept : - reference_{reference} - { - - } - - /// \return reference held by the object - constexpr operator T&() const noexcept - { - return reference_; - } - - /// \return reference held by the object - constexpr T& get() const noexcept - { - return reference_; - } - -private: - - /// reference held by the object - T& reference_; -}; - -} // namespace estd - -#endif // ESTD_REFERENCEHOLDER_HPP_ |