27 #include <boost/operators.hpp>
34 private boost::equality_comparable<Mat2>,
35 private boost::additive<Mat2>,
36 private boost::multiplicative2<Mat2, Real>
69 const Real&
At(std::size_t r, std::size_t c)
const
72 throw std::out_of_range(
"indices must be smaller than 2");
78 Real&
At(std::size_t r, std::size_t c)
81 throw std::out_of_range(
"indices must be smaller than 2");
Mat2 & operator+=(const Mat2 &rhs)
addable op
Mat2()
Default initialization, identity matrix.
Mat2(Real i00, Real i01, Real i10, Real i11)
In with 4 values in row-major order.
Mat2 & operator/=(const Real d)
bool operator==(const Mat2 &rhs) const
comparable
Mat2(const Real[4])
initialization from array
const Real & operator()(std::size_t r, std::size_t c) const
const element access
const Real * Data() const
const Real & At(std::size_t r, std::size_t c) const
const element access
Mat2(const Mat2 &m)
Copy ctor.
Mat2 & operator*=(const Mat2 &m)
Mat2 & operator*=(const Real d)
Real & At(std::size_t r, std::size_t c)
element access
Real & operator()(std::size_t r, std::size_t c)
element access
Mat2 & operator=(const Mat2 &m)
assignement op
Mat2 & operator-=(const Mat2 &rhs)
subtractable op
#define DLLEXPORT_OST_GEOM
std::ostream & operator<<(std::ostream &os, const AlignedCuboid &c)