From 6181b9d3af25f51ddf75ce2367c25e856bf5c594 Mon Sep 17 00:00:00 2001 From: Anton Alkin Date: Mon, 11 Nov 2024 14:21:58 +0100 Subject: [PATCH 01/11] DPL Analysis: introduce concepts and improve pack --- Framework/Core/include/Framework/ASoA.h | 313 +++++++++--------- .../Core/include/Framework/ASoAHelpers.h | 14 +- .../Core/include/Framework/AnalysisHelpers.h | 24 +- .../Core/include/Framework/AnalysisManagers.h | 47 +-- .../Core/include/Framework/AnalysisTask.h | 73 ++-- .../Core/include/Framework/BinningPolicy.h | 1 + .../include/Framework/ConfigParamRegistry.h | 6 +- .../Core/include/Framework/GroupSlicer.h | 10 +- .../include/Framework/GroupedCombinations.h | 4 +- Framework/Core/src/ASoA.cxx | 32 -- Framework/Foundation/include/Framework/Pack.h | 58 ++-- .../Foundation/include/Framework/Traits.h | 24 +- .../test/test_FunctionalHelpers.cxx | 8 +- 13 files changed, 281 insertions(+), 333 deletions(-) diff --git a/Framework/Core/include/Framework/ASoA.h b/Framework/Core/include/Framework/ASoA.h index 46b031ec8b775..18d4ad05e34f7 100644 --- a/Framework/Core/include/Framework/ASoA.h +++ b/Framework/Core/include/Framework/ASoA.h @@ -39,12 +39,17 @@ #define DECLARE_SOA_ITERATOR_METADATA() \ template \ - requires(o2::soa::is_soa_iterator_v) struct MetadataTrait { \ + requires(o2::soa::is_iterator) \ + struct MetadataTrait { \ using metadata = typename MetadataTrait::metadata; \ }; namespace o2::framework { +using ListVector = std::vector>; + +std::string cutString(std::string&& str); + struct OriginEnc { static constexpr size_t size = 4; uint32_t value; @@ -107,6 +112,56 @@ DECLARE_SOA_METADATA(); namespace o2::soa { +/// special case for the template with origin +template class Ref> +struct is_specialization_origin : std::false_type { +}; + +template