Skip to content

Commit

Permalink
Add v7 and v8 to uuid::version_type
Browse files Browse the repository at this point in the history
  • Loading branch information
pdimov committed May 1, 2024
1 parent b414e9e commit 4a4a372
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 5 deletions.
8 changes: 7 additions & 1 deletion include/boost/uuid/uuid.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,9 @@ struct uuid
version_name_based_md5 = 3,
version_random_number_based = 4,
version_name_based_sha1 = 5,
version_time_based_v6 = 6
version_time_based_v6 = 6,
version_time_based_v7 = 7,
version_custom_v8 = 8
};

version_type version() const noexcept
Expand All @@ -129,6 +131,10 @@ struct uuid
return version_name_based_sha1;
} else if ( (octet9 & 0xF0) == 0x60 ) {
return version_time_based_v6;
} else if ( (octet9 & 0xF0) == 0x70 ) {
return version_time_based_v7;
} else if ( (octet9 & 0xF0) == 0x80 ) {
return version_custom_v8;
} else {
return version_unknown;
}
Expand Down
4 changes: 2 additions & 2 deletions test/test_uuid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@ int main()
, { 0x40, boost::uuids::uuid::version_random_number_based }
, { 0x50, boost::uuids::uuid::version_name_based_sha1 }
, { 0x60, boost::uuids::uuid::version_time_based_v6 }
, { 0x70, boost::uuids::uuid::version_unknown }
, { 0x80, boost::uuids::uuid::version_unknown }
, { 0x70, boost::uuids::uuid::version_time_based_v7 }
, { 0x80, boost::uuids::uuid::version_custom_v8 }
, { 0x90, boost::uuids::uuid::version_unknown }
, { 0xa0, boost::uuids::uuid::version_unknown }
, { 0xb0, boost::uuids::uuid::version_unknown }
Expand Down
12 changes: 10 additions & 2 deletions test/test_uuid_2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ int main()
uuid u = uuid_from_string( "017F22E2-79B0-7CC3-98C4-DC0C0C07398F" );

BOOST_TEST_EQ( u.variant(), uuid::variant_rfc_4122 );
BOOST_TEST_EQ( u.version(), uuid::version_unknown );
BOOST_TEST_EQ( u.version(), uuid::version_time_based_v7 );
// BOOST_TEST_EQ( u.timestamp_v7(), 0x017F22E279B0 );
}

Expand All @@ -80,7 +80,15 @@ int main()
uuid u = uuid_from_string( "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" );

BOOST_TEST_EQ( u.variant(), uuid::variant_rfc_4122 );
BOOST_TEST_EQ( u.version(), uuid::version_unknown );
BOOST_TEST_EQ( u.version(), uuid::version_custom_v8 );
}

// B.2, UUIDv8
{
uuid u = uuid_from_string( "5c146b14-3c52-8afd-938a-375d0df1fbf6" );

BOOST_TEST_EQ( u.variant(), uuid::variant_rfc_4122 );
BOOST_TEST_EQ( u.version(), uuid::version_custom_v8 );
}

return boost::report_errors();
Expand Down

0 comments on commit 4a4a372

Please sign in to comment.