From 7aa1698a9594ba3b8496ddb857606a9c15b02bfc Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Mon, 2 Jun 2025 02:24:09 +0200 Subject: [PATCH] clean-up: prepare for variadic Type-Sequences (see #987) Attempting to reduce the remaining pre-C++11 workarounds before upgrade to C++20... As a first step: rename the old type-sequence implementation into `TyOLD` to make it clearly distinguishable; a new variadic implementation `TySeq` was already introduced as partial workaround, and the next steps will be to switch over essential parts of the type-sequence library. --- src/lib/diff/gen-node.hpp | 2 +- src/lib/meta/function-closure.hpp | 26 +++++------ src/lib/meta/function.hpp | 20 ++++---- src/lib/meta/tuple-helper.hpp | 16 +++---- src/lib/meta/tuple-record-init.hpp | 2 +- src/lib/meta/typelist.hpp | 12 ++--- src/lib/meta/typeseq-util.hpp | 32 ++++++------- src/lib/meta/variadic-helper.hpp | 4 +- src/lib/time/formats.hpp | 4 +- src/lib/variant.hpp | 6 +-- src/lib/visitor.hpp | 2 +- src/lib/wrapperptr.hpp | 2 +- src/stage/model/element-access.hpp | 4 +- src/steam/config-resolver.hpp | 2 +- src/steam/control/argument-tuple-accept.hpp | 42 ++++++++--------- src/steam/control/command-def.hpp | 2 +- src/steam/control/command-signature.hpp | 8 ++-- src/steam/control/command.hpp | 2 +- .../applicable-builder-target-types.hpp | 2 +- src/steam/mobject/builder/buildertool.hpp | 2 +- src/steam/mobject/output-designation.hpp | 2 +- src/steam/mobject/session/session-impl.hpp | 2 +- .../mobject/session/session-services.hpp | 2 +- tests/basics/time/format-support-test.cpp | 4 +- tests/basics/time/time-control-test.cpp | 6 +-- tests/basics/visitingtool-extended-test.cpp | 4 +- tests/basics/visitingtool-test.cpp | 2 +- .../control/command-clone-builder-test.cpp | 2 +- .../steam/control/command-equality-test.cpp | 2 +- .../steam/control/command-mutation-test.cpp | 4 +- .../steam/control/command-registry-test.cpp | 2 +- .../control/handling-pattern-basics-test.cpp | 2 +- .../mobject/builder/builder-tool-test.cpp | 2 +- .../session/session-service-access-test.cpp | 4 +- tests/library/meta/function-closure-test.cpp | 46 +++++++++---------- .../meta/function-composition-test.cpp | 6 +-- .../meta/generator-combinations-test.cpp | 4 +- tests/library/meta/generator-test.cpp | 2 +- tests/library/meta/meta-utils-test.cpp | 4 +- tests/library/meta/tuple-helper-test.cpp | 8 ++-- tests/library/meta/tuple-record-init-test.cpp | 20 ++++---- tests/library/meta/typelist-manip-test.cpp | 22 ++++----- tests/library/meta/typelist-test.cpp | 2 +- tests/library/meta/typelist-util-test.cpp | 4 +- tests/library/meta/typeseq-manip-test.cpp | 32 ++++++------- tests/library/variant-test.cpp | 4 +- wiki/thinkPad.ichthyo.mm | 45 ++++++++++++++++++ 47 files changed, 238 insertions(+), 193 deletions(-) diff --git a/src/lib/diff/gen-node.hpp b/src/lib/diff/gen-node.hpp index fe22ebb20..3bc1cb464 100644 --- a/src/lib/diff/gen-node.hpp +++ b/src/lib/diff/gen-node.hpp @@ -132,7 +132,7 @@ namespace diff{ using Rec = Record; using RecRef = RecordRef; using MakeRec = Rec::Mutator; - using DataValues = meta::Types::Ret; using ArgsList = typename Args::List; using ValList = typename VAL::List; - using ValTypes = typename Types::Seq; + using ValTypes = typename TyOLD::Seq; enum { ARG_CNT = count::value , VAL_CNT = count ::value @@ -587,8 +587,8 @@ namespace func{ using LeftReduced = typename Splice::Back; using RightReduced = typename Splice::Front; - using ArgsL = typename Types::Seq; - using ArgsR = typename Types::Seq; + using ArgsL = typename TyOLD::Seq; + using ArgsR = typename TyOLD::Seq; // build a list, where each of the *remaining* arguments is replaced by a placeholder marker @@ -600,8 +600,8 @@ namespace func{ using LeftReplaced = typename Splice::List; using RightReplaced = typename Splice::List; - using LeftReplacedTypes = typename Types::Seq; - using RightReplacedTypes = typename Types::Seq; + using LeftReplacedTypes = typename TyOLD::Seq; + using RightReplacedTypes = typename TyOLD::Seq; // create a "builder" helper, which accepts exactly the value tuple elements // and puts them at the right location, while default-constructing the remaining @@ -679,7 +679,7 @@ namespace func{ using Args = typename _Fun::Args; using Ret = typename _Fun::Ret; using ArgsList = typename Args::List; - using ValList = typename Types::List; + using ValList = typename TyOLD::List; enum { ARG_CNT = count::value }; @@ -694,8 +694,8 @@ namespace func{ >::List; using ReducedArgs = typename Append::List; - using PreparedArgTypes = typename Types::Seq; - using RemainingArgs = typename Types::Seq; + using PreparedArgTypes = typename TyOLD::Seq; + using RemainingArgs = typename TyOLD::Seq; using ReducedSig = typename BuildFunType::Sig; @@ -844,10 +844,10 @@ namespace func{ */ template inline - typename _Sig>::Applicator + typename _Sig>::Applicator tupleApplicator (std::tuple& args) { - typedef typename _Sig>::Type Signature; + typedef typename _Sig>::Type Signature; return TupleApplicator (args); } @@ -860,7 +860,7 @@ namespace func{ apply (SIG& f, std::tuple& args) { typedef typename _Fun::Ret Ret; // - typedef typename _Sig>::Type Signature; // Note: deliberately re-building the Signature Type + typedef typename _Sig>::Type Signature; // Note: deliberately re-building the Signature Type return TupleApplicator (args) (f); // in order to get better error messages here } @@ -871,10 +871,10 @@ namespace func{ * function result. */ template inline - typename _Clo>::Type + typename _Clo>::Type closure (SIG& f, std::tuple& args) { - typedef typename _Clo>::Type Closure; + typedef typename _Clo>::Type Closure; return Closure (f,args); } diff --git a/src/lib/meta/function.hpp b/src/lib/meta/function.hpp index eb8821d28..e2f699248 100644 --- a/src/lib/meta/function.hpp +++ b/src/lib/meta/function.hpp @@ -355,7 +355,7 @@ namespace meta{ ///////////////////////////////////////////////////////////////////////////////////TICKET #987 : the following specialisations become obsolete with the old-style type-sequence template< typename RET> - struct BuildFunType > + struct BuildFunType > { using Sig = RET(void); using Fun = _Fun; @@ -367,7 +367,7 @@ namespace meta{ template< typename RET , typename A1 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1); using Fun = _Fun; @@ -380,7 +380,7 @@ namespace meta{ , typename A1 , typename A2 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1,A2); using Fun = _Fun; @@ -394,7 +394,7 @@ namespace meta{ , typename A2 , typename A3 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1,A2,A3); using Fun = _Fun; @@ -409,7 +409,7 @@ namespace meta{ , typename A3 , typename A4 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1,A2,A3,A4); using Fun = _Fun; @@ -425,7 +425,7 @@ namespace meta{ , typename A4 , typename A5 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1,A2,A3,A4,A5); using Fun = _Fun; @@ -442,7 +442,7 @@ namespace meta{ , typename A5 , typename A6 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1,A2,A3,A4,A5,A6); using Fun = _Fun; @@ -460,7 +460,7 @@ namespace meta{ , typename A6 , typename A7 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1,A2,A3,A4,A5,A6,A7); using Fun = _Fun; @@ -479,7 +479,7 @@ namespace meta{ , typename A7 , typename A8 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1,A2,A3,A4,A5,A6,A7,A8); using Fun = _Fun; @@ -499,7 +499,7 @@ namespace meta{ , typename A8 , typename A9 > - struct BuildFunType> + struct BuildFunType> { using Sig = RET(A1,A2,A3,A4,A5,A6,A7,A8,A9); using Fun = _Fun; diff --git a/src/lib/meta/tuple-helper.hpp b/src/lib/meta/tuple-helper.hpp index e9d69a814..ee6e39b16 100644 --- a/src/lib/meta/tuple-helper.hpp +++ b/src/lib/meta/tuple-helper.hpp @@ -152,9 +152,9 @@ namespace meta { * prior to rebinding to the `std::tuple` type. */ template - struct BuildTupleType> + struct BuildTupleType> { - using VariadicSeq = typename StripNullType>::Seq; + using VariadicSeq = typename StripNullType>::Seq; using Type = typename BuildTupleType::Type; }; @@ -162,14 +162,14 @@ namespace meta { template struct BuildTupleType> { - using Seq = typename Types< Node>::Seq; + using Seq = typename TyOLD< Node>::Seq; using Type = typename BuildTupleType::Type; }; template<> struct BuildTupleType { - using Type = typename BuildTupleType>::Type; + using Type = typename BuildTupleType>::Type; }; } @@ -195,13 +195,13 @@ namespace meta { template struct RebindTupleTypes { - using Seq = typename Types::Seq; + using Seq = typename TyOLD::Seq; using List = typename Seq::List; }; template struct RebindTupleTypes> { - using Seq = typename Types::Seq; + using Seq = typename TyOLD::Seq; using List = typename Seq::List; }; @@ -356,7 +356,7 @@ namespace meta { , class TUP , uint i > - class BuildTupleAccessor< _X_, Types<>, TUP, i> + class BuildTupleAccessor< _X_, TyOLD<>, TUP, i> { public: using Product = _X_; // Note: i == tuple size @@ -421,7 +421,7 @@ namespace meta { inline std::string dump (std::tuple const& tuple) { - using BuildAccessor = BuildTupleAccessor>; + using BuildAccessor = BuildTupleAccessor>; using Displayer = typename BuildAccessor::Product ; return static_cast (tuple) diff --git a/src/lib/meta/tuple-record-init.hpp b/src/lib/meta/tuple-record-init.hpp index 6ac6e7247..b4985203b 100644 --- a/src/lib/meta/tuple-record-init.hpp +++ b/src/lib/meta/tuple-record-init.hpp @@ -193,7 +193,7 @@ namespace meta { struct ElementExtractor> { template - using TargetType = typename Pick, i>::Type; + using TargetType = typename Pick, i>::Type; template diff --git a/src/lib/meta/typelist.hpp b/src/lib/meta/typelist.hpp index 17326d271..e0d84be13 100644 --- a/src/lib/meta/typelist.hpp +++ b/src/lib/meta/typelist.hpp @@ -113,23 +113,23 @@ namespace meta { , class T19=NullType , class T20=NullType > - class Types + class TyOLD { - typedef typename Types< T02, T03, T04 + typedef typename TyOLD< T02, T03, T04 , T05, T06, T07, T08 , T09, T10, T11, T12 , T13, T14, T15, T16 , T17, T18, T19, T20>::List ListTail; public: using List = Node; - using Seq = Types; + using Seq = TyOLD; }; template<> - struct Types<> + struct TyOLD<> { using List = NullType; - using Seq = Types<>; + using Seq = TyOLD<>; }; @@ -150,7 +150,7 @@ namespace meta { struct TySeq { using Seq = TySeq; - using List = typename Types::List; + using List = typename TyOLD::List; }; //////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #987 temporary WORKAROUND(End) -- to be obsoleted }} // namespace lib::meta diff --git a/src/lib/meta/typeseq-util.hpp b/src/lib/meta/typeseq-util.hpp index 08e9e1690..a42ef1dcb 100644 --- a/src/lib/meta/typeseq-util.hpp +++ b/src/lib/meta/typeseq-util.hpp @@ -111,14 +111,14 @@ namespace meta { , typename T20 , typename IGN > - struct Prepend > { - typedef Types< T01,T02,T03,T04,T05 + typedef TyOLD< T01,T02,T03,T04,T05 , T06,T07,T08,T09,T10 , T11,T12,T13,T14,T15 , T16,T17,T18,T19,T20 > Seq; @@ -133,12 +133,12 @@ namespace meta { * allowing to re-create a (flat) type sequence from a typelist. */ template - struct Types< Node > + struct TyOLD< Node > { typedef Node List; typedef typename Prepend< H - , typename Types::Seq + , typename TyOLD::Seq >::Seq Seq; }; @@ -154,7 +154,7 @@ namespace meta { struct Prepend> { using Seq = TySeq; - using List = typename Types::List; + using List = typename TyOLD::List; }; template @@ -186,15 +186,15 @@ namespace meta { struct StripNullType; template - struct StripNullType> + struct StripNullType> { - using TailSeq = typename StripNullType>::Seq; + using TailSeq = typename StripNullType>::Seq; using Seq = typename Prepend::Seq; }; template - struct StripNullType> + struct StripNullType> { using Seq = TySeq<>; // NOTE: this causes the result to be a TySeq }; @@ -274,22 +274,22 @@ namespace meta { , typename T19 , typename T20 > - struct Split > { typedef typename - Types< T01,T02,T03,T04,T05 + TyOLD< T01,T02,T03,T04,T05 , T06,T07,T08,T09,T10 , T11,T12,T13,T14,T15 , T16,T17,T18,T19,T20 >::List List; typedef T01 Head; - typedef Types< T01 > First; - typedef Types< T02,T03,T04,T05 + typedef TyOLD< T01 > First; + typedef TyOLD< T02,T03,T04,T05 , T06,T07,T08,T09,T10 , T11,T12,T13,T14,T15 , T16,T17,T18,T19,T20 > Tail; @@ -299,9 +299,9 @@ namespace meta { typedef typename SplitLast::List PrefixList; typedef typename Tail::List TailList; - typedef typename Types::Seq Prefix; + typedef typename TyOLD::Seq Prefix; typedef typename SplitLast::Type End; - typedef Types Last; + typedef TyOLD Last; }; @@ -334,9 +334,9 @@ namespace meta { * @see typelist-manip.hpp */ template - struct Pick, i> + struct Pick, i> { - using Type = typename lib::meta::Shifted, i>::Head; + using Type = typename lib::meta::Shifted, i>::Head; }; template struct Pick, i> diff --git a/src/lib/meta/variadic-helper.hpp b/src/lib/meta/variadic-helper.hpp index b36f8bfa4..60a2dcbba 100644 --- a/src/lib/meta/variadic-helper.hpp +++ b/src/lib/meta/variadic-helper.hpp @@ -141,10 +141,10 @@ namespace meta { /** build an index number sequence from a type sequence */ template - struct BuildIdxIter> + struct BuildIdxIter> { ///////////////////////TICKET #987 : since Types is not variadic, need to strip NullType here (instead of just using sizeof...(TYPES) - enum {SIZ = lib::meta::count::List>::value }; + enum {SIZ = lib::meta::count::List>::value }; using Builder = BuildIndexSeq; using Ascending = typename Builder::Ascending; diff --git a/src/lib/time/formats.hpp b/src/lib/time/formats.hpp index 86de9fbfd..4d4a6468e 100644 --- a/src/lib/time/formats.hpp +++ b/src/lib/time/formats.hpp @@ -166,7 +166,7 @@ namespace time { /* == Descriptor to define Support for specific formats == */ - using lib::meta::Types; + using lib::meta::TyOLD; using lib::meta::Node; using lib::meta::NullType; @@ -238,7 +238,7 @@ namespace time { : Supported { SupportStandardTimecode() - : Supported(formats< Types >()) + : Supported(formats< TyOLD >()) { } }; diff --git a/src/lib/variant.hpp b/src/lib/variant.hpp index 8247c0b2b..429c83fb6 100644 --- a/src/lib/variant.hpp +++ b/src/lib/variant.hpp @@ -99,7 +99,7 @@ namespace lib { using std::remove_reference; using meta::NullType; - using meta::Types; + using meta::TyOLD; using meta::Node; @@ -159,8 +159,8 @@ namespace lib { }; template class _P_> - struct FirstMatchingType, _P_> - : FirstMatchingType::List, _P_> + struct FirstMatchingType, _P_> + : FirstMatchingType::List, _P_> { }; template class _P_> diff --git a/src/lib/visitor.hpp b/src/lib/visitor.hpp index 6be916ecd..2f0c5b721 100644 --- a/src/lib/visitor.hpp +++ b/src/lib/visitor.hpp @@ -171,7 +171,7 @@ namespace visitor { } }; - using typelist::Types; // convenience for the user of "Applicable" + using typelist::TyOLD; // convenience for the user of "Applicable" diff --git a/src/lib/wrapperptr.hpp b/src/lib/wrapperptr.hpp index 42ca4f2e0..b72fd3e17 100644 --- a/src/lib/wrapperptr.hpp +++ b/src/lib/wrapperptr.hpp @@ -36,7 +36,7 @@ namespace steam { namespace mobject { class MObject; } - typedef lib::meta::Types < mobject::Placement* + typedef lib::meta::TyOLD < mobject::Placement* , lib::P* > ::List WrapperTypes; diff --git a/src/stage/model/element-access.hpp b/src/stage/model/element-access.hpp index d9548c3e4..0cdcae68f 100644 --- a/src/stage/model/element-access.hpp +++ b/src/stage/model/element-access.hpp @@ -63,7 +63,7 @@ namespace model { namespace error = lumiera::error; using interact::UICoord; - using lib::meta::Types; + using lib::meta::TyOLD; using std::string; class Tangible; @@ -91,7 +91,7 @@ namespace model { protected: - using RawResult = lib::Variant>; + using RawResult = lib::Variant>; /** @internal drill down according to coordinates, maybe create element */ virtual RawResult performAccessTo (UICoord::Builder &, size_t limitCreation) =0; diff --git a/src/steam/config-resolver.hpp b/src/steam/config-resolver.hpp index 414cd23a6..0b7279969 100644 --- a/src/steam/config-resolver.hpp +++ b/src/steam/config-resolver.hpp @@ -61,7 +61,7 @@ namespace steam { * the list of all concrete types participating in the * rule based config query system */ - typedef lib::meta::Types < steam::mobject::session::Fork + typedef lib::meta::TyOLD < steam::mobject::session::Fork , steam::asset::Pipe , const steam::asset::ProcPatt , steam::asset::Timeline diff --git a/src/steam/control/argument-tuple-accept.hpp b/src/steam/control/argument-tuple-accept.hpp index 02be84b29..f2c50e44f 100644 --- a/src/steam/control/argument-tuple-accept.hpp +++ b/src/steam/control/argument-tuple-accept.hpp @@ -97,7 +97,7 @@ namespace control { template< class TAR, class BA, class RET > //____________________________________ - struct AcceptArgs > ///< Accept dummy binding (0 Arguments) + struct AcceptArgs > ///< Accept dummy binding (0 Arguments) : BA { RET @@ -111,7 +111,7 @@ namespace control { template< class TAR, class BA, class RET , typename T1 > //_______________________________ - struct AcceptArgs > ///< Accept binding for 1 Argument + struct AcceptArgs > ///< Accept binding for 1 Argument : BA { RET @@ -126,7 +126,7 @@ namespace control { , typename T1 , typename T2 > //________________________________ - struct AcceptArgs > ///< Accept binding for 2 Arguments + struct AcceptArgs > ///< Accept binding for 2 Arguments : BA { RET @@ -142,7 +142,7 @@ namespace control { , typename T2 , typename T3 > //________________________________ - struct AcceptArgs > ///< Accept binding for 3 Arguments + struct AcceptArgs > ///< Accept binding for 3 Arguments : BA { RET @@ -159,7 +159,7 @@ namespace control { , typename T3 , typename T4 > //________________________________ - struct AcceptArgs > ///< Accept binding for 4 Arguments + struct AcceptArgs > ///< Accept binding for 4 Arguments : BA { RET @@ -177,7 +177,7 @@ namespace control { , typename T4 , typename T5 > //________________________________ - struct AcceptArgs > ///< Accept binding for 5 Arguments + struct AcceptArgs > ///< Accept binding for 5 Arguments : BA { RET @@ -196,7 +196,7 @@ namespace control { , typename T5 , typename T6 > //________________________________ - struct AcceptArgs > ///< Accept binding for 6 Arguments + struct AcceptArgs > ///< Accept binding for 6 Arguments : BA { RET @@ -216,7 +216,7 @@ namespace control { , typename T6 , typename T7 > //________________________________ - struct AcceptArgs > ///< Accept binding for 7 Arguments + struct AcceptArgs > ///< Accept binding for 7 Arguments : BA { RET @@ -237,7 +237,7 @@ namespace control { , typename T7 , typename T8 > //________________________________ - struct AcceptArgs > ///< Accept binding for 8 Arguments + struct AcceptArgs > ///< Accept binding for 8 Arguments : BA { RET @@ -259,7 +259,7 @@ namespace control { , typename T8 , typename T9 > //________________________________ - struct AcceptArgs > ///< Accept binding for 9 Arguments + struct AcceptArgs > ///< Accept binding for 9 Arguments : BA { RET @@ -302,7 +302,7 @@ namespace control { template< class TAR, class BA, class RET > //____________________________________ - struct AcceptBind > ///< Accept dummy binding (0 Arguments) + struct AcceptBind > ///< Accept dummy binding (0 Arguments) : BA { RET @@ -316,7 +316,7 @@ namespace control { template< class TAR, class BA, class RET , typename T1 > //_______________________________ - struct AcceptBind > ///< Accept binding for 1 Argument + struct AcceptBind > ///< Accept binding for 1 Argument : BA { RET @@ -331,7 +331,7 @@ namespace control { , typename T1 , typename T2 > //________________________________ - struct AcceptBind > ///< Accept binding for 2 Arguments + struct AcceptBind > ///< Accept binding for 2 Arguments : BA { RET @@ -347,7 +347,7 @@ namespace control { , typename T2 , typename T3 > //________________________________ - struct AcceptBind > ///< Accept binding for 3 Arguments + struct AcceptBind > ///< Accept binding for 3 Arguments : BA { RET @@ -364,7 +364,7 @@ namespace control { , typename T3 , typename T4 > //________________________________ - struct AcceptBind > ///< Accept binding for 4 Arguments + struct AcceptBind > ///< Accept binding for 4 Arguments : BA { RET @@ -382,7 +382,7 @@ namespace control { , typename T4 , typename T5 > //________________________________ - struct AcceptBind > ///< Accept binding for 5 Arguments + struct AcceptBind > ///< Accept binding for 5 Arguments : BA { RET @@ -401,7 +401,7 @@ namespace control { , typename T5 , typename T6 > //________________________________ - struct AcceptBind > ///< Accept binding for 6 Arguments + struct AcceptBind > ///< Accept binding for 6 Arguments : BA { RET @@ -421,7 +421,7 @@ namespace control { , typename T6 , typename T7 > //________________________________ - struct AcceptBind > ///< Accept binding for 7 Arguments + struct AcceptBind > ///< Accept binding for 7 Arguments : BA { RET @@ -442,7 +442,7 @@ namespace control { , typename T7 , typename T8 > //________________________________ - struct AcceptBind > ///< Accept binding for 8 Arguments + struct AcceptBind > ///< Accept binding for 8 Arguments : BA { RET @@ -464,7 +464,7 @@ namespace control { , typename T8 , typename T9 > //________________________________ - struct AcceptBind > ///< Accept binding for 9 Arguments + struct AcceptBind > ///< Accept binding for 9 Arguments : BA { RET @@ -524,7 +524,7 @@ namespace control { template struct _Type > { - using Args = typename Types::Seq; + using Args = typename TyOLD::Seq; using Ret = void; using Sig = typename BuildFunType::Sig; using ArgTuple = std::tuple; diff --git a/src/steam/control/command-def.hpp b/src/steam/control/command-def.hpp index d61b4c2fc..54bff4e3b 100644 --- a/src/steam/control/command-def.hpp +++ b/src/steam/control/command-def.hpp @@ -78,7 +78,7 @@ namespace control { using lib::meta::_Fun; using lib::meta::NullType; - using lib::meta::Types; + using lib::meta::TyOLD; using lib::meta::Tuple; diff --git a/src/steam/control/command-signature.hpp b/src/steam/control/command-signature.hpp index 371394e26..d312462be 100644 --- a/src/steam/control/command-signature.hpp +++ b/src/steam/control/command-signature.hpp @@ -59,7 +59,7 @@ namespace control { using lib::meta::BuildFunType; using lib::meta::_Fun; - using lib::meta::Types; + using lib::meta::TyOLD; using lib::meta::Append; using lib::meta::SplitLast; @@ -77,7 +77,7 @@ namespace control { using Args = typename _Fun::Args; using ArgList = typename Args::List; using ExtendedArglist = typename Append::List; - using ExtendedArgs = typename Types::Seq; + using ExtendedArgs = typename TyOLD::Seq; public: using OperateSig = typename BuildFunType::Sig; @@ -118,7 +118,7 @@ namespace control { using Memento = RET; using ExtendedArglist = typename Append::List; - using ExtendedArgs = typename Types::Seq; + using ExtendedArgs = typename TyOLD::Seq; using OperateSig = typename BuildFunType::Sig; using CaptureSig = typename BuildFunType::Sig; @@ -132,7 +132,7 @@ namespace control { using Memento = typename SplitLast::Type; using OperationArglist = typename SplitLast::List; - using OperationArgs = typename Types::Seq; + using OperationArgs = typename TyOLD::Seq; using OperateSig = typename BuildFunType::Sig; using CaptureSig = typename BuildFunType::Sig; diff --git a/src/steam/control/command.hpp b/src/steam/control/command.hpp index 759835b35..fb631f317 100644 --- a/src/steam/control/command.hpp +++ b/src/steam/control/command.hpp @@ -88,7 +88,7 @@ namespace control { using lib::Symbol; using std::shared_ptr; using lib::meta::Tuple; - using lib::meta::Types; + using lib::meta::TyOLD; using FuncPtr = void*; diff --git a/src/steam/mobject/builder/applicable-builder-target-types.hpp b/src/steam/mobject/builder/applicable-builder-target-types.hpp index 9b907a2b6..0dc994839 100644 --- a/src/steam/mobject/builder/applicable-builder-target-types.hpp +++ b/src/steam/mobject/builder/applicable-builder-target-types.hpp @@ -58,7 +58,7 @@ namespace steam { namespace mobject { namespace builder { - typedef Types< session::Root, + typedef TyOLD< session::Root, session::Clip, session::Effect, session::Binding, diff --git a/src/steam/mobject/builder/buildertool.hpp b/src/steam/mobject/builder/buildertool.hpp index 148399e9f..18329be45 100644 --- a/src/steam/mobject/builder/buildertool.hpp +++ b/src/steam/mobject/builder/buildertool.hpp @@ -159,7 +159,7 @@ namespace mobject { { } ; - using lib::meta::Types; // convenience for the users of "Applicable" + using lib::meta::TyOLD; // convenience for the users of "Applicable" }// namespace mobject::builder diff --git a/src/steam/mobject/output-designation.hpp b/src/steam/mobject/output-designation.hpp index 426b1c52e..81e6a2a76 100644 --- a/src/steam/mobject/output-designation.hpp +++ b/src/steam/mobject/output-designation.hpp @@ -113,7 +113,7 @@ namespace mobject { { VTABLE = sizeof(size_t) , SPEC_SIZ = VTABLE + mp::maxSize< - mp::Types< PID, lumiera_uid, uint>::List>::value + mp::TyOLD< PID, lumiera_uid, uint>::List>::value }; typedef lib::OpaqueHolder SpecBuff; diff --git a/src/steam/mobject/session/session-impl.hpp b/src/steam/mobject/session/session-impl.hpp index e0dc357ea..4b668839e 100644 --- a/src/steam/mobject/session/session-impl.hpp +++ b/src/steam/mobject/session/session-impl.hpp @@ -268,7 +268,7 @@ namespace session { * to create "the session" instance and expose it through the * global Session PImpl */ - typedef SessionServices< Types< SessionServiceFetch + typedef SessionServices< TyOLD< SessionServiceFetch , SessionServiceMutate , SessionServiceExploreScope , SessionServiceMockIndex diff --git a/src/steam/mobject/session/session-services.hpp b/src/steam/mobject/session/session-services.hpp index 7bb43f8e1..0874857e4 100644 --- a/src/steam/mobject/session/session-services.hpp +++ b/src/steam/mobject/session/session-services.hpp @@ -78,7 +78,7 @@ namespace mobject { namespace session { using lib::meta::InstantiateChained; - using lib::meta::Types; + using lib::meta::TyOLD; /** diff --git a/tests/basics/time/format-support-test.cpp b/tests/basics/time/format-support-test.cpp index a5b27b279..1e79453b4 100644 --- a/tests/basics/time/format-support-test.cpp +++ b/tests/basics/time/format-support-test.cpp @@ -39,8 +39,8 @@ namespace test { run (Arg) { SupportStandardTimecode just_fine; - Supported just_smpte = Supported::formats< Types >(); - Supported just_simple = Supported::formats< Types >(); + Supported just_smpte = Supported::formats< TyOLD >(); + Supported just_simple = Supported::formats< TyOLD >(); Supported& support1 (just_fine); Supported& support2 (just_smpte); diff --git a/tests/basics/time/time-control-test.cpp b/tests/basics/time/time-control-test.cpp index 79abb5a57..32e57c305 100644 --- a/tests/basics/time/time-control-test.cpp +++ b/tests/basics/time/time-control-test.cpp @@ -46,7 +46,7 @@ namespace test{ using lib::wrapper::ItemWrapper; using steam::asset::meta::TimeGrid; - using lib::meta::Types; + using lib::meta::TyOLD; using lib::meta::InstantiateChainedCombinations; using LERR_(UNCONNECTED); @@ -475,8 +475,8 @@ namespace test{ void TimeControl_test::verifyMatrix_of_MutationCases (TimeValue const& origVal, TimeValue const& change) { - typedef Types KindsOfTarget; // time entities to receive value changes - typedef Types KindsOfSource; // time entities to be used as change values + typedef TyOLD KindsOfTarget; // time entities to receive value changes + typedef TyOLD KindsOfSource; // time entities to be used as change values typedef InstantiateChainedCombinations< KindsOfTarget , KindsOfSource , TestCase // template to be instantiated for each type diff --git a/tests/basics/visitingtool-extended-test.cpp b/tests/basics/visitingtool-extended-test.cpp index 280094d95..a95925b3a 100644 --- a/tests/basics/visitingtool-extended-test.cpp +++ b/tests/basics/visitingtool-extended-test.cpp @@ -65,7 +65,7 @@ namespace test2 { class Babbler : public Applicable< Babbler, - Types::List, // treat this types + TyOLD::List, // treat this types VerboseVisitor // intermediary base class > { @@ -114,7 +114,7 @@ namespace test2 { */ class Blatherer : public Applicable< Blatherer, - Types::List, // get calls to Visionary dispatched + TyOLD::List, // get calls to Visionary dispatched VerboseVisitor // note: different tool base class > { diff --git a/tests/basics/visitingtool-test.cpp b/tests/basics/visitingtool-test.cpp index 3fdca509a..d5ea32698 100644 --- a/tests/basics/visitingtool-test.cpp +++ b/tests/basics/visitingtool-test.cpp @@ -74,7 +74,7 @@ namespace test1 { class Babbler : public Applicable< Babbler - , Types::List // dispatch calls to this types + , TyOLD::List // dispatch calls to this types , VerboseVisitor > { diff --git a/tests/core/steam/control/command-clone-builder-test.cpp b/tests/core/steam/control/command-clone-builder-test.cpp index 07b08b8fb..cbb72c968 100644 --- a/tests/core/steam/control/command-clone-builder-test.cpp +++ b/tests/core/steam/control/command-clone-builder-test.cpp @@ -111,7 +111,7 @@ namespace test { void bindRandArgument (CommandImpl& cmd) { - typedef Types ArgType; + typedef TyOLD ArgType; TypedArguments> arg (std::make_tuple (rani (10000))); cmd.setArguments (arg); CHECK (cmd.canExec()); diff --git a/tests/core/steam/control/command-equality-test.cpp b/tests/core/steam/control/command-equality-test.cpp index 77eb9385c..e56415fae 100644 --- a/tests/core/steam/control/command-equality-test.cpp +++ b/tests/core/steam/control/command-equality-test.cpp @@ -79,7 +79,7 @@ namespace test { typedef function Fun_c; typedef function Fun_u; - using ArgTuple = Tuple>; + using ArgTuple = Tuple>; using ArgHolder = OpClosure; using MemHolder = MementoTie; using Closure = SimpleClosure; diff --git a/tests/core/steam/control/command-mutation-test.cpp b/tests/core/steam/control/command-mutation-test.cpp index 4edf8f135..990a6a0a7 100644 --- a/tests/core/steam/control/command-mutation-test.cpp +++ b/tests/core/steam/control/command-mutation-test.cpp @@ -107,7 +107,7 @@ namespace test { VERIFY_ERROR (UNBOUND_ARGUMENTS, functor(nullClosure) ); // now create a real closure.... - Tuple> param = std::make_tuple (23); + Tuple> param = std::make_tuple (23); SimpleClosure closed_over{param}; CmdClosure& closure (closed_over); @@ -154,7 +154,7 @@ namespace test { VERIFY_ERROR (UNBOUND_ARGUMENTS, undoFunctor(nullClosure) ); VERIFY_ERROR (UNBOUND_ARGUMENTS, undoFunctor.captureState(nullClosure) ); - Tuple > param; + Tuple > param; SimpleClosure clo{param}; CHECK (!mementoHolder); diff --git a/tests/core/steam/control/command-registry-test.cpp b/tests/core/steam/control/command-registry-test.cpp index de4006041..06ab6f8f4 100644 --- a/tests/core/steam/control/command-registry-test.cpp +++ b/tests/core/steam/control/command-registry-test.cpp @@ -210,7 +210,7 @@ namespace test { CHECK (!isSameObject (*pImpl, *clone)); CHECK (!pImpl->canExec()); - typedef Types ArgType; + typedef TyOLD ArgType; TypedArguments> arg{Tuple(98765)}; pImpl->setArguments(arg); CHECK (pImpl->canExec()); diff --git a/tests/core/steam/control/handling-pattern-basics-test.cpp b/tests/core/steam/control/handling-pattern-basics-test.cpp index 6b15fe8be..83602140c 100644 --- a/tests/core/steam/control/handling-pattern-basics-test.cpp +++ b/tests/core/steam/control/handling-pattern-basics-test.cpp @@ -168,7 +168,7 @@ namespace test { CHECK (com); CHECK (!com->canExec()); - typedef Types ArgType; + typedef TyOLD ArgType; const int ARGR{1 + rani (1000)}; Tuple tuple(ARGR); TypedArguments> arg(tuple); diff --git a/tests/core/steam/mobject/builder/builder-tool-test.cpp b/tests/core/steam/mobject/builder/builder-tool-test.cpp index 5b1bd9c61..0052d6687 100644 --- a/tests/core/steam/mobject/builder/builder-tool-test.cpp +++ b/tests/core/steam/mobject/builder/builder-tool-test.cpp @@ -59,7 +59,7 @@ namespace test { * so it will call the \c onUnknown(Buildable&) instead */ class TestTool - : public Applicable::List> + : public Applicable::List> { public: string log_; diff --git a/tests/core/steam/mobject/session/session-service-access-test.cpp b/tests/core/steam/mobject/session/session-service-access-test.cpp index c8fcef95c..725f29243 100644 --- a/tests/core/steam/mobject/session/session-service-access-test.cpp +++ b/tests/core/steam/mobject/session/session-service-access-test.cpp @@ -41,7 +41,7 @@ namespace test { namespace { // what follows is a simulated (simplified) version // of the complete Session + SessionManager setup..... - using lib::meta::Types; + using lib::meta::TyOLD; using lib::meta::InstantiateChained; @@ -161,7 +161,7 @@ namespace test { struct TSessManagerImpl; - typedef TSessionServices< Types + typedef TSessionServices< TyOLD , TSessManagerImpl , TSessionImpl > SessionImplAPI; diff --git a/tests/library/meta/function-closure-test.cpp b/tests/library/meta/function-closure-test.cpp index b95357976..814c12caf 100644 --- a/tests/library/meta/function-closure-test.cpp +++ b/tests/library/meta/function-closure-test.cpp @@ -52,11 +52,11 @@ namespace test { - typedef Types< Num<1> + typedef TyOLD< Num<1> , Num<2> , Num<3> >::List List1; - typedef Types< Num<5> + typedef TyOLD< Num<5> , Num<6> , Num<7> >::List List2; @@ -153,10 +153,10 @@ namespace test { { cout << "\t:\n\t: ---Apply---\n"; - Tuple> tup0 ; - Tuple> tup1 (11); - Tuple> tup2 (11,12); - Tuple> tup3 (11,12,13); + Tuple> tup0 ; + Tuple> tup1 (11); + Tuple> tup2 (11,12); + Tuple> tup3 (11,12,13); DUMPVAL (tup0); DUMPVAL (tup1); DUMPVAL (tup2); @@ -183,10 +183,10 @@ namespace test { void check_applyFunc () { - Tuple> tup0 ; - Tuple> tup1 (11); - Tuple> tup2 (11,12); - Tuple> tup3 (11,12,13); + Tuple> tup0 ; + Tuple> tup1 (11); + Tuple> tup2 (11,12); + Tuple> tup3 (11,12,13); function functor0 (fun0); function functor1 (fun1); function functor2 (fun2); @@ -215,10 +215,10 @@ namespace test { { cout << "\t:\n\t: ---Bind----\n"; - Tuple> tup0 ; - Tuple> tup1 (11); - Tuple> tup2 (11,12); - Tuple> tup3 (11,12,13); + Tuple> tup0 ; + Tuple> tup1 (11); + Tuple> tup2 (11,12); + Tuple> tup3 (11,12,13); typedef function BoundFun; @@ -248,10 +248,10 @@ namespace test { void check_bindFunc () { - Tuple> tup0 ; - Tuple> tup1 (11); - Tuple> tup2 (11,12); - Tuple> tup3 (11,12,13); + Tuple> tup0 ; + Tuple> tup1 (11); + Tuple> tup2 (11,12); + Tuple> tup3 (11,12,13); function unbound_functor0 (fun0); function unbound_functor1 (fun1); function unbound_functor2 (fun2); @@ -285,10 +285,10 @@ namespace test { void build_closure () { - Tuple> tup0 ; - Tuple> tup1 (11); - Tuple> tup2 (11,12); - Tuple> tup3 (11,12,13); + Tuple> tup0 ; + Tuple> tup1 (11); + Tuple> tup2 (11,12); + Tuple> tup3 (11,12,13); FunctionClosure clo0 (fun0,tup0); FunctionClosure clo1 (fun1,tup1); @@ -327,7 +327,7 @@ namespace test { // finally combine all techniques.... - using NumberzArg = Types::Seq; + using NumberzArg = TyOLD::Seq; using NumberzSig = BuildFunType::Sig; Tuple numberzTup (Num<5>(22), Num<6>(33), Num<7>(44)); diff --git a/tests/library/meta/function-composition-test.cpp b/tests/library/meta/function-composition-test.cpp index e63872159..f92782d78 100644 --- a/tests/library/meta/function-composition-test.cpp +++ b/tests/library/meta/function-composition-test.cpp @@ -200,7 +200,7 @@ namespace test { // Version2: extract the binding arguments from a tuple--- // - using PartialArg = Tuple, PH1, PH2>>; // Tuple type to hold the binding values. Note the placeholder types + using PartialArg = Tuple, PH1, PH2>>; // Tuple type to hold the binding values. Note the placeholder types PartialArg arg(num18, PH1(), PH2()); // Value for partial application (the placeholders are default constructed) fun_23 = std::bind (f, get<0>(arg) // now extract the values to bind from this tuple @@ -216,7 +216,7 @@ namespace test { // Version3: let the PApply-template do the work for us--- // - typedef Types> ArgTypes; // now package just the argument(s) to be applied into a tuple + typedef TyOLD> ArgTypes; // now package just the argument(s) to be applied into a tuple Tuple args_to_bind (Num<1>(18)); fun_23 = PApply::bindFront (f , args_to_bind); @@ -279,7 +279,7 @@ namespace test { // covering the general case of partial function closure: typedef Num<5> Sig54321(Num<5>, Num<4>, Num<3>, Num<2>, Num<1>); // Signature of the 5-argument function typedef Num<5> Sig54 (Num<5>, Num<4>); // ...closing the last 3 arguments should yield this 2-argument function - typedef Types,Num<2>,Num<1>> Args2Close; // Tuple type to hold the 3 argument values used for the closure + typedef TyOLD,Num<2>,Num<1>> Args2Close; // Tuple type to hold the 3 argument values used for the closure // Close the trailing 3 arguments of the 5-argument function... function fun_54 = PApply::bindBack(fun15<5,4,3,2,1>, diff --git a/tests/library/meta/generator-combinations-test.cpp b/tests/library/meta/generator-combinations-test.cpp index 17b09d901..60d2e8794 100644 --- a/tests/library/meta/generator-combinations-test.cpp +++ b/tests/library/meta/generator-combinations-test.cpp @@ -35,11 +35,11 @@ namespace test { namespace { // test cases and data.... - typedef Types< Num<1> + typedef TyOLD< Num<1> , Num<3> , Num<5> > Types1; - typedef Types< Num<2> + typedef TyOLD< Num<2> , Num<4> , Num<6> > Types2; diff --git a/tests/library/meta/generator-test.cpp b/tests/library/meta/generator-test.cpp index 3b4f04df1..ccb487e16 100644 --- a/tests/library/meta/generator-test.cpp +++ b/tests/library/meta/generator-test.cpp @@ -88,7 +88,7 @@ namespace test { using BASE::eat; // prevent shadowing }; - typedef Types< Block<1> + typedef TyOLD< Block<1> , Block<2> , Block<3> , Block<5> diff --git a/tests/library/meta/meta-utils-test.cpp b/tests/library/meta/meta-utils-test.cpp index f33f8eb81..bf93b4970 100644 --- a/tests/library/meta/meta-utils-test.cpp +++ b/tests/library/meta/meta-utils-test.cpp @@ -203,13 +203,13 @@ namespace test { //-------------------------------------------------TEST-types-- - typedef Types< int + typedef TyOLD< int , uint , int64_t , uint64_t >::List TheList; - typedef Types< >::List EmptyList; + typedef TyOLD< >::List EmptyList; //-------------------------------------------------TEST-types-- diff --git a/tests/library/meta/tuple-helper-test.cpp b/tests/library/meta/tuple-helper-test.cpp index 4cc77e324..94adcc37c 100644 --- a/tests/library/meta/tuple-helper-test.cpp +++ b/tests/library/meta/tuple-helper-test.cpp @@ -43,14 +43,14 @@ namespace test { namespace { // test data - typedef Types< Num<1> + typedef TyOLD< Num<1> , Num<3> , Num<5> > Types1; - typedef Types< Num<2> + typedef TyOLD< Num<2> , Num<4> > Types2; - typedef Types< Num<7>> Types3; + typedef TyOLD< Num<7>> Types3; @@ -125,7 +125,7 @@ namespace test { Prepend prep (22, 11,33,Num<5>()); DUMPVAL (prep); - typedef Tuple > NulT; // plain-flat empty Tuple + typedef Tuple > NulT; // plain-flat empty Tuple typedef Tuple NulL; // list-style empty Tuple NulT nulT; // and these, too, can be instantiated diff --git a/tests/library/meta/tuple-record-init-test.cpp b/tests/library/meta/tuple-record-init-test.cpp index 134021498..171156913 100644 --- a/tests/library/meta/tuple-record-init-test.cpp +++ b/tests/library/meta/tuple-record-init-test.cpp @@ -31,7 +31,7 @@ using lib::idi::EntryID; using lib::diff::Rec; using lib::diff::MakeRec; using lib::diff::GenNode; -using lib::meta::Types; +using lib::meta::TyOLD; using lib::meta::Tuple; using lib::meta::buildTuple; using lib::time::Duration; @@ -82,8 +82,8 @@ namespace test { void show_simpleUsage() { - using NiceTypes = Types; - using UgglyTypes = Types, Symbol, int, int64_t, double, Duration>; // various conversions and an immutable type (Duration) + using NiceTypes = TyOLD; + using UgglyTypes = TyOLD, Symbol, int, int64_t, double, Duration>; // various conversions and an immutable type (Duration) Rec args = MakeRec().scope("lalü", 42); Rec urgs = MakeRec().scope("lalü", "lala", 12, 34, 5.6, Time(7,8,9)); @@ -101,19 +101,19 @@ namespace test { { Rec args = MakeRec().scope("surprise", 42); - using TooMany = Types; + using TooMany = TyOLD; VERIFY_ERROR (WRONG_TYPE, buildTuple (args)); // number of types in tuple exceeds capacity of the supplied argument record - using Unsigned = Types; - using Floating = Types; - using Narrowing = Types; + using Unsigned = TyOLD; + using Floating = TyOLD; + using Narrowing = TyOLD; VERIFY_ERROR (WRONG_TYPE, buildTuple (args)); // dangerous conversion from signed to unsigned int is prohibited VERIFY_ERROR (WRONG_TYPE, buildTuple (args)); // conversion from integral to floating point element is prohibited VERIFY_ERROR (WRONG_TYPE, buildTuple (args)); // narrowing conversion from int to short is prohibited // yet other (non-numeric) conversions are still possible Rec timeArg = MakeRec().scope(Time(1,2,3,4)); - using TupStr = Types; + using TupStr = TyOLD; Tuple tup = buildTuple (timeArg); CHECK (std::get (tup) == "4:03:02.001"); @@ -126,7 +126,7 @@ namespace test { VERIFY_ERROR (WRONG_TYPE, buildTuple (args)); VERIFY_ERROR (WRONG_TYPE, buildTuple (args)); - using ToSizeT = Types; + using ToSizeT = TyOLD; VERIFY_ERROR (WRONG_TYPE, (buildTuple (args))); // not even conversion to size_t is allowed struct Dummy @@ -138,7 +138,7 @@ namespace test { { } }; - using WithDummy = Types; + using WithDummy = TyOLD; Tuple tup2 = buildTuple (hashArg); // while any type explicitly constructible from LUID are permitted. VERIFY_ERROR (WRONG_TYPE, buildTuple (args)); // building a Dummy from int(42) is disallowed, of course diff --git a/tests/library/meta/typelist-manip-test.cpp b/tests/library/meta/typelist-manip-test.cpp index 14bfc092a..901d5944c 100644 --- a/tests/library/meta/typelist-manip-test.cpp +++ b/tests/library/meta/typelist-manip-test.cpp @@ -52,11 +52,11 @@ namespace test { - typedef Types< Num<1> + typedef TyOLD< Num<1> , Num<2> , Num<3> >::List List1; - typedef Types< Num<5> + typedef TyOLD< Num<5> , Num<6> , Num<7> >::List List2; @@ -173,7 +173,7 @@ namespace test { void check_splice () { - typedef Types,Num<8>>::List OLi; + typedef TyOLD,Num<8>>::List OLi; // will "paste" the list OLi "on top" of another Typelist... typedef Splice Overl01; @@ -216,7 +216,7 @@ namespace test { DISPLAY (Overl13); - typedef Types>::List OLi2; + typedef TyOLD>::List OLi2; typedef Splice::Front Front1; typedef Splice::Front Front2; typedef Splice::Front Front3; @@ -244,7 +244,7 @@ namespace test { typedef SplitLast::Type Elm; typedef SplitLast::List Prefix; - typedef Types::List ElmL; + typedef TyOLD::List ElmL; DISPLAY (Prefix); DISPLAY (ElmL); @@ -253,13 +253,13 @@ namespace test { typedef SplitLast::List NPrefix; DISPLAY (NPrefix); - DISPLAY (Types); + DISPLAY (TyOLD); typedef SplitLast::Type Nil; typedef SplitLast::List NList; DISPLAY (NList); - DISPLAY (Types); + DISPLAY (TyOLD); } @@ -278,7 +278,7 @@ namespace test { typedef Dissect::Head Head; typedef Dissect::End End; - typedef Types HeadEnd; DISPLAY(HeadEnd); + typedef TyOLD HeadEnd; DISPLAY(HeadEnd); } @@ -318,7 +318,7 @@ namespace test { typedef PrefixAll Prefix3; DISPLAY (Prefix3); - typedef Types,List2::List>::List List_of_Lists; + typedef TyOLD,List2::List>::List List_of_Lists; typedef PrefixAll,List_of_Lists> Prefix4; DISPLAY (Prefix4); @@ -336,14 +336,14 @@ namespace test { typedef Distribute, List1> Dist1; DISPLAY (Dist1); - typedef Types,Num<22>,Num<33>>::List Prefixes; + typedef TyOLD,Num<22>,Num<33>>::List Prefixes; typedef Distribute> Dist2; DISPLAY (Dist2); typedef Distribute Dist3; DISPLAY (Dist3); - typedef Distribute::List> Dist4; + typedef Distribute::List> Dist4; DISPLAY (Dist4); } diff --git a/tests/library/meta/typelist-test.cpp b/tests/library/meta/typelist-test.cpp index e21fa94d9..b9b790876 100644 --- a/tests/library/meta/typelist-test.cpp +++ b/tests/library/meta/typelist-test.cpp @@ -40,7 +40,7 @@ namespace test { }; - typedef Types< Block<1> + typedef TyOLD< Block<1> , Block<2> , Block<3> , Block<5> diff --git a/tests/library/meta/typelist-util-test.cpp b/tests/library/meta/typelist-util-test.cpp index 7c8ec0a5e..7d434a600 100644 --- a/tests/library/meta/typelist-util-test.cpp +++ b/tests/library/meta/typelist-util-test.cpp @@ -27,13 +27,13 @@ namespace test { - typedef Types< int + typedef TyOLD< int , uint , int64_t , uint64_t >::List TheList; - typedef Types< >::List EmptyList; + typedef TyOLD< >::List EmptyList; diff --git a/tests/library/meta/typeseq-manip-test.cpp b/tests/library/meta/typeseq-manip-test.cpp index fd57c20d3..b32dd37e3 100644 --- a/tests/library/meta/typeseq-manip-test.cpp +++ b/tests/library/meta/typeseq-manip-test.cpp @@ -44,11 +44,11 @@ namespace test { namespace { // test data - typedef Types< Num<1> + typedef TyOLD< Num<1> , Num<2> , Num<3> > Types1; - typedef Types< Num<7> + typedef TyOLD< Num<7> , Num<8> , Num<9> > Types2; @@ -99,12 +99,12 @@ namespace test { typedef Append::List LL; DISPLAY (LL); - typedef Types::Seq Seq; + typedef TyOLD::Seq Seq; typedef Seq::List SeqList; DISPLAY (Seq); DISPLAY (SeqList); - typedef Types::Seq NulS; + typedef TyOLD::Seq NulS; DISPLAY (NulS); } @@ -118,10 +118,10 @@ namespace test { typedef Prepend Prepend2; DISPLAY(Prepend2); - typedef Prepend, Types<> > Prepend3; + typedef Prepend, TyOLD<> > Prepend3; DISPLAY(Prepend3); - typedef Prepend > Prepend4; + typedef Prepend > Prepend4; DISPLAY(Prepend4); } @@ -130,7 +130,7 @@ namespace test { check_shift () { typedef Append::List LL; - typedef Types::Seq Seq; + typedef TyOLD::Seq Seq; typedef Shifted::Type Seq_0; DISPLAY (Seq_0); typedef Shifted::Type Seq_1; DISPLAY (Seq_1); @@ -140,13 +140,13 @@ namespace test { typedef Shifted::Type Seq_5; DISPLAY (Seq_5); typedef Shifted::Type Seq_6; DISPLAY (Seq_6); - typedef Types::Head> Head_0; DISPLAY (Head_0); - typedef Types::Head> Head_1; DISPLAY (Head_1); - typedef Types::Head> Head_2; DISPLAY (Head_2); - typedef Types::Head> Head_3; DISPLAY (Head_3); - typedef Types::Head> Head_4; DISPLAY (Head_4); - typedef Types::Head> Head_5; DISPLAY (Head_5); - typedef Types::Head> Head_6; DISPLAY (Head_6); + typedef TyOLD::Head> Head_0; DISPLAY (Head_0); + typedef TyOLD::Head> Head_1; DISPLAY (Head_1); + typedef TyOLD::Head> Head_2; DISPLAY (Head_2); + typedef TyOLD::Head> Head_3; DISPLAY (Head_3); + typedef TyOLD::Head> Head_4; DISPLAY (Head_4); + typedef TyOLD::Head> Head_5; DISPLAY (Head_5); + typedef TyOLD::Head> Head_6; DISPLAY (Head_6); } @@ -154,7 +154,7 @@ namespace test { check_split () { typedef Append::List LL; - typedef Types::Seq Seq; + typedef TyOLD::Seq Seq; DISPLAY (Seq); typedef Split::List List; DISPLAY(List); @@ -166,7 +166,7 @@ namespace test { typedef Split::Head Head; typedef Split::End End; - typedef Types HeadEnd; DISPLAY(HeadEnd); + typedef TyOLD HeadEnd; DISPLAY(HeadEnd); } diff --git a/tests/library/variant-test.cpp b/tests/library/variant-test.cpp index 5a8e2a222..54a91d5aa 100644 --- a/tests/library/variant-test.cpp +++ b/tests/library/variant-test.cpp @@ -31,7 +31,7 @@ namespace lib { namespace test{ using ::Test; - using meta::Types; + using meta::TyOLD; using lib::time::Time; using lib::time::TimeVar; @@ -43,7 +43,7 @@ namespace test{ // Test fixture... - typedef Variant> TestVariant; + typedef Variant> TestVariant; diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index 5987a1712..dcb5cf1e7 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -58642,6 +58642,10 @@ + + + + @@ -164188,6 +164192,47 @@ Since then others have made contributions, see the log for the history. + + + + + + + + + + +

+ Zwar wird daran die Compilation mit C++20 nicht scheitern, aber danach dürfte doch ein gewisser Aufbruch stattfinden — und solche problematischen Reste der Zeit vor C++11 geraten dann zunehmend zum Hindernis. +

+ +
+
+ + + + +

+ ...indem ich den bisherigen »Workaround« in den wichtigsten Definitionen unmittelbar daneben gestellt habe; teilweise können beide Fälle bereits koexistieren +

+ +
+
+ + + + +

+ Vorbereitung: alten Typ umbenennen: Types<TY...> in TyOLD<TY...> +

+ +
+ +
+ + + +