public:
template<typename T>
- Value(T d):
+ Value(T &&d):
sig(TypeInfo<T>::signature),
- data(static_cast<typename TypeInfo<T>::Store>(d))
+ data(static_cast<typename TypeInfo<T>::Store>(std::forward<T>(d)))
{ }
- Value(Symbol d): sig(TypeInfo<Symbol>::signature), data(d) { }
+ Value(const Symbol &d): sig(TypeInfo<Symbol>::signature), data(d) { }
+ Value(Symbol &&d): sig(TypeInfo<Symbol>::signature), data(std::move(d)) { }
template<typename T>
typename TypeInfo<T>::Load get() const
T get_() const;
};
-typedef DEPRECATED std::vector<Value> ValueArray;
-
template<typename T>
inline T Value::get_() const
{