1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#pragma once #include "common.hpp" #include "concept.hpp" namespace intellect { namespace level0 { template <typename T> struct value : public concept { value(T const & val) : data(val) { } value(value<T> const & val) = default; operator T&() { return data; } operator T const &() const { return data; } T data; }; } }