12#define BOOST_TEST_MODULE Test Flags
13#define BOOST_TEST_MAIN
14#define BOOST_TEST_DYN_LINK
16#include <boost/test/unit_test.hpp>
24 static std::mt19937
gen(std::random_device{}());
25 std::uniform_int_distribution<> dist(
min,
max);
26 return [&, dist]()
mutable {
37 throw std::bad_alloc();
45 return this == &
other;
54 : mUpstream(upstream) {}
59 return mUpstream->allocate(bytes, alignment);
67 return this == &
other;
79 Vec v(std::pmr::polymorphic_allocator<int>{&bmr});
82 const size_t count = 128;
96 Vec v(std::pmr::polymorphic_allocator<int>{&bmr});
99 BOOST_CHECK_GT(used_before, 0u);
103 BOOST_CHECK_GE(used_after, 50 *
sizeof(
int));
104 BOOST_CHECK_LT(used_after, used_before);
114 const size_t bytes = 1024;
118 p = bmr.allocate(bytes,
alignof(std::max_align_t));
119 }
catch (
const std::bad_alloc&) {
130 std::vector<Vec> outer;
132 for (
int i = 0;
i < 5; ++
i) {
133 outer.emplace_back(std::pmr::polymorphic_allocator<int>{&bmr});
134 outer.back().reserve(100);
144 std::array<Vec, 3> arr{{
Vec(std::pmr::polymorphic_allocator<int>{&bmr}),
145 Vec(std::pmr::polymorphic_allocator<int>{&bmr}),
146 Vec(std::pmr::polymorphic_allocator<int>{&bmr})}};
176 Vec v(std::pmr::polymorphic_allocator<int>{&dmr});
178 for (
int shift{0}; shift < 12; ++shift) {
179 const int c{1 << shift};
184 for (
size_t i{0};
i <
c / 2; ++
i) {
default_random_engine gen(dev())
NoDeallocateResource(std::pmr::memory_resource *upstream=std::pmr::get_default_resource())
void * do_allocate(size_t bytes, size_t alignment) final
bool do_is_equal(const std::pmr::memory_resource &other) const noexcept final
void do_deallocate(void *, size_t, size_t) noexcept final
void do_deallocate(void *, size_t, size_t) noexcept final
void * do_allocate(size_t, size_t) final
bool do_is_equal(const std::pmr::memory_resource &other) const noexcept final
size_t getUsedMemory() const noexcept
void deepVectorClear(std::vector< T > &vec)
std::pmr::vector< T > bounded_vector
void clearResizeBoundedVector(bounded_vector< T > &vec, size_t sz, std::pmr::memory_resource *mr=nullptr, T def=T())
auto getRandomInt(int min=-100, int max=100)
bounded_vector< int > Vec
std::map< std::string, ID > expected
VectorOfTObjectPtrs other
std::vector< o2::ctf::BufferType > vec
BOOST_TEST(digits==digitsD, boost::test_tools::per_element())
BOOST_CHECK_EQUAL(triggersD.size(), triggers.size())