From ecdf1b3db8b2132e8a5578ea84d018b677b16bc1 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Fri, 9 Oct 2026 20:37:23 +0100 Subject: [PATCH] Removed the 32 type limit for visitor and operator visits Deleted variant_select_do_operator and variant_select_do_visitor headers --- .../etl/private/variant_select_do_operator.h | 3133 ----------------- .../etl/private/variant_select_do_visitor.h | 3133 ----------------- include/etl/private/variant_variadic.h | 222 +- test/CMakeLists.txt | 370 -- test/vs2022/etl.vcxproj | 4 +- test/vs2022/etl.vcxproj.filters | 8 +- 6 files changed, 145 insertions(+), 6725 deletions(-) delete mode 100644 include/etl/private/variant_select_do_operator.h delete mode 100644 include/etl/private/variant_select_do_visitor.h diff --git a/include/etl/private/variant_select_do_operator.h b/include/etl/private/variant_select_do_operator.h deleted file mode 100644 index 42bcb0d0..00000000 --- a/include/etl/private/variant_select_do_operator.h +++ /dev/null @@ -1,3133 +0,0 @@ -/****************************************************************************** -The MIT License(MIT) - -Embedded Template Library. -https://github.com/ETLCPP/etl -https://www.etlcpp.com - -Copyright(c) 2025 John Wellbelove - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files(the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and / or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions : - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -******************************************************************************/ - -//*************************************************************************** -// This file is included in variant_variadic.h for C++11 and C++14, as they -// do not support template fold expressions. -//*************************************************************************** - -namespace private_variant -{ - //*************************************************************************** - // Selects a do_operator implementation that is configured for the number of - // types. - //*************************************************************************** - template - struct select_do_operator; - - //*************************************************************************** - template <> - struct select_do_operator<1> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<2> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<3> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<4> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<5> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<6> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<7> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<8> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - default: break; - } - } - }; -#if !defined(ETL_VARIANT_CPP11_MAX_8_TYPES) - //*************************************************************************** - template <> - struct select_do_operator<9> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<10> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<11> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<12> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<13> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<14> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<15> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<16> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - default: break; - } - } - }; - #if !defined(ETL_VARIANT_CPP11_MAX_16_TYPES) - //*************************************************************************** - template <> - struct select_do_operator<17> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<18> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<19> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<20> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<21> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<22> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<23> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<24> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - default: break; - } - } - }; - #if !defined(ETL_VARIANT_CPP11_MAX_24_TYPES) - //*************************************************************************** - template <> - struct select_do_operator<25> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor(etl::get<24>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<26> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor(etl::get<25>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<27> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor(etl::get<26>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<28> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor(etl::get<27>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<29> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor(etl::get<27>(the_variant)); - break; - } - case 28: - { - visitor(etl::get<28>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<30> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor(etl::get<27>(the_variant)); - break; - } - case 28: - { - visitor(etl::get<28>(the_variant)); - break; - } - case 29: - { - visitor(etl::get<29>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<31> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor(etl::get<27>(the_variant)); - break; - } - case 28: - { - visitor(etl::get<28>(the_variant)); - break; - } - case 29: - { - visitor(etl::get<29>(the_variant)); - break; - } - case 30: - { - visitor(etl::get<30>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_operator<32> - { - template - static void do_operator(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor(etl::get<27>(the_variant)); - break; - } - case 28: - { - visitor(etl::get<28>(the_variant)); - break; - } - case 29: - { - visitor(etl::get<29>(the_variant)); - break; - } - case 30: - { - visitor(etl::get<30>(the_variant)); - break; - } - case 31: - { - visitor(etl::get<31>(the_variant)); - break; - } - default: break; - } - } - }; - #endif - #endif -#endif -} // namespace private_variant diff --git a/include/etl/private/variant_select_do_visitor.h b/include/etl/private/variant_select_do_visitor.h deleted file mode 100644 index 58a6e2d6..00000000 --- a/include/etl/private/variant_select_do_visitor.h +++ /dev/null @@ -1,3133 +0,0 @@ -/****************************************************************************** -The MIT License(MIT) - -Embedded Template Library. -https://github.com/ETLCPP/etl -https://www.etlcpp.com - -Copyright(c) 2025 John Wellbelove - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files(the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and / or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions : - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -******************************************************************************/ - -//*************************************************************************** -// This file is included in variant_variadic.h for C++11 and C++14, as they -// do not support template fold expressions. -//*************************************************************************** - -namespace private_variant -{ - //*************************************************************************** - // Selects a do_visitor implementation that is configured for the number of - // types. - //*************************************************************************** - template - struct select_do_visitor; - - //*************************************************************************** - template <> - struct select_do_visitor<1> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<2> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<3> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<4> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<5> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<6> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<7> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<8> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - default: break; - } - } - }; -#if !defined(ETL_VARIANT_CPP11_MAX_8_TYPES) - //*************************************************************************** - template <> - struct select_do_visitor<9> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<10> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<11> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<12> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<13> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<14> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<15> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<16> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - default: break; - } - } - }; - #if !defined(ETL_VARIANT_CPP11_MAX_16_TYPES) - //*************************************************************************** - template <> - struct select_do_visitor<17> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<18> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<19> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<20> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<21> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<22> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<23> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<24> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - default: break; - } - } - }; - #if !defined(ETL_VARIANT_CPP11_MAX_24_TYPES) - //*************************************************************************** - template <> - struct select_do_visitor<25> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor.visit(etl::get<24>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<26> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor.visit(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor.visit(etl::get<25>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<27> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor.visit(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor.visit(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor.visit(etl::get<26>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<28> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor.visit(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor.visit(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor.visit(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor.visit(etl::get<27>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<29> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor.visit(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor.visit(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor.visit(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor.visit(etl::get<27>(the_variant)); - break; - } - case 28: - { - visitor.visit(etl::get<28>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<30> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor.visit(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor.visit(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor.visit(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor.visit(etl::get<27>(the_variant)); - break; - } - case 28: - { - visitor.visit(etl::get<28>(the_variant)); - break; - } - case 29: - { - visitor.visit(etl::get<29>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<31> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor.visit(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor.visit(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor.visit(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor.visit(etl::get<27>(the_variant)); - break; - } - case 28: - { - visitor.visit(etl::get<28>(the_variant)); - break; - } - case 29: - { - visitor.visit(etl::get<29>(the_variant)); - break; - } - case 30: - { - visitor.visit(etl::get<30>(the_variant)); - break; - } - default: break; - } - } - }; - - //*************************************************************************** - template <> - struct select_do_visitor<32> - { - template - static void do_visitor(TVariant& the_variant, TVisitor& visitor) - { - switch (the_variant.index()) - { - case 0: - { - visitor.visit(etl::get<0>(the_variant)); - break; - } - case 1: - { - visitor.visit(etl::get<1>(the_variant)); - break; - } - case 2: - { - visitor.visit(etl::get<2>(the_variant)); - break; - } - case 3: - { - visitor.visit(etl::get<3>(the_variant)); - break; - } - case 4: - { - visitor.visit(etl::get<4>(the_variant)); - break; - } - case 5: - { - visitor.visit(etl::get<5>(the_variant)); - break; - } - case 6: - { - visitor.visit(etl::get<6>(the_variant)); - break; - } - case 7: - { - visitor.visit(etl::get<7>(the_variant)); - break; - } - case 8: - { - visitor.visit(etl::get<8>(the_variant)); - break; - } - case 9: - { - visitor.visit(etl::get<9>(the_variant)); - break; - } - case 10: - { - visitor.visit(etl::get<10>(the_variant)); - break; - } - case 11: - { - visitor.visit(etl::get<11>(the_variant)); - break; - } - case 12: - { - visitor.visit(etl::get<12>(the_variant)); - break; - } - case 13: - { - visitor.visit(etl::get<13>(the_variant)); - break; - } - case 14: - { - visitor.visit(etl::get<14>(the_variant)); - break; - } - case 15: - { - visitor.visit(etl::get<15>(the_variant)); - break; - } - case 16: - { - visitor.visit(etl::get<16>(the_variant)); - break; - } - case 17: - { - visitor.visit(etl::get<17>(the_variant)); - break; - } - case 18: - { - visitor.visit(etl::get<18>(the_variant)); - break; - } - case 19: - { - visitor.visit(etl::get<19>(the_variant)); - break; - } - case 20: - { - visitor.visit(etl::get<20>(the_variant)); - break; - } - case 21: - { - visitor.visit(etl::get<21>(the_variant)); - break; - } - case 22: - { - visitor.visit(etl::get<22>(the_variant)); - break; - } - case 23: - { - visitor.visit(etl::get<23>(the_variant)); - break; - } - case 24: - { - visitor.visit(etl::get<24>(the_variant)); - break; - } - case 25: - { - visitor.visit(etl::get<25>(the_variant)); - break; - } - case 26: - { - visitor.visit(etl::get<26>(the_variant)); - break; - } - case 27: - { - visitor.visit(etl::get<27>(the_variant)); - break; - } - case 28: - { - visitor.visit(etl::get<28>(the_variant)); - break; - } - case 29: - { - visitor.visit(etl::get<29>(the_variant)); - break; - } - case 30: - { - visitor.visit(etl::get<30>(the_variant)); - break; - } - case 31: - { - visitor.visit(etl::get<31>(the_variant)); - break; - } - default: break; - } - } - }; - #endif - #endif -#endif -} // namespace private_variant diff --git a/include/etl/private/variant_variadic.h b/include/etl/private/variant_variadic.h index cfcf0a08..07c7c04c 100644 --- a/include/etl/private/variant_variadic.h +++ b/include/etl/private/variant_variadic.h @@ -381,11 +381,6 @@ namespace etl template ETL_CONSTEXPR14 const T&& get(const etl::variant&& v); - #if ETL_NOT_USING_CPP17 - #include "variant_select_do_operator.h" - #include "variant_select_do_visitor.h" - #endif - constexpr bool operator>(etl::monostate, etl::monostate) ETL_NOEXCEPT { return false; @@ -1573,25 +1568,6 @@ namespace etl { (attempt_visitor(visitor) || ...); } - #else - //*************************************************************************** - /// Call the relevant visitor. - //*************************************************************************** - template - void do_visitor(TVisitor& visitor) - { - etl::private_variant::select_do_visitor::do_visitor(*this, visitor); - } - - //*************************************************************************** - /// Call the relevant visitor. - //*************************************************************************** - template - void do_visitor(TVisitor& visitor) const - { - etl::private_variant::select_do_visitor::do_visitor(*this, visitor); - } - #endif //*************************************************************************** /// Attempt to call a visitor. @@ -1635,6 +1611,74 @@ namespace etl } } + #else + + //*************************************************************************** + /// Call the relevant visitor. + //*************************************************************************** + template + void do_visitor(TVisitor& visitor) + { + do_visitor_at(visitor, etl::make_index_sequence{}); + } + + //*************************************************************************** + /// Call the relevant visitor. + //*************************************************************************** + template + void do_visitor(TVisitor& visitor) const + { + do_visitor_at(visitor, etl::make_index_sequence{}); + } + + //*************************************************************************** + /// Base case: exactly one index remains, so it's assumed to be the match. + //*************************************************************************** + template + void do_visitor_at(TVisitor& visitor, etl::index_sequence) + { + visitor.visit(etl::get(*this)); + } + + template + void do_visitor_at(TVisitor& visitor, etl::index_sequence) const + { + visitor.visit(etl::get(*this)); + } + + //*************************************************************************** + /// Recursive case: check Index against this->index(), otherwise defer. + //*************************************************************************** + template + void do_visitor_at(TVisitor& visitor, etl::index_sequence) + { + if (this->index() == Index) + { + visitor.visit(etl::get(*this)); + } + else + { + do_visitor_at(visitor, etl::index_sequence{}); + } + } + + //*************************************************************************** + /// Recursive case: check Index against this->index(), otherwise defer. + //*************************************************************************** + template + void do_visitor_at(TVisitor& visitor, etl::index_sequence) const + { + if (this->index() == Index) + { + visitor.visit(etl::get(*this)); + } + else + { + do_visitor_at(visitor, etl::index_sequence{}); + } + } + #endif + #if ETL_USING_CPP17 && !defined(ETL_VARIANT_FORCE_CPP11) //*************************************************************************** /// Call the relevant visitor by attempting each one. @@ -1653,53 +1697,6 @@ namespace etl { (attempt_operator(visitor) || ...); } - #else - //*************************************************************************** - /// Call the relevant operator. - //*************************************************************************** - template - void do_operator(TVisitor& visitor) - { - #if defined(ETL_VARIANT_CPP11_MAX_8_TYPES) - ETL_STATIC_ASSERT(sizeof...(TTypes) <= 8U, "ETL_VARIANT_CPP11_MAX_8_TYPES - Only a maximum of 8 types are allowed in this variant"); - #endif - - #if defined(ETL_VARIANT_CPP11_MAX_16_TYPES) - ETL_STATIC_ASSERT(sizeof...(TTypes) <= 16U, "ETL_VARIANT_CPP11_MAX_16_TYPES - Only a maximum of 16 types are allowed in this variant"); - #endif - - #if defined(ETL_VARIANT_CPP11_MAX_24_TYPES) - ETL_STATIC_ASSERT(sizeof...(TTypes) <= 24U, "ETL_VARIANT_CPP11_MAX_24_TYPES - Only a maximum of 24 types are allowed in this variant"); - #endif - - ETL_STATIC_ASSERT(sizeof...(TTypes) <= 32U, "A maximum of 32 types are allowed in this variant"); - - etl::private_variant::select_do_operator::do_operator(*this, visitor); - } - - //*************************************************************************** - /// Call the relevant operator. - //*************************************************************************** - template - void do_operator(TVisitor& visitor) const - { - #if defined(ETL_VARIANT_CPP11_MAX_8_TYPES) - ETL_STATIC_ASSERT(sizeof...(TTypes) <= 8U, "ETL_VARIANT_CPP11_MAX_8_TYPES - Only a maximum of 8 types are allowed in this variant"); - #endif - - #if defined(ETL_VARIANT_CPP11_MAX_16_TYPES) - ETL_STATIC_ASSERT(sizeof...(TTypes) <= 16U, "ETL_VARIANT_CPP11_MAX_16_TYPES - Only a maximum of 16 types are allowed in this variant"); - #endif - - #if defined(ETL_VARIANT_CPP11_MAX_24_TYPES) - ETL_STATIC_ASSERT(sizeof...(TTypes) <= 24U, "ETL_VARIANT_CPP11_MAX_24_TYPES - Only a maximum of 24 types are allowed in this variant"); - #endif - - ETL_STATIC_ASSERT(sizeof...(TTypes) <= 32U, "A maximum of 32 types are allowed in this variant"); - - etl::private_variant::select_do_operator::do_operator(*this, visitor); - } - #endif //*************************************************************************** /// Attempt to call a visitor. @@ -1737,6 +1734,74 @@ namespace etl } } + #else + + //*************************************************************************** + /// Call the relevant visitor. + //*************************************************************************** + template + void do_operator(TVisitor& visitor) + { + do_operator_at(visitor, etl::make_index_sequence{}); + } + + //*************************************************************************** + /// Call the relevant visitor. + //*************************************************************************** + template + void do_operator(TVisitor& visitor) const + { + do_operator_at(visitor, etl::make_index_sequence{}); + } + + //*************************************************************************** + /// Base case: exactly one index remains, so it's assumed to be the match. + //*************************************************************************** + template + void do_operator_at(TVisitor& visitor, etl::index_sequence) + { + visitor(etl::get(*this)); + } + + template + void do_operator_at(TVisitor& visitor, etl::index_sequence) const + { + visitor(etl::get(*this)); + } + + //*************************************************************************** + /// Recursive case: check Index against this->index(), otherwise defer. + //*************************************************************************** + template + void do_operator_at(TVisitor& visitor, etl::index_sequence) + { + if (this->index() == Index) + { + visitor(etl::get(*this)); + } + else + { + do_operator_at(visitor, etl::index_sequence{}); + } + } + + //*************************************************************************** + /// Recursive case: check Index against this->index(), otherwise defer. + //*************************************************************************** + template + void do_operator_at(TVisitor& visitor, etl::index_sequence) const + { + if (this->index() == Index) + { + visitor(etl::get(*this)); + } + else + { + do_operator_at(visitor, etl::index_sequence{}); + } + } + #endif + //*************************************************************************** /// Get a reference to the stored value by index. /// For trivially destructible types, accesses the variadic_union directly. @@ -2206,7 +2271,7 @@ namespace etl static ETL_CONSTEXPR14 TReturn do_visit_at(TCallable&& f, TVariant&& v, index_sequence, TVarRest&&... variants) { return do_visit_single(static_cast(f), static_cast(v), - static_cast(variants)...); + static_cast(variants)...); } //*************************************************************************** @@ -2219,12 +2284,12 @@ namespace etl if (v.index() == tIndex) { return do_visit_single(static_cast(f), static_cast(v), - static_cast(variants)...); + static_cast(variants)...); } else { return do_visit_at(static_cast(f), static_cast(v), index_sequence{}, - static_cast(variants)...); + static_cast(variants)...); } } @@ -2237,18 +2302,17 @@ namespace etl ETL_ASSERT(!v.valueless_by_exception(), ETL_ERROR(bad_variant_access)); return do_visit_at(static_cast(f), static_cast(v), seq, - static_cast(variants)...); + static_cast(variants)...); } //*************************************************************************** /// //*************************************************************************** - template - static ETL_CONSTEXPR14 TReturn visit(TCallable&& f, TVariant&& v, TVarRest&&... vs) + template + static ETL_CONSTEXPR14 TReturn visit(TCallable&& f, TVariant&& v, TVs&&... vs) { constexpr size_t variants = etl::variant_size::type>::value; - return do_visit(static_cast(f), static_cast(v), make_index_sequence{}, - static_cast(vs)...); + return do_visit(static_cast(f), static_cast(v), make_index_sequence{}, static_cast(vs)...); } //*************************************************************************** diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e1661909..81f8faa2 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -12,377 +12,7 @@ project(etl_unit_tests LANGUAGES CXX) add_executable(etl_tests main.cpp - murmurhash3.cpp - test_algorithm.cpp - test_algorithm_ranges.cpp - test_alignment.cpp - test_array.cpp - test_array_view.cpp - test_array_wrapper.cpp - test_atomic.cpp - test_base64_RFC2152_decoder.cpp - test_base64_RFC2152_encoder.cpp - test_base64_RFC3501_decoder.cpp - test_base64_RFC3501_encoder.cpp - test_base64_RFC4648_decoder_with_no_padding.cpp - test_base64_RFC4648_decoder_with_padding.cpp - test_base64_RFC4648_encoder_with_no_padding.cpp - test_base64_RFC4648_encoder_with_padding.cpp - test_base64_RFC4648_URL_decoder_with_no_padding.cpp - test_base64_RFC4648_URL_decoder_with_padding.cpp - test_base64_RFC4648_URL_encoder_with_no_padding.cpp - test_base64_RFC4648_URL_encoder_with_padding.cpp - test_binary.cpp - test_bip_buffer_spsc_atomic.cpp - test_bit.cpp - test_bitset_legacy.cpp - test_bitset_new_comparisons.cpp - test_bitset_new_default_element_type.cpp - test_bitset_new_explicit_single_element_type.cpp - test_bitset_new_ext_default_element_type.cpp - test_bitset_new_ext_explicit_single_element_type.cpp - test_bit_stream.cpp - test_bit_stream_reader_big_endian.cpp - test_bit_stream_reader_little_endian.cpp - test_bit_stream_writer_big_endian.cpp - test_bit_stream_writer_little_endian.cpp - test_bloom_filter.cpp - test_bresenham_line.cpp - test_bsd_checksum.cpp - test_buffer_descriptors.cpp - test_byte.cpp - test_byte_stream.cpp - test_callback_service.cpp - test_callback_timer.cpp - test_callback_timer_atomic.cpp - test_callback_timer_deferred_locked.cpp - test_callback_timer_interrupt.cpp - test_callback_timer_locked.cpp - test_char_traits.cpp - test_checksum.cpp - test_chrono_clocks.cpp - test_chrono_day.cpp - test_chrono_duration.cpp - test_chrono_hh_mm_ss.cpp - test_chrono_literals.cpp - test_chrono_month.cpp - test_chrono_month_day.cpp - test_chrono_month_day_last.cpp - test_chrono_month_weekday.cpp - test_chrono_month_weekday_last.cpp - test_chrono_operators.cpp - test_chrono_time_point.cpp - test_chrono_weekday.cpp - test_chrono_weekday_indexed.cpp - test_chrono_weekday_last.cpp - test_chrono_year.cpp - test_chrono_year_month.cpp - test_chrono_year_month_day.cpp - test_chrono_year_month_day_last.cpp - test_chrono_year_month_weekday.cpp - test_chrono_year_month_weekday_last.cpp - test_circular_buffer.cpp - test_circular_buffer_external_buffer.cpp - test_circular_iterator.cpp - test_closure_with_default_delegate.cpp - test_closure_with_default_delegate_constexpr.cpp - test_closure_with_inplace_function.cpp - test_compare.cpp - test_concepts.cpp - test_constant.cpp - test_const_map.cpp - test_const_map_constexpr.cpp - test_const_map_ext.cpp - test_const_map_ext_constexpr.cpp - test_const_multimap.cpp - test_const_multimap_constexpr.cpp - test_const_multimap_ext.cpp - test_const_multimap_ext_constexpr.cpp - test_const_multiset.cpp - test_const_multiset_constexpr.cpp - test_const_multiset_ext.cpp - test_const_multiset_ext_constexpr.cpp - test_const_set.cpp - test_const_set_constexpr.cpp - test_const_set_ext.cpp - test_const_set_ext_constexpr.cpp - test_container.cpp - test_correlation.cpp - test_covariance.cpp - test_crc1.cpp - test_crc16.cpp - test_crc16_a.cpp - test_crc16_arc.cpp - test_crc16_aug_ccitt.cpp - test_crc16_buypass.cpp - test_crc16_ccitt.cpp - test_crc16_cdma2000.cpp - test_crc16_dds110.cpp - test_crc16_dectr.cpp - test_crc16_dectx.cpp - test_crc16_dnp.cpp - test_crc16_en13757.cpp - test_crc16_genibus.cpp - test_crc16_kermit.cpp - test_crc16_m17.cpp - test_crc16_maxim.cpp - test_crc16_mcrf4xx.cpp - test_crc16_modbus.cpp - test_crc16_opensafety_a.cpp - test_crc16_opensafety_b.cpp - test_crc16_profibus.cpp - test_crc16_riello.cpp - test_crc16_t10dif.cpp - test_crc16_teledisk.cpp - test_crc16_tms37157.cpp - test_crc16_usb.cpp - test_crc16_x25.cpp - test_crc16_xmodem.cpp - test_crc32.cpp - test_crc32_bzip2.cpp - test_crc32_c.cpp - test_crc32_d.cpp - test_crc32_jamcrc.cpp - test_crc32_mpeg2.cpp - test_crc32_posix.cpp - test_crc32_q.cpp - test_crc32_xfer.cpp - test_crc64_ecma.cpp - test_crc64_iso.cpp - test_crc8_ccitt.cpp - test_crc8_cdma2000.cpp - test_crc8_darc.cpp - test_crc8_dvbs2.cpp - test_crc8_ebu.cpp - test_crc8_icode.cpp - test_crc8_itu.cpp - test_crc8_j1850.cpp - test_crc8_j1850_zero.cpp - test_crc8_maxim.cpp - test_crc8_nrsc5.cpp - test_crc8_opensafety.cpp - test_crc8_rohc.cpp - test_crc8_wcdma.cpp - test_clamped_value.cpp - test_cyclic_value.cpp - test_debounce.cpp - test_delegate.cpp - test_delegate_cpp03.cpp - test_delegate_observable.cpp - test_delegate_service.cpp - test_delegate_service_compile_time.cpp - test_delegate_service_cpp03.cpp - test_deque.cpp - test_endian.cpp - test_enum_type.cpp - test_error_handler.cpp - test_etl_assert.cpp - test_etl_traits.cpp - test_exception.cpp - test_expected.cpp - test_fixed_iterator.cpp - test_fixed_sized_memory_block_allocator.cpp - test_flags.cpp - test_flat_map.cpp - test_flat_multimap.cpp - test_flat_multiset.cpp - test_flat_set.cpp - test_fnv_1.cpp - test_format.cpp - test_format_spec.cpp - test_forward_list.cpp - test_forward_list_shared_pool.cpp - test_fsm.cpp - test_function.cpp - test_functional.cpp - test_function_traits.cpp - test_gamma.cpp - test_hash.cpp - test_hfsm.cpp - test_hfsm_recurse_to_inner_state_on_start.cpp - test_hfsm_transition_on_enter.cpp - test_histogram.cpp - test_index_of_type.cpp - test_indirect_vector.cpp - test_indirect_vector_external_buffer.cpp - test_inplace_function.cpp - test_instance_count.cpp - test_integral_limits.cpp - test_intrusive_avl_tree.cpp - test_intrusive_forward_list.cpp - test_intrusive_links.cpp - test_intrusive_list.cpp - test_intrusive_queue.cpp - test_intrusive_stack.cpp - test_invert.cpp - test_invoke.cpp - test_io_port.cpp - test_is_invocable.cpp - test_iterator.cpp - test_jenkins.cpp - test_largest.cpp - test_limiter.cpp - test_limits.cpp - test_list.cpp - test_list_shared_pool.cpp - test_macros.cpp - test_make_string.cpp - test_manchester.cpp - test_map.cpp - test_math.cpp - test_math_functions.cpp - test_mean.cpp - test_memory.cpp - test_mem_cast.cpp - test_mem_cast_ptr.cpp - test_message.cpp - test_message_broker.cpp - test_message_bus.cpp - test_message_packet.cpp - test_message_router.cpp - test_message_router_registry.cpp - test_message_timer.cpp - test_message_timer_atomic.cpp - test_message_timer_interrupt.cpp - test_message_timer_locked.cpp - test_multimap.cpp - test_multiset.cpp - test_multi_array.cpp - test_multi_range.cpp - test_multi_span.cpp - test_multi_vector.cpp - test_murmur3.cpp - test_not_null_pointer.cpp - test_not_null_pointer_constexpr.cpp - test_not_null_unique_pointer.cpp - test_nth_type.cpp - test_numeric.cpp - test_observer.cpp - test_optional.cpp - test_overload.cpp - test_packet.cpp - test_parameter_pack.cpp - test_parameter_type.cpp - test_parity_checksum.cpp - test_pearson.cpp - test_poly_span_dynamic_extent.cpp - test_poly_span_fixed_extent.cpp - test_pool.cpp - test_pool_external_buffer.cpp - test_priority_queue.cpp - test_print.cpp - test_pseudo_moving_average.cpp - test_quantize.cpp - test_queue.cpp - test_queue_lockable.cpp - test_queue_lockable_small.cpp - test_queue_memory_model_small.cpp - test_queue_mpmc_mutex.cpp - test_queue_mpmc_mutex_small.cpp - test_queue_spsc_atomic.cpp - test_queue_spsc_atomic_small.cpp - test_queue_spsc_isr.cpp - test_queue_spsc_isr_small.cpp - test_queue_spsc_locked.cpp - test_queue_spsc_locked_small.cpp - test_random.cpp - test_ranges.cpp - test_ratio.cpp - test_reference_flat_map.cpp - test_reference_flat_multimap.cpp - test_reference_flat_multiset.cpp - test_reference_flat_set.cpp - test_rescale.cpp - test_result.cpp - test_rms.cpp - test_rounded_integral_division.cpp - test_scaled_rounding.cpp - test_set.cpp - test_shared_message.cpp - test_signal.cpp - test_singleton.cpp - test_singleton_base.cpp - test_smallest.cpp - test_span_dynamic_extent.cpp - test_span_fixed_extent.cpp - test_stack.cpp - test_standard_deviation.cpp - test_state_chart.cpp - test_state_chart_compile_time.cpp - test_state_chart_compile_time_with_data_parameter.cpp - test_state_chart_with_data_parameter.cpp - test_state_chart_with_rvalue_data_parameter.cpp - test_string_char.cpp - test_string_char_external_buffer.cpp - test_string_stream.cpp - test_string_stream_u16.cpp - test_string_stream_u32.cpp - test_string_stream_u8.cpp - test_string_stream_wchar_t.cpp - test_string_u16.cpp - test_string_u16_external_buffer.cpp - test_string_u32.cpp - test_string_u32_external_buffer.cpp - test_string_u8.cpp - test_string_u8_external_buffer.cpp - test_string_utilities.cpp - test_string_utilities_std.cpp - test_string_utilities_std_u16.cpp - test_string_utilities_std_u32.cpp - test_string_utilities_std_u8.cpp - test_string_utilities_std_wchar_t.cpp - test_string_utilities_u16.cpp - test_string_utilities_u32.cpp - test_string_utilities_u8.cpp - test_string_utilities_wchar_t.cpp - test_string_view.cpp - test_string_wchar_t.cpp - test_string_wchar_t_external_buffer.cpp - test_successor.cpp - test_task_scheduler.cpp - test_threshold.cpp - test_to_arithmetic.cpp - test_to_arithmetic_u16.cpp - test_to_arithmetic_u32.cpp - test_to_arithmetic_u8.cpp - test_to_arithmetic_wchar_t.cpp - test_to_string.cpp - test_to_u16string.cpp - test_to_u32string.cpp - test_to_u8string.cpp - test_to_wstring.cpp - test_tuple.cpp - test_type_def.cpp - test_type_list.cpp - test_type_lookup.cpp - test_type_select.cpp - test_type_traits.cpp - test_unaligned_type.cpp - test_unaligned_type_ext.cpp - test_uncopyable.cpp - test_unordered_map.cpp - test_unordered_multimap.cpp - test_unordered_multiset.cpp - test_unordered_set.cpp - test_user_type.cpp - test_utility.cpp - test_variance.cpp - test_variant_legacy.cpp - test_variant_pool.cpp - test_variant_pool_external_buffer.cpp test_variant_variadic.cpp - test_vector.cpp - test_vector_external_buffer.cpp - test_vector_non_trivial.cpp - test_vector_pointer.cpp - test_vector_pointer_external_buffer.cpp - test_vector_function_pointer.cpp - test_vector_function_pointer_external_buffer.cpp - test_vector_member_function_pointer.cpp - test_vector_member_function_pointer_external_buffer.cpp - test_visitor.cpp - test_xor_checksum.cpp - test_xor_rotate_checksum.cpp ) target_compile_definitions(etl_tests PRIVATE -DETL_DEBUG) diff --git a/test/vs2022/etl.vcxproj b/test/vs2022/etl.vcxproj index 7a69c37e..be21adf9 100644 --- a/test/vs2022/etl.vcxproj +++ b/test/vs2022/etl.vcxproj @@ -3596,8 +3596,6 @@ - - @@ -11807,4 +11805,4 @@ - + \ No newline at end of file diff --git a/test/vs2022/etl.vcxproj.filters b/test/vs2022/etl.vcxproj.filters index 10afee24..b8b1f148 100644 --- a/test/vs2022/etl.vcxproj.filters +++ b/test/vs2022/etl.vcxproj.filters @@ -1407,12 +1407,6 @@ ETL\Utilities - - ETL\Private - - - ETL\Private - ETL\Utilities @@ -4124,4 +4118,4 @@ Resource Files\Images - + \ No newline at end of file