From f6fe32e7eb9ce6be09f067d318fde40efbc92d3f Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Mon, 16 Aug 2021 14:37:45 +0700 Subject: [PATCH] explicit value ctor --- headers/meta.hpp/meta_registry/data_.hpp | 8 +++++--- headers/meta.hpp/meta_utilities/value.hpp | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/headers/meta.hpp/meta_registry/data_.hpp b/headers/meta.hpp/meta_registry/data_.hpp index e07bde2..a91a832 100644 --- a/headers/meta.hpp/meta_registry/data_.hpp +++ b/headers/meta.hpp/meta_registry/data_.hpp @@ -12,7 +12,8 @@ namespace meta_hpp { class data_ final { public: - explicit data_(std::string name, class value value); + template < typename T > + explicit data_(std::string name, T&& value); data_info make_info() const; public: @@ -30,9 +31,10 @@ namespace meta_hpp namespace meta_hpp { - inline data_::data_(std::string name, class value value) + template < typename T > + data_::data_(std::string name, T&& value) : name_{std::move(name)} - , value_{std::move(value)} {} + , value_{std::forward(value)} {} inline data_info data_::make_info() const { data_info info{name_, value_}; diff --git a/headers/meta.hpp/meta_utilities/value.hpp b/headers/meta.hpp/meta_utilities/value.hpp index 116b3ef..5f6f822 100644 --- a/headers/meta.hpp/meta_utilities/value.hpp +++ b/headers/meta.hpp/meta_utilities/value.hpp @@ -25,7 +25,7 @@ namespace meta_hpp , std::enable_if_t, int> = 0 , std::enable_if_t, int> = 0 , std::enable_if_t, int> = 0 > - value(T&& val); + explicit value(T&& val); template < typename T , typename Tp = std::decay_t