Skip to content
Snippets Groups Projects
Commit 9106d1de authored by Rosen Matev's avatar Rosen Matev :sunny:
Browse files

Remove workaround for ROOT/cling problem with Boost small_vector

To be used for creating a reproducer and testing upcoming ROOT builds.

closes #75
parent f971ac5c
No related branches found
No related tags found
No related merge requests found
Pipeline #1924862 passed
......@@ -65,10 +65,8 @@ namespace LHCb::Arena {
/// One byte past the end of the current block, or nullptr if it doesn't exist.
std::byte* m_current_end{nullptr};
// Explicitly specify boost::container::small_vector default template arguments
// to sidestep cling error, see lhcb/LHCb#75
/// All memory blocks owned by this arena.
boost::container::small_vector<gsl::span<std::byte>, 1, void, void> m_all_blocks;
boost::container::small_vector<gsl::span<std::byte>, 1> m_all_blocks;
/// Approximate factor by which each block is larger than its predecessor.
static constexpr std::size_t growth_factor = 2;
......
......@@ -60,10 +60,8 @@ namespace Rich {
template <typename TYPE>
using DetectorArray = std::array<TYPE, NRiches>;
// Explicitly specify boost::container::small_vector default template arguments
// to sidestep cling error, see lhcb/LHCb#75
/// Type for container of detector types
using Detectors = boost::container::small_vector<DetectorType, N_DETECTOR_TYPES, void, void>;
using Detectors = boost::container::small_vector<DetectorType, N_DETECTOR_TYPES>;
/// Access all valid detector types
inline Detectors detectors() noexcept { return {Rich::Rich1, Rich::Rich2}; }
......
......@@ -69,10 +69,8 @@ namespace Rich {
template <typename TYPE>
using ParticleArray = std::array<TYPE, NParticleTypes>;
// Explicitly specify boost::container::small_vector default template arguments
// to sidestep cling error, see lhcb/LHCb#75
/// Type for container of particle types
using Particles = boost::container::small_vector<ParticleIDType, N_PARTICLE_TYPES, void, void>;
using Particles = boost::container::small_vector<ParticleIDType, N_PARTICLE_TYPES>;
/// Access all valid particle ID types
inline Particles particles() noexcept {
......
......@@ -55,10 +55,8 @@ namespace Rich {
class RadIntersection {
public:
// Explicitly specify boost::container::small_vector default template arguments
// to sidestep cling error, see lhcb/LHCb#75
/// Definition of a vector of intersections
using Vector = boost::container::small_vector<Rich::RadIntersection, 1, void, void>;
using Vector = boost::container::small_vector<Rich::RadIntersection, 1>;
public:
/// Default constructor
......
......@@ -69,10 +69,8 @@ namespace Rich {
template <typename TYPE>
using RadiatorArray = std::array<TYPE, NRadiatorTypes>;
// Explicitly specify boost::container::small_vector default template arguments
// to sidestep cling error, see lhcb/LHCb#75
/// Type for container of radiator types
using Radiators = boost::container::small_vector<RadiatorType, N_RADIATOR_TYPES, void, void>;
using Radiators = boost::container::small_vector<RadiatorType, N_RADIATOR_TYPES>;
/// Access all valid radiator types
inline Radiators radiators() noexcept { return {Rich::Aerogel, Rich::Rich1Gas, Rich::Rich2Gas}; }
......
......@@ -74,10 +74,8 @@ namespace Rich {
template <typename TYPE>
using PanelArray = std::array<TYPE, NPDPanelsPerRICH>;
// Explicitly specify boost::container::small_vector default template arguments
// to sidestep cling error, see lhcb/LHCb#75
/// Type for container of side types
using Sides = boost::container::small_vector<Side, N_SIDE_TYPES, void, void>;
using Sides = boost::container::small_vector<Side, N_SIDE_TYPES>;
/// Access all valid particle ID types
inline Sides sides() noexcept { return {Rich::top, Rich::bottom}; }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment