diff --git a/include/uuid.h b/include/uuid.h index 8fac04c..f3e74b6 100644 --- a/include/uuid.h +++ b/include/uuid.h @@ -659,11 +659,6 @@ namespace uuids data.swap(other.data); } - friend void swap(uuid& lhs, uuid& rhs) noexcept - { - std::swap(lhs.data, rhs.data); - } - iterator begin() noexcept { return uuid_iterator(&data[0], 0); } const_iterator begin() const noexcept { return uuid_const_iterator(&data[0], 0); } iterator end() noexcept { return uuid_iterator(&data[0], state_size); } @@ -769,7 +764,12 @@ namespace uuids return sstr.str(); } - class uuid_default_generator + inline void swap(uuids::uuid & lhs, uuids::uuid & rhs) + { + lhs.swap(rhs); + } + + class uuid_system_generator { public: typedef uuid result_type; @@ -981,12 +981,6 @@ namespace uuids namespace std { - template <> - void swap(uuids::uuid & lhs, uuids::uuid & rhs) - { - lhs.swap(rhs); - } - template <> struct hash { diff --git a/test/test.cpp b/test/test.cpp index d51f2dd..adf36b7 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -80,7 +80,7 @@ int main() std::cout << "Test equality" << std::endl; uuid empty; - uuid guid = uuids::uuid_default_generator{}(); + uuid guid = uuids::uuid_random_generator{}(); assert(empty == empty); assert(guid == guid); @@ -91,7 +91,7 @@ int main() std::cout << "Test comparison" << std::endl; auto empty = uuid{}; - uuids::uuid_default_generator gen; + uuids::uuid_random_generator gen; auto id = gen(); assert(empty < id); @@ -119,7 +119,7 @@ int main() auto h2 = std::hash{}; assert(h1(str) == h2(guid)); - uuids::uuid_default_generator gen; + uuids::uuid_random_generator gen; std::unordered_set ids{ uuid{}, @@ -137,7 +137,7 @@ int main() std::cout << "Test swap" << std::endl; uuid empty; - uuid guid = uuids::uuid_default_generator{}(); + uuid guid = uuids::uuid_random_generator{}(); assert(empty.nil()); assert(!guid.nil()); @@ -213,7 +213,7 @@ int main() { std::cout << "Test default generator" << std::endl; - uuid const guid = uuids::uuid_default_generator{}(); + uuid const guid = uuids::uuid_random_generator{}(); assert(!guid.nil()); assert(guid.size() == 16); assert(guid.version() == uuids::uuid_version::random_number_based); @@ -402,7 +402,7 @@ int main() { std::cout << "Test name generator" << std::endl; - uuids::uuid_name_generator dgen(uuids::uuid_default_generator{}()); + uuids::uuid_name_generator dgen(uuids::uuid{"47183823-2574-4bfd-b411-99ed177d3e43"}); auto id1 = dgen("john"); assert(!id1.nil()); assert(id1.size() == 16);