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 {
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<T>(value)} {}
inline data_info data_::make_info() const {
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, inst>, int> = 0
, std::enable_if_t<!std::is_same_v<Tp, value>, int> = 0 >
value(T&& val);
explicit value(T&& val);
template < typename T
, typename Tp = std::decay_t<T>