Import CStringView from the Babeltrace tree
[lttng-tools.git] / src / common / container-wrapper.hpp
index 7f9678d08d3cb8252de645bd3731434d73b4e52a..25385fc43837961ec4301dd9f7254f0b89ccc3b6 100644 (file)
@@ -60,6 +60,11 @@ class random_access_container_wrapper {
                        return *this;
                }
 
+               ptrdiff_t operator-(const _iterator& other) const
+               {
+                       return _index - other._index;
+               }
+
                bool operator==(const _iterator& other) const noexcept
                {
                        return _index == other._index;
@@ -117,6 +122,11 @@ public:
                return ContainerOperations::size(_container);
        }
 
+       bool empty() const
+       {
+               return size() == 0;
+       }
+
        typename std::conditional<std::is_pointer<ElementType>::value, ElementType, ElementType&>::type
        operator[](std::size_t index)
        {
@@ -144,7 +154,7 @@ public:
        operator[](std::size_t index) const
        {
                if (index >= ContainerOperations::size(_container)) {
-                       LTTNG_THROW_INVALID_ARGUMENT_ERROR(lttng::format(
+                       throw std::invalid_argument(lttng::format(
                                "Out of bound access through random_access_container_wrapper: index={}, size={}",
                                index,
                                size()));
This page took 0.023518 seconds and 4 git commands to generate.