explicit value ctor

This commit is contained in:
BlackMATov
2021-08-16 14:37:45 +07:00
parent a5f999cad9
commit f6fe32e7eb
2 changed files with 6 additions and 4 deletions

View File

@@ -12,7 +12,8 @@ namespace meta_hpp
{ {
class data_ final { class data_ final {
public: public:
explicit data_(std::string name, class value value); template < typename T >
explicit data_(std::string name, T&& value);
data_info make_info() const; data_info make_info() const;
public: public:
@@ -30,9 +31,10 @@ namespace meta_hpp
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)} : name_{std::move(name)}
, value_{std::move(value)} {} , value_{std::forward<T>(value)} {}
inline data_info data_::make_info() const { inline data_info data_::make_info() const {
data_info info{name_, value_}; data_info info{name_, value_};

View File

@@ -25,7 +25,7 @@ namespace meta_hpp
, std::enable_if_t<!std::is_same_v<Tp, arg>, int> = 0 , std::enable_if_t<!std::is_same_v<Tp, arg>, int> = 0
, std::enable_if_t<!std::is_same_v<Tp, inst>, int> = 0 , std::enable_if_t<!std::is_same_v<Tp, inst>, int> = 0
, std::enable_if_t<!std::is_same_v<Tp, value>, int> = 0 > , std::enable_if_t<!std::is_same_v<Tp, value>, int> = 0 >
value(T&& val); explicit value(T&& val);
template < typename T template < typename T
, typename Tp = std::decay_t<T> , typename Tp = std::decay_t<T>