From 3638d89f8b99cde27b7c793c513d6f4da1ba45fd Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Sat, 28 Mar 2026 13:50:27 +0000 Subject: [PATCH] Fix for PR 1367 --- .../etl/generators/type_lookup_generator.h | 46 +++++++++---------- include/etl/type_lookup.h | 26 +++++------ 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/include/etl/generators/type_lookup_generator.h b/include/etl/generators/type_lookup_generator.h index 01a025d8..f3287662 100644 --- a/include/etl/generators/type_lookup_generator.h +++ b/include/etl/generators/type_lookup_generator.h @@ -96,7 +96,7 @@ namespace etl struct nulltype {}; // For N type pairs. - template + template struct type_from_id_helper { using type = typename etl::conditional + template struct type_from_id_helper { using type = typename etl::conditional, -%s>," %(n, n)) + cog.outl(" typename T%s = etl::type_id_pair, -%s>," %(n, n)) cog.outl(" typename T%s = etl::type_id_pair, -%s> >" %(NTypes, NTypes)) cog.outl("struct type_id_lookup") cog.outl("{") @@ -246,17 +246,17 @@ namespace etl cog.outl(" {") cog.outl(" typedef ") for n in range(1, int(NTypes) + 1): - cog.outl(" typename etl::conditional >") for n in range(1, int(NTypes) + 1): - if n == int(NTypes): - cog.outl("::type type;") - else: - cog.out("::type>") - if n % 4 == 0: - if n != int(NTypes): - cog.outl("") - cog.out(" ") + if n == int(NTypes): + cog.outl("::type type;") + else: + cog.out("::type>") + if n % 4 == 0: + if n != int(NTypes): + cog.outl("") + cog.out(" ") cog.outl("") cog.outl(" ETL_STATIC_ASSERT(!(etl::is_same, type>::value), \"Invalid id\");") cog.outl(" };") @@ -274,7 +274,7 @@ namespace etl cog.outl(" {") cog.outl(" value =") for n in range(1, int(NTypes) + 1) : - cog.outl(" (unsigned int) etl::is_same::value ? (unsigned int)T%s::Id :" % (n, n)) + cog.outl(" (unsigned int) etl::is_same::value ? (unsigned int)T%s::Id :" % (n, n)) cog.outl(" (unsigned int) UNKNOWN") cog.outl(" };") cog.outl("") @@ -301,7 +301,7 @@ namespace etl cog.outl("//***************************************************************************") cog.outl("template , etl::null_type<0> >," %n) + cog.outl(" typename T%s = etl::type_type_pair, etl::null_type<0> >," %n) cog.outl(" typename T%s = etl::type_type_pair, etl::null_type<0> > >" %NTypes) cog.outl("struct type_type_lookup") cog.outl("{") @@ -313,17 +313,17 @@ namespace etl cog.outl(" {") cog.outl(" typedef ") for n in range(1, int(NTypes) + 1): - cog.outl(" typename etl::conditional::value, typename T%s::type2," %(n, n)) + cog.outl(" typename etl::conditional::value, typename T%s::type2," %(n, n)) cog.out(" etl::null_type<0> >") for n in range(1, int(NTypes) + 1): - if n == int(NTypes): - cog.outl("::type type;") - else: - cog.out("::type>") - if n % 8 == 0: - if n != int(NTypes): - cog.outl("") - cog.out(" ") + if n == int(NTypes): + cog.outl("::type type;") + else: + cog.out("::type>") + if n % 8 == 0: + if n != int(NTypes): + cog.outl("") + cog.out(" ") cog.outl("") cog.outl(" ETL_STATIC_ASSERT(!(etl::is_same, type>::value), \"Invalid type\");") cog.outl(" };") diff --git a/include/etl/type_lookup.h b/include/etl/type_lookup.h index 0ae1fd26..9e8a7234 100644 --- a/include/etl/type_lookup.h +++ b/include/etl/type_lookup.h @@ -73,7 +73,7 @@ namespace etl #if ETL_USING_CPP11 && !defined(ETL_TYPE_SELECT_FORCE_CPP03_IMPLEMENTATION) //*************************************************************************** - // type_id_lookup + // type_id_lookup //*************************************************************************** template struct type_id_lookup @@ -84,21 +84,21 @@ namespace etl struct nulltype {}; // For N type pairs. - template + template struct type_from_id_helper { using type = typename etl::conditional::type>::type; + typename T1::type, + typename type_from_id_helper::type>::type; }; // Specialisation for 1 type pair. - template + template struct type_from_id_helper { using type = typename etl::conditional::type; + typename T1::type, + nulltype>::type; }; public: @@ -159,7 +159,7 @@ namespace etl { return get_id_from_type(); } - + //************************************ template static unsigned int get_id_from_type() @@ -183,16 +183,16 @@ namespace etl struct type_from_type_helper { using type = typename etl::conditional::value, - typename T1::type2, - typename type_from_type_helper::type>::type; + typename T1::type2, + typename type_from_type_helper::type>::type; }; template struct type_from_type_helper { using type = typename etl::conditional::value, - typename T1::type2, - nulltype>::type; + typename T1::type2, + nulltype>::type; }; public: @@ -370,4 +370,4 @@ namespace etl #endif } -#endif +#endif \ No newline at end of file