mirror of
https://github.com/boostorg/array.git
synced 2025-07-02 15:31:04 +02:00
Compare commits
3 Commits
feature/pr
...
feature/th
Author | SHA1 | Date | |
---|---|---|---|
9b508e3ad2 | |||
84d0f84c9b | |||
37a4833e26 |
@ -235,6 +235,76 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
|
||||
"clang-3.8",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 18.04 Clang 3.9",
|
||||
"cppalliance/droneubuntu1804:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-3.9', CXXSTD: '03,11,14' },
|
||||
"clang-3.9",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 18.04 Clang 4.0",
|
||||
"cppalliance/droneubuntu1804:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-4.0', CXXSTD: '03,11,14' },
|
||||
"clang-4.0",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 18.04 Clang 5.0",
|
||||
"cppalliance/droneubuntu1804:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-5.0', CXXSTD: '03,11,14,1z' },
|
||||
"clang-5.0",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 18.04 Clang 6.0",
|
||||
"cppalliance/droneubuntu1804:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-6.0', CXXSTD: '03,11,14,17' },
|
||||
"clang-6.0",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 20.04 Clang 7",
|
||||
"cppalliance/droneubuntu2004:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-7', CXXSTD: '03,11,14,17' },
|
||||
"clang-7",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 20.04 Clang 8",
|
||||
"cppalliance/droneubuntu2004:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-8', CXXSTD: '03,11,14,17' },
|
||||
"clang-8",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 20.04 Clang 9",
|
||||
"cppalliance/droneubuntu2004:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-9', CXXSTD: '03,11,14,17,2a' },
|
||||
"clang-9",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 20.04 Clang 10",
|
||||
"cppalliance/droneubuntu2004:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-10', CXXSTD: '03,11,14,17,2a' },
|
||||
"clang-10",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 20.04 Clang 11",
|
||||
"cppalliance/droneubuntu2004:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-11', CXXSTD: '03,11,14,17,2a' },
|
||||
"clang-11",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 20.04 Clang 12",
|
||||
"cppalliance/droneubuntu2004:1",
|
||||
{ TOOLSET: 'clang', COMPILER: 'clang++-12', CXXSTD: '03,11,14,17,2a' },
|
||||
"clang-12",
|
||||
),
|
||||
|
||||
linux_pipeline(
|
||||
"Linux 22.04 Clang 13",
|
||||
"cppalliance/droneubuntu2204:1",
|
||||
|
@ -51,6 +51,12 @@
|
||||
#include <utility>
|
||||
#include <cstddef>
|
||||
|
||||
#if defined(__cpp_impl_three_way_comparison) && __cpp_impl_three_way_comparison >= 201907L
|
||||
# if __has_include(<compare>)
|
||||
# include <compare>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
|
||||
template<class T, std::size_t N>
|
||||
@ -383,6 +389,7 @@ namespace boost {
|
||||
}
|
||||
|
||||
#if defined(__cpp_impl_three_way_comparison) && __cpp_impl_three_way_comparison >= 201907L
|
||||
# if __has_include(<compare>)
|
||||
|
||||
template<class T, std::size_t N>
|
||||
constexpr auto operator<=> (const array<T,N>& x, const array<T,N>& y)
|
||||
@ -394,16 +401,17 @@ namespace boost {
|
||||
if( r != 0 ) return r;
|
||||
}
|
||||
|
||||
return 0 <=> 0; // std::strong_ordering::equal
|
||||
return std::strong_ordering::equal;
|
||||
}
|
||||
|
||||
template<class T>
|
||||
constexpr auto operator<=> (const array<T,0>& /*x*/, const array<T,0>& /*y*/)
|
||||
-> decltype( 0 <=> 0 )
|
||||
-> std::strong_ordering
|
||||
{
|
||||
return 0 <=> 0; // std::strong_ordering::equal
|
||||
return std::strong_ordering::equal;
|
||||
}
|
||||
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// undocumented and obsolete
|
||||
|
@ -8,6 +8,12 @@
|
||||
#include <boost/config/pragma_message.hpp>
|
||||
#include <cstddef>
|
||||
|
||||
#if defined(__has_include)
|
||||
# if __has_include(<compare>)
|
||||
# define HAS_COMPARE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_impl_three_way_comparison)
|
||||
|
||||
BOOST_PRAGMA_MESSAGE( "Test skipped because __cpp_impl_three_way_comparison is not defined" )
|
||||
@ -18,6 +24,11 @@ int main() {}
|
||||
BOOST_PRAGMA_MESSAGE( "Test skipped because __cpp_impl_three_way_comparison is defined to " BOOST_STRINGIZE(__cpp_impl_three_way_comparison) )
|
||||
int main() {}
|
||||
|
||||
#elif !defined(HAS_COMPARE)
|
||||
|
||||
BOOST_PRAGMA_MESSAGE( "Test skipped because <compare> is not available" )
|
||||
int main() {}
|
||||
|
||||
#else
|
||||
|
||||
template<class T, std::size_t N> void test()
|
||||
|
@ -8,6 +8,12 @@
|
||||
#include <boost/config/workaround.hpp>
|
||||
#include <cstddef>
|
||||
|
||||
#if defined(__has_include)
|
||||
# if __has_include(<compare>)
|
||||
# define HAS_COMPARE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_impl_three_way_comparison)
|
||||
|
||||
BOOST_PRAGMA_MESSAGE( "Test skipped because __cpp_impl_three_way_comparison is not defined" )
|
||||
@ -18,6 +24,11 @@ int main() {}
|
||||
BOOST_PRAGMA_MESSAGE( "Test skipped because __cpp_impl_three_way_comparison is defined to " BOOST_STRINGIZE(__cpp_impl_three_way_comparison) )
|
||||
int main() {}
|
||||
|
||||
#elif !defined(HAS_COMPARE)
|
||||
|
||||
BOOST_PRAGMA_MESSAGE( "Test skipped because <compare> is not available" )
|
||||
int main() {}
|
||||
|
||||
#else
|
||||
|
||||
#define STATIC_ASSERT(...) static_assert(__VA_ARGS__, #__VA_ARGS__)
|
||||
|
Reference in New Issue
Block a user