diff --git a/CMakeLists.txt b/CMakeLists.txt index 46a4e8a..a192031 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.7.0) -project(test_uuid) +project(test_uuid CXX) include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_SOURCE_DIR}/catch) diff --git a/include/uuid.h b/include/uuid.h index 10d63e4..cccd57c 100644 --- a/include/uuid.h +++ b/include/uuid.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -282,6 +283,19 @@ namespace uuids reserved }; + struct uuid_error : public std::runtime_error + { + explicit uuid_error(std::string_view message) + : std::runtime_error(message.data()) + { + } + + explicit uuid_error(char const * message) + : std::runtime_error(message) + { + } + }; + // indicated by a bit pattern in octet 6, marked with M in xxxxxxxx-xxxx-Mxxx-xxxx-xxxxxxxxxxxx enum class uuid_version { @@ -443,7 +457,7 @@ namespace uuids using value_type = uint8_t; public: - constexpr uuid() noexcept = default; + constexpr uuid() noexcept : data({}) {}; explicit uuid(gsl::span bytes) { @@ -501,7 +515,7 @@ namespace uuids constexpr uuid_const_iterator begin() const noexcept { return uuid_const_iterator(&data[0], 0); } constexpr uuid_const_iterator end() const noexcept { return uuid_const_iterator(&data[0], 16); } - constexpr inline gsl::span as_bytes() const + inline gsl::span as_bytes() const { return gsl::span(reinterpret_cast(data.data()), 16); } @@ -572,19 +586,6 @@ namespace uuids friend std::basic_ostream & operator<<(std::basic_ostream &s, uuid const & id); }; - struct uuid_error : public std::runtime_error - { - explicit uuid_error(std::string_view message) - : std::runtime_error(message.data()) - { - } - - explicit uuid_error(char const * message) - : std::runtime_error(message) - { - } - }; - inline bool operator== (uuid const& lhs, uuid const& rhs) noexcept { return lhs.data == rhs.data; @@ -869,4 +870,4 @@ namespace std return static_cast(hasher(uuids::to_string(uuid))); } }; -} \ No newline at end of file +} diff --git a/test/test_uuid.cpp b/test/test_uuid.cpp index 8e418b1..4387968 100644 --- a/test/test_uuid.cpp +++ b/test/test_uuid.cpp @@ -1,6 +1,7 @@ #include "uuid.h" #include "catch.hpp" +#include #include #include #include @@ -233,10 +234,10 @@ TEST_CASE("Test iterators", "[iter]") TEST_CASE("Test constexpr", "[const]") { constexpr uuid empty; - constexpr bool isnil = empty.is_nil(); - constexpr size_t size = empty.size(); - constexpr uuid_variant variant = empty.variant(); - constexpr uuid_version version = empty.version(); + [[maybe_unused]] constexpr bool isnil = empty.is_nil(); + [[maybe_unused]] constexpr size_t size = empty.size(); + [[maybe_unused]] constexpr uuids::uuid_variant variant = empty.variant(); + [[maybe_unused]] constexpr uuid_version version = empty.version(); } TEST_CASE("Test size", "[operators]") @@ -288,4 +289,4 @@ TEST_CASE("Test as_bytes", "[ops]") REQUIRE(memcmp(view.data(), arr.data(), arr.size()) == 0); } -} \ No newline at end of file +}