From ee3b3f526c90f79061ddbf2401f73932878cee3c Mon Sep 17 00:00:00 2001 From: Gerhard Raven <gerhard.raven@nikhef.nl> Date: Fri, 7 Mar 2025 16:06:37 +0100 Subject: [PATCH] replace range::v3 with std::ranges --- Det/DetDesc/CMakeLists.txt | 1 - Det/DetDesc/include/DetDesc/SolidBoolean.h | 12 +++++++----- Event/EventPacker/CMakeLists.txt | 1 - Event/RecEvent/CMakeLists.txt | 1 - Event/RecEvent/src/RecVertex_v2.cpp | 1 - Event/TrackEvent/CMakeLists.txt | 1 - Event/TrackEvent/include/Event/Track_v2.h | 19 ++----------------- FT/FTDAQ/CMakeLists.txt | 1 - FT/FTDAQ/src/FTRawBankDecoder.cpp | 12 ++++++------ GaudiAlg/CMakeLists.txt | 3 +-- 10 files changed, 16 insertions(+), 36 deletions(-) diff --git a/Det/DetDesc/CMakeLists.txt b/Det/DetDesc/CMakeLists.txt index 9c23cece809..3307d468f0d 100644 --- a/Det/DetDesc/CMakeLists.txt +++ b/Det/DetDesc/CMakeLists.txt @@ -86,7 +86,6 @@ else() Gaudi::GaudiAlgLib Gaudi::GaudiUtilsLib LHCb::LHCbMathLib - Rangev3::rangev3 ROOT::GenVector ROOT::MathCore VDT::vdt diff --git a/Det/DetDesc/include/DetDesc/SolidBoolean.h b/Det/DetDesc/include/DetDesc/SolidBoolean.h index a53b39bf391..e0b3fd84420 100644 --- a/Det/DetDesc/include/DetDesc/SolidBoolean.h +++ b/Det/DetDesc/include/DetDesc/SolidBoolean.h @@ -11,10 +11,8 @@ #pragma once #include "DetDesc/SolidChild.h" #include "DetDesc/SolidTicks.h" -#include "range/v3/view/const.hpp" -#include "range/v3/view/indirect.hpp" -#include "range/v3/view/span.hpp" #include <algorithm> +#include <ranges> #include <string> #include <vector> @@ -134,7 +132,9 @@ public: /** acess to range of const children * @return "range" */ - auto children() const { return ranges::span( m_sb_childrens ) | ranges::views::indirect | ranges::views::const_; } + auto children() const { + return std::ranges::transform_view( m_sb_childrens, []( auto const& i ) -> SolidChild const& { return *i; } ); + } /** access to the childrens by index * @param index index of child solid @@ -180,7 +180,9 @@ protected: /** acess to range of children * @return "range" */ - auto children() { return ranges::span( m_sb_childrens ) | ranges::views::indirect; } + auto children() { + return std::ranges::transform_view( m_sb_childrens, []( auto& i ) -> SolidChild& { return *i; } ); + } /** Calculate the maximum number of ticks that a straight line could make with this solid diff --git a/Event/EventPacker/CMakeLists.txt b/Event/EventPacker/CMakeLists.txt index 5dad30c1f2e..65275d6ebf1 100644 --- a/Event/EventPacker/CMakeLists.txt +++ b/Event/EventPacker/CMakeLists.txt @@ -48,7 +48,6 @@ gaudi_add_library(EventPackerLib src/lib/PackedDataBuffer.cpp LINK PUBLIC - Rangev3::rangev3 Boost::headers Gaudi::GaudiAlgLib Gaudi::GaudiKernel diff --git a/Event/RecEvent/CMakeLists.txt b/Event/RecEvent/CMakeLists.txt index 7e978025cb1..f1a530c41cb 100644 --- a/Event/RecEvent/CMakeLists.txt +++ b/Event/RecEvent/CMakeLists.txt @@ -39,7 +39,6 @@ gaudi_add_library(RecEvent LHCb::LHCbMathLib LHCb::PartPropLib LHCb::TrackEvent - Rangev3::rangev3 ) gaudi_add_dictionary(RecEventDict diff --git a/Event/RecEvent/src/RecVertex_v2.cpp b/Event/RecEvent/src/RecVertex_v2.cpp index 779e25b90d8..877e5227137 100644 --- a/Event/RecEvent/src/RecVertex_v2.cpp +++ b/Event/RecEvent/src/RecVertex_v2.cpp @@ -12,7 +12,6 @@ #include <algorithm> #include <cassert> #include <iostream> -#include <range/v3/view.hpp> std::ostream& LHCb::Event::v2::RecVertex::fillStream( std::ostream& s ) const { s << "{ " diff --git a/Event/TrackEvent/CMakeLists.txt b/Event/TrackEvent/CMakeLists.txt index 31d2a923cf0..018dc250bd9 100644 --- a/Event/TrackEvent/CMakeLists.txt +++ b/Event/TrackEvent/CMakeLists.txt @@ -33,7 +33,6 @@ gaudi_add_library(TrackEvent LHCb::MuonDAQLib LHCb::LHCbKernel LHCb::LHCbMathLib - Rangev3::rangev3 ) gaudi_add_dictionary(TrackEventDict diff --git a/Event/TrackEvent/include/Event/Track_v2.h b/Event/TrackEvent/include/Event/Track_v2.h index 19302395643..fec42882f97 100644 --- a/Event/TrackEvent/include/Event/Track_v2.h +++ b/Event/TrackEvent/include/Event/Track_v2.h @@ -21,25 +21,10 @@ #include "Kernel/meta_enum.h" #include "TrackEnums.h" #include <ostream> +#include <ranges> #include <type_traits> #include <vector> -#if __cplusplus >= 202002 -# include <ranges> -namespace LHCb::Event::v2::details { - template <typename Range> - using range_value_t = std::ranges::range_value_t<Range>; -} -#else -# include "range/v3/iterator/access.hpp" -namespace LHCb::Event::v2::details { - // This is a manual expansion of ranges::range_value_t<Range> from range/v3/range/access.hpp - // added as workaround for https://github.com/root-project/root/issues/13032 - // that makes range/v3/range/access.hpp impossible to include - template <typename Range> - using range_value_t = ranges::iter_value_t<decltype( begin( std::declval<Range&>() ) )>; -} // namespace LHCb::Event::v2::details -#endif /** * * Track v2 is the base class for offline and online tracks. @@ -247,7 +232,7 @@ namespace LHCb::Event::v2 { /// Sets the list of LHCbIDs associated to this track template <typename Range, typename Tg, - typename = std::enable_if_t<std::is_convertible_v<LHCbID, details::range_value_t<Range>>>, + typename = std::enable_if_t<std::is_convertible_v<LHCbID, std::ranges::range_value_t<Range>>>, typename = std::enable_if_t<std::is_base_of_v<Tag::Unordered_tag, std::decay_t<Tg>>>> Track& setLhcbIDs( const Range& ids, Tg = Tag::Unordered ) { m_lhcbIDs.assign( ids.begin(), ids.end() ); diff --git a/FT/FTDAQ/CMakeLists.txt b/FT/FTDAQ/CMakeLists.txt index f4c6622da17..6138c43ad80 100644 --- a/FT/FTDAQ/CMakeLists.txt +++ b/FT/FTDAQ/CMakeLists.txt @@ -43,7 +43,6 @@ gaudi_add_module(FTDAQ LHCb::FTDetLib LHCb::FTEvent LHCb::LHCbKernel - Rangev3::rangev3 ) gaudi_add_pytest(tests/pytest) diff --git a/FT/FTDAQ/src/FTRawBankDecoder.cpp b/FT/FTDAQ/src/FTRawBankDecoder.cpp index 4c89f85853c..9d39b5bc791 100644 --- a/FT/FTDAQ/src/FTRawBankDecoder.cpp +++ b/FT/FTDAQ/src/FTRawBankDecoder.cpp @@ -8,8 +8,6 @@ * granted to it by virtue of its status as an Intergovernmental Organization * * or submit itself to any jurisdiction. * \*****************************************************************************/ -#include <range/v3/view/subrange.hpp> -#include <range/v3/view/transform.hpp> #include "Gaudi/Accumulators/Histogram.h" #include <Gaudi/Property.h> @@ -26,6 +24,7 @@ #include <algorithm> #include <netinet/in.h> +#include <ranges> #include "GaudiKernel/IDataProviderSvc.h" #include "Kernel/STLExtensions.h" @@ -410,10 +409,11 @@ FTLiteClusters FTRawBankDecoder::decode_v456( const EventContext& evtCtx, LHCb:: if ( !clusters.empty() && FTRawBank::isNullCluster( clusters.back() ) ) clusters = clusters.first( clusters.size() - 1 ); // Remove padding at the end if constexpr ( vrsn == 4 ) { - auto r = clusters | ranges::views::transform( [&offset]( FTRawBank::FTClusterData c ) -> LHCb::FTLiteCluster { - return { LHCb::Detector::FTChannelID{ offset + channelInBank( c ) }, FTRawBank::fracBit( c ), - ( FTRawBank::sizeBit( c ) ? 0 : FTRawBank::maxClusterWidth ) }; - } ); + auto r = + clusters | std::ranges::views::transform( [&offset]( FTRawBank::FTClusterData c ) -> LHCb::FTLiteCluster { + return { LHCb::Detector::FTChannelID{ offset + channelInBank( c ) }, FTRawBank::fracBit( c ), + ( FTRawBank::sizeBit( c ) ? 0 : FTRawBank::maxClusterWidth ) }; + } ); clus.insert( r.begin(), r.end(), offset.globalQuarterIdx() ); } if constexpr ( vrsn == 5 || vrsn == 6 ) { diff --git a/GaudiAlg/CMakeLists.txt b/GaudiAlg/CMakeLists.txt index ab584fc9265..f6d06f45973 100644 --- a/GaudiAlg/CMakeLists.txt +++ b/GaudiAlg/CMakeLists.txt @@ -33,8 +33,7 @@ gaudi_add_library(GaudiAlgLib Gaudi::GaudiPythonLib Gaudi::Functional Boost::headers - Boost::regex - Rangev3::rangev3) + Boost::regex) if(GAUDI_USE_AIDA) target_sources(GaudiAlgLib PRIVATE src/lib/Fill.cpp src/lib/Print.cpp -- GitLab