mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 07:35:48 +08:00
refs #345 Extending CValueObjectStdTuple with policy classes to enable it to be used by classes which have different requirements.
This commit is contained in:
@@ -69,7 +69,8 @@ namespace BlackMisc
|
||||
template <> class TupleConverter<T> : TupleConverterBase \
|
||||
{ \
|
||||
friend class T; \
|
||||
friend class BlackMisc::CValueObjectStdTuple<T>; \
|
||||
template <class, class> friend class BlackMisc::CValueObjectStdTuple; \
|
||||
friend class BlackMisc::Private::EncapsulationBreaker; \
|
||||
static_assert(Private::HasEnabledTupleConversion<T>::value, \
|
||||
"Missing BLACK_ENABLE_TUPLE_CONVERSION macro in " #T); \
|
||||
static auto toTuple(const T &o) -> decltype(BlackMisc::tie MEMBERS) \
|
||||
@@ -120,7 +121,8 @@ namespace BlackMisc
|
||||
template <class... U> class TupleConverter<T<U...>> : TupleConverterBase \
|
||||
{ \
|
||||
friend class T<U...>; \
|
||||
friend class BlackMisc::CValueObjectStdTuple<T<U...>>; \
|
||||
template <class, class> friend class BlackMisc::CValueObjectStdTuple; \
|
||||
friend class BlackMisc::Private::EncapsulationBreaker; \
|
||||
static_assert(Private::HasEnabledTupleConversion<T<U...>>::value, \
|
||||
"Missing BLACK_ENABLE_TUPLE_CONVERSION macro in " #T); \
|
||||
static auto toTuple(const T<U...> &o) -> decltype(BlackMisc::tie MEMBERS) \
|
||||
|
||||
Reference in New Issue
Block a user