mirror of
https://github.com/BlackMATov/meta.hpp.git
synced 2025-12-16 22:17:02 +07:00
explicit value ctor
This commit is contained in:
@@ -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_};
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user