2
0
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:
Peter Dimov
2025-09-08 22:23:25 +03:00
parent 5496dd3bbe
commit c6d8a9a1f0
5 changed files with 52 additions and 14 deletions

View File

@@ -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)

View File

@@ -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

View 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