static_assert( __cplusplus > 2020'99 ); #pragma once #include #include #include "Concepts.h" namespace Alepha::Hydrogen ::detail:: TotalOrder_m { inline namespace exports { using TotalOrder= std::strong_ordering; template< typename T > concept TotalOrderable= requires( const T &lhs, const T &rhs ) { { lhs <=> rhs } -> SameAs< TotalOrder >; }; } } namespace Alepha::Hydrogen::inline exports::inline TotalOrder_m { using namespace detail::TotalOrder_m::exports; }