Stratax 0.2.0
Loading...
Searching...
No Matches
DimensionValidation.hpp File Reference
#include <cstddef>
#include <limits>
#include <stratax/core/Exceptions.hpp>

Go to the source code of this file.

Namespaces

namespace  stratax
namespace  stratax::core
namespace  stratax::core::validation

Functions

std::size_t stratax::core::validation::nonnegative_size (std::ptrdiff_t value, const char *message)
 Converts a signed value to std::size_t after rejecting negatives.
void stratax::core::validation::require_rank (std::size_t actual, std::size_t expected, const char *message)
 Requires a rank value to match an expected rank.
template<typename Ranked>
requires requires(const Ranked& object) { object.rank(); }
const Ranked & stratax::core::validation::require_rank (const Ranked &object, std::size_t expected, const char *message)
 Requires an object with rank() to match an expected rank.
std::size_t stratax::core::validation::checked_multiply (std::size_t lhs, std::size_t rhs, const char *message)
 Multiplies two sizes while checking for overflow.
std::size_t stratax::core::validation::checked_add (std::size_t lhs, std::size_t rhs, const char *message)
 Adds two sizes while checking for overflow.