armarx::aron::detail Namespace Reference

Classes

struct  is_optional
 
struct  is_optional< std::optional< Ts... > >
 

Functions

void requireNDArrayByteSize (std::size_t received, std::size_t expected, const std::string &where)
 Throw unless an NDArray's data has exactly the byte size of the object it is copied into.
 

Function Documentation

◆ requireNDArrayByteSize()

void requireNDArrayByteSize ( std::size_t received,
std::size_t expected,
const std::string & where )
inline

Throw unless an NDArray's data has exactly the byte size of the object it is copied into.

The dimension checks alone do not cover this: dims and data are separate fields of the input, so a message claiming 4x4 but carrying 20 floats would otherwise be memcpy'd past the end of a 4x4 matrix.