Document the new DPF surfaces in one command set, and test the field, half-tree, and multipoint edges.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ryan Henry 2026-09-24 23:18:10 -06:00
parent 0d8a5a8131
commit 0dff6df8ed
250 changed files with 12199 additions and 1981 deletions

View file

@ -57,6 +57,7 @@ struct xor_wrapper
constexpr xor_wrapper(xor_wrapper &&) noexcept = default;
/// @brief Value c'tor
/// @param v the `v`
// cppcheck-suppress noExplicitConstructor
HEDLEY_NO_THROW
constexpr xor_wrapper(value_type v) noexcept : value{v} { } // NOLINT(runtime/explicit)
@ -896,6 +897,7 @@ template <typename T>
struct is_xor_wrapper<xor_wrapper<T>> : std::true_type {};
/// @brief specializes `dpf::utils::bitlength_of` for `xor_wrapper`
/// @tparam T value type
template <typename T>
struct bitlength_of<xor_wrapper<T>>
: public bitlength_of<T>
@ -953,23 +955,27 @@ namespace std
/// @{
/// @details specializes `std::numeric_limits` for `xor_wrapper<T>`
/// @tparam T value type
template<typename T>
class numeric_limits<dpf::xor_wrapper<T>>
: public numeric_limits<dpf::utils::make_unsigned_t<T>> {};
/// @details specializes `std::numeric_limits` for `xor_wrapper<T> const`
/// @tparam T value type
template<typename T>
class numeric_limits<dpf::xor_wrapper<T> const>
: public numeric_limits<dpf::xor_wrapper<T>> {};
/// @details specializes `std::numeric_limits` for
/// `xor_wrapper<T> volatile`
/// @brief `xor_wrapper<T> volatile`
/// @tparam T value type
template<typename T>
class numeric_limits<dpf::xor_wrapper<T> volatile>
: public numeric_limits<dpf::xor_wrapper<T>> {};
/// @details specializes `std::numeric_limits` for
/// `xor_wrapper<T> const volatile`
/// @brief `xor_wrapper<T> const volatile`
/// @tparam T value type
template<typename T>
class numeric_limits<dpf::xor_wrapper<T> const volatile>
: public numeric_limits<dpf::xor_wrapper<T>> {};