X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fcontainer-wrapper.hpp;h=20642a8d294213a5a914bd6d3a0cbedcb2c4767c;hb=d73aeddd1b4de7fadc7b6f6f5004c6298208602a;hp=5ee20dfeab3b2b3f92d94539ddf25dd156fae0e1;hpb=feef6f74e701ea68540ca306628888c1cf4f01bd;p=lttng-tools.git diff --git a/src/common/container-wrapper.hpp b/src/common/container-wrapper.hpp index 5ee20dfea..20642a8d2 100644 --- a/src/common/container-wrapper.hpp +++ b/src/common/container-wrapper.hpp @@ -99,7 +99,7 @@ public: iterator end() { - return iterator(*this, ContainerOperations::size(_container)); + return iterator(*this, size()); } const_iterator begin() const noexcept @@ -109,14 +109,19 @@ public: const_iterator end() const { - return const_iterator(*this, ContainerOperations::size(_container)); + return const_iterator(*this, size()); } - std::size_t size() const noexcept + std::size_t size() const { return ContainerOperations::size(_container); } + bool empty() const + { + return size() == 0; + } + typename std::conditional::value, ElementType, ElementType&>::type operator[](std::size_t index) { @@ -130,7 +135,7 @@ public: * * For more information, see Item 3 of Effective C++. */ - const auto& const_this = static_cast(*this); + const auto& const_this = static_cast(*this); /* NOLINTNEXTLINE(cppcoreguidelines-pro-type-const-cast) */ return const_cast::value, @@ -144,7 +149,7 @@ public: operator[](std::size_t index) const { if (index >= ContainerOperations::size(_container)) { - LTTNG_THROW_INVALID_ARGUMENT_ERROR(fmt::format( + throw std::invalid_argument(lttng::format( "Out of bound access through random_access_container_wrapper: index={}, size={}", index, size()));