32 #define BOOST_RESULT_OF_USE_DECLTYPE
34 #include <type_traits>
35 #include <boost/fusion/include/at_c.hpp>
36 #include <boost/fusion/adapted/struct/adapt_struct.hpp>
37 #include <boost/fusion/include/adapt_struct.hpp>
48 template<
typename T,
typename... Tags>
115 template<
typename U,
typename... Tags>
119 template<
typename Seq,
int Idx>
122 using member_type =
typename std::decay<typename boost::fusion::result_of::at_c<Seq, Idx>::type>::type;
135 template<
typename T,
typename... Tags>
137 :
Val_ (static_cast<T> (key))
147 template<
typename T,
typename... Tags>
165 template<
int... Fields>
168 template<
int... Fields>
171 template<
typename... Args>
References(const PKey< T, Tags...> &key)
Unique & operator=(T val)
References & operator=(const value_type &val)
const value_type & operator*() const
typename member_type::value_type value_type
const value_type & operator*() const
typename std::decay< typename boost::fusion::result_of::at_c< Seq, Idx >::type >::type member_type
const value_type & operator*() const