mirror of
https://github.com/boostorg/uuid.git
synced 2026-01-19 04:42:16 +00:00
Make constants constexpr under C++14
This commit is contained in:
@@ -10,9 +10,9 @@
|
||||
namespace boost {
|
||||
namespace uuids {
|
||||
|
||||
inline uuid nil_uuid() noexcept
|
||||
constexpr uuid nil_uuid() noexcept
|
||||
{
|
||||
return {{}};
|
||||
return {};
|
||||
}
|
||||
|
||||
}} // namespace boost::uuids
|
||||
|
||||
@@ -7,41 +7,38 @@
|
||||
// https://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#include <boost/uuid/uuid.hpp>
|
||||
#include <boost/config.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace uuids {
|
||||
namespace ns {
|
||||
|
||||
inline uuid dns() noexcept
|
||||
BOOST_CXX14_CONSTEXPR inline uuid dns() noexcept
|
||||
{
|
||||
uuid result = {{
|
||||
return {{
|
||||
0x6b, 0xa7, 0xb8, 0x10, 0x9d, 0xad, 0x11, 0xd1,
|
||||
0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8 }};
|
||||
return result;
|
||||
}
|
||||
|
||||
inline uuid url() noexcept
|
||||
BOOST_CXX14_CONSTEXPR inline uuid url() noexcept
|
||||
{
|
||||
uuid result = {{
|
||||
return {{
|
||||
0x6b, 0xa7, 0xb8, 0x11, 0x9d, 0xad, 0x11, 0xd1,
|
||||
0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8 }};
|
||||
return result;
|
||||
}
|
||||
|
||||
inline uuid oid() noexcept
|
||||
BOOST_CXX14_CONSTEXPR inline uuid oid() noexcept
|
||||
{
|
||||
uuid result = {{
|
||||
return {{
|
||||
0x6b, 0xa7, 0xb8, 0x12, 0x9d, 0xad, 0x11, 0xd1,
|
||||
0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8 }};
|
||||
return result;
|
||||
}
|
||||
|
||||
inline uuid x500dn() noexcept
|
||||
BOOST_CXX14_CONSTEXPR inline uuid x500dn() noexcept
|
||||
{
|
||||
uuid result = {{
|
||||
return {{
|
||||
0x6b, 0xa7, 0xb8, 0x14, 0x9d, 0xad, 0x11, 0xd1,
|
||||
0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8 }};
|
||||
return result;
|
||||
}
|
||||
|
||||
}}} // namespace boost::uuids::ns
|
||||
|
||||
@@ -85,5 +85,6 @@ boost_test(TYPE run SOURCES test_constants.cpp)
|
||||
|
||||
boost_test(TYPE compile SOURCES test_uuid_cx.cpp)
|
||||
boost_test(TYPE run SOURCES test_string_generator_cx.cpp)
|
||||
boost_test(TYPE run SOURCES test_constants_cx.cpp)
|
||||
|
||||
boost_test(TYPE run SOURCES quick.cpp)
|
||||
|
||||
@@ -211,6 +211,7 @@ run test_constants.cpp ;
|
||||
|
||||
compile test_uuid_cx.cpp ;
|
||||
run test_string_generator_cx.cpp ;
|
||||
run test_constants_cx.cpp ;
|
||||
|
||||
# 'quick' test for CI
|
||||
|
||||
|
||||
39
test/test_constants_cx.cpp
Normal file
39
test/test_constants_cx.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
// Copyright 2025 Peter Dimov
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// https://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#include <boost/uuid/constants.hpp>
|
||||
#include <boost/uuid/uuid.hpp>
|
||||
#include <boost/uuid/uuid_io.hpp>
|
||||
#include <boost/uuid/string_generator.hpp>
|
||||
#include <boost/core/lightweight_test.hpp>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/pragma_message.hpp>
|
||||
|
||||
#if defined(BOOST_NO_CXX14_CONSTEXPR)
|
||||
|
||||
BOOST_PRAGMA_MESSAGE("Skipping test because BOOST_NO_CXX14_CONSTEXPR is defined")
|
||||
int main() {}
|
||||
|
||||
#else
|
||||
|
||||
using namespace boost::uuids;
|
||||
|
||||
constexpr auto u1 = ns::dns();
|
||||
constexpr auto u2 = ns::url();
|
||||
constexpr auto u3 = ns::oid();
|
||||
constexpr auto u4 = ns::x500dn();
|
||||
constexpr auto u5 = nil_uuid();
|
||||
|
||||
int main()
|
||||
{
|
||||
BOOST_TEST_EQ( u1, string_generator()("6ba7b810-9dad-11d1-80b4-00c04fd430c8"));
|
||||
BOOST_TEST_EQ( u2, string_generator()("6ba7b811-9dad-11d1-80b4-00c04fd430c8"));
|
||||
BOOST_TEST_EQ( u3, string_generator()("6ba7b812-9dad-11d1-80b4-00c04fd430c8"));
|
||||
BOOST_TEST_EQ( u4, string_generator()("6ba7b814-9dad-11d1-80b4-00c04fd430c8"));
|
||||
BOOST_TEST_EQ( u5, string_generator()("00000000-0000-0000-0000-000000000000"));
|
||||
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user