cpp-common/bt2c/read-fixed-len-int.hpp \
cpp-common/bt2c/safe-ops.hpp \
cpp-common/bt2c/std-int.hpp \
- cpp-common/bt2c/uuid-view.hpp \
cpp-common/bt2c/uuid.hpp \
cpp-common/bt2c/vector.hpp \
cpp-common/bt2s/make-unique.hpp \
#include <babeltrace2/babeltrace.h>
-#include "cpp-common/bt2c/uuid-view.hpp"
+#include "cpp-common/bt2c/uuid.hpp"
#include "cpp-common/bt2s/optional.hpp"
#include "borrowed-object.hpp"
+++ /dev/null
-/*
- * Copyright (c) 2016-2022 Philippe Proulx <pproulx@efficios.com>
- *
- * SPDX-License-Identifier: MIT
- */
-
-#include "uuid-view.hpp"
-#include "uuid.hpp"
-
-namespace bt2c {
-
-UuidView::UuidView(const Uuid& uuid) noexcept : _mUuid {uuid.data()}
-{
-}
-
-UuidView::operator Uuid() const noexcept
-{
- return Uuid {*this};
-}
-
-} /* namespace bt2c */
+++ /dev/null
-/*
- * SPDX-FileCopyrightText: 2020 Philippe Proulx <pproulx@efficios.com>
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef BABELTRACE_CPP_COMMON_BT2C_UUID_VIEW_HPP
-#define BABELTRACE_CPP_COMMON_BT2C_UUID_VIEW_HPP
-
-#include <algorithm>
-#include <cstdint>
-#include <string>
-
-#include "common/assert.h"
-#include "common/uuid.h"
-
-namespace bt2c {
-
-class Uuid;
-
-/*
- * A view on existing UUID data.
- *
- * A `UuidView` object doesn't contain its UUID data: see `Uuid` for a
- * UUID data container.
- */
-class UuidView final
-{
-public:
- using Val = std::uint8_t;
- using ConstIter = const Val *;
-
-public:
- explicit UuidView(const Val * const uuid) noexcept : _mUuid {uuid}
- {
- BT_ASSERT_DBG(uuid);
- }
-
- explicit UuidView(const Uuid& uuid) noexcept;
- UuidView(const UuidView&) noexcept = default;
- UuidView& operator=(const UuidView&) noexcept = default;
-
- UuidView& operator=(const Val * const uuid) noexcept
- {
- _mUuid = uuid;
- return *this;
- }
-
- operator Uuid() const noexcept;
-
- std::string str() const
- {
- std::string s;
-
- s.resize(BT_UUID_STR_LEN);
- bt_uuid_to_str(_mUuid, &s[0]);
-
- return s;
- }
-
- bool operator==(const UuidView& other) const noexcept
- {
- return bt_uuid_compare(_mUuid, other._mUuid) == 0;
- }
-
- bool operator!=(const UuidView& other) const noexcept
- {
- return !(*this == other);
- }
-
- bool operator<(const UuidView& other) const noexcept
- {
- return bt_uuid_compare(_mUuid, other._mUuid) < 0;
- }
-
- static constexpr std::size_t size() noexcept
- {
- return BT_UUID_LEN;
- }
-
- const Val *data() const noexcept
- {
- return _mUuid;
- }
-
- Val operator[](const std::size_t index) const noexcept
- {
- return _mUuid[index];
- }
-
- ConstIter begin() const noexcept
- {
- return _mUuid;
- }
-
- ConstIter end() const noexcept
- {
- return _mUuid + this->size();
- }
-
- bool isNil() const noexcept
- {
- return std::all_of(this->begin(), this->end(), [](const std::uint8_t byte) {
- return byte == 0;
- });
- }
-
-private:
- const Val *_mUuid;
-};
-
-} /* namespace bt2c */
-
-#endif /* BABELTRACE_CPP_COMMON_BT2C_UUID_VIEW_HPP */
/*
- * Copyright (c) 2022 Francis Deslauriers <francis.deslauriers@efficios.com>
+ * SPDX-FileCopyrightText: 2020-2023 Philippe Proulx <pproulx@efficios.com>
+ * SPDX-FileCopyrightText: 2022 Francis Deslauriers <francis.deslauriers@efficios.com>
*
* SPDX-License-Identifier: MIT
*/
#include <algorithm>
#include <array>
+#include <cstdint>
#include <string>
#include "common/assert.h"
#include "common/uuid.h"
-#include "uuid-view.hpp"
-
namespace bt2c {
+class Uuid;
+
+/*
+ * A view on existing UUID data.
+ *
+ * A `UuidView` object doesn't contain its UUID data: see `Uuid` for a
+ * UUID data container.
+ */
+class UuidView final
+{
+public:
+ using Val = std::uint8_t;
+ using ConstIter = const Val *;
+
+public:
+ explicit UuidView(const Val * const uuid) noexcept : _mUuid {uuid}
+ {
+ BT_ASSERT_DBG(uuid);
+ }
+
+ explicit UuidView(const Uuid& uuid) noexcept;
+ UuidView(const UuidView&) noexcept = default;
+ UuidView& operator=(const UuidView&) noexcept = default;
+
+ UuidView& operator=(const Val * const uuid) noexcept
+ {
+ _mUuid = uuid;
+ return *this;
+ }
+
+ operator Uuid() const noexcept;
+
+ std::string str() const
+ {
+ std::string s;
+
+ s.resize(BT_UUID_STR_LEN);
+ bt_uuid_to_str(_mUuid, &s[0]);
+
+ return s;
+ }
+
+ bool operator==(const UuidView& other) const noexcept
+ {
+ return bt_uuid_compare(_mUuid, other._mUuid) == 0;
+ }
+
+ bool operator!=(const UuidView& other) const noexcept
+ {
+ return !(*this == other);
+ }
+
+ bool operator<(const UuidView& other) const noexcept
+ {
+ return bt_uuid_compare(_mUuid, other._mUuid) < 0;
+ }
+
+ static constexpr std::size_t size() noexcept
+ {
+ return BT_UUID_LEN;
+ }
+
+ const Val *data() const noexcept
+ {
+ return _mUuid;
+ }
+
+ Val operator[](const std::size_t index) const noexcept
+ {
+ return _mUuid[index];
+ }
+
+ ConstIter begin() const noexcept
+ {
+ return _mUuid;
+ }
+
+ ConstIter end() const noexcept
+ {
+ return _mUuid + this->size();
+ }
+
+ bool isNil() const noexcept
+ {
+ return std::all_of(this->begin(), this->end(), [](const std::uint8_t byte) {
+ return byte == 0;
+ });
+ }
+
+private:
+ const Val *_mUuid;
+};
+
/*
* A universally unique identifier.
*
std::array<Val, UuidView::size()> _mUuid = {};
};
+inline UuidView::UuidView(const Uuid& uuid) noexcept : _mUuid {uuid.data()}
+{
+}
+
+inline UuidView::operator Uuid() const noexcept
+{
+ return Uuid {*this};
+}
+
} /* namespace bt2c */
#endif /* BABELTRACE_CPP_COMMON_BT2C_UUID_HPP */