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> 38 #include <boost/variant.hpp> 50 template<
typename T,
typename... Tags>
81 template<
typename T,
typename... Args>
157 template<
typename U,
typename... Tags>
180 template<
typename T,
typename... Tags>
182 :
Val_ (static_cast<T> (key))
192 template<
typename T,
typename... Tags>
213 template<
int... Fields>
216 template<
int... Fields>
219 template<
typename... Args>
225 template<
typename T,
typename... Args>
239 inline static struct DefaultTag {}
Default;
240 inline static struct IgnoreTag {}
Ignore;
246 template<
auto... Ptrs>
252 template<
auto... Ptrs>
255 template<
typename Seq>
261 template<
typename Seq>
273 template<
typename Tag>
static FieldsType< Ptrs... > Fields
Unique & operator=(T val)
typename References< Ptr >::value_type ReferencesValue_t
const value_type & operator*() const
boost::variant< DefaultTag, IgnoreTag, Replace > ActionSelector_t
const value_type & operator*() const
typename Unique< T >::value_type UniqueValue_t
typename detail::DecomposeMemberPtr< decltype(Ptr)>::Value_t MemberPtrType_t
MemberPtrType_t< Ptr > member_type
typename NotNull< T >::value_type NotNullValue_t
NotNull & operator=(T val)
typename member_type::value_type value_type
typename PKey< T, Args... >::value_type PKeyValue_t
ActionSelector_t Selector_
static struct LeechCraft::Util::oral::InsertAction::DefaultTag Default
static struct LeechCraft::Util::oral::InsertAction::IgnoreTag Ignore
References & operator=(const value_type &val)
const value_type & operator*() const
const value_type & operator*() const
static constexpr auto StaticCount()
References(const PKey< T, Tags... > &key)