cortexlib
v0.2.0
|
Namespaces | |
utils | |
Classes | |
class | matrix |
matrix - Two Dimensional Array More... | |
class | normal_iterator |
Normal Iterator. More... | |
Functions | |
template<typename ElemL , typename ElemR > | |
requires | requires (ElemL lhsE, ElemR rhsE) |
Compares two Matrices for equality. More... | |
constexpr auto | operator== (const matrix< ElemL > &lhs, const matrix< ElemR > &rhs) noexcept(noexcept(std::declval< ElemL >()==std::declval< ElemR >()) &&noexcept(std::ranges::equal(lhs, rhs))) -> bool |
template<typename ElemL , typename ElemR > | |
constexpr auto | operator<=> (const matrix< ElemL > &lhs, const matrix< ElemR > &rhs) |
Spaceship Operator for matrix. More... | |
template<typename E , std::copy_constructible F> | |
constexpr auto | operator|| (const matrix< E > &bx, F f) noexcept -> matrix< std::invoke_result_t< F, E >> |
Map Operator. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | operator== (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base()==rhs.base())) -> bool |
Equality Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | operator== (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base()==rhs.base())) -> bool |
Equality Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | operator!= (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base() !=rhs.base())) -> bool |
Inequality Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | operator!= (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base() !=rhs.base())) -> bool |
Inequality Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | operator< (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base()< rhs.base())) -> bool |
Less-than Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | operator< (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base()< rhs.base())) -> bool |
Less-than Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | operator> (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base() > rhs.base())) -> bool |
Greater-than Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | operator> (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base() > rhs.base())) -> bool |
Greater-than Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | operator<= (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base()<=rhs.base())) -> bool |
Less-than-or-Equal Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | operator<= (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base()<=rhs.base())) -> bool |
Less-than-or-Equal Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
constexpr auto | operator>= (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) noexcept(noexcept(lhs.base() >=rhs.base())) -> bool |
Greater-than-or-Equal Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr bool | operator>= (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) noexcept(noexcept(lhs.base() >=rhs.base())) -> bool |
Greater-than-or-Equal Operator Overload. More... | |
template<typename IterL , typename IterR , typename Container > | |
normal_iterator< IterL, Container >::difference_type | operator- (const normal_iterator< IterL, Container > &lhs, const normal_iterator< IterR, Container > &rhs) |
Difference Operator Overload. More... | |
template<typename Iterator , typename Container > | |
normal_iterator< Iterator, Container >::difference_type | operator- (const normal_iterator< Iterator, Container > &lhs, const normal_iterator< Iterator, Container > &rhs) |
Difference Operator Overload. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | operator+ (typename normal_iterator< Iterator, Container >::difference_type n, const normal_iterator< Iterator, Container > &i) noexcept -> normal_iterator< Iterator, Container > |
Addition Operator Overload. More... | |
template<typename Container > | |
constexpr auto | make_normal_iterator (typename Container::iterator i) noexcept -> normal_iterator< typename Container::iterator, Container > |
Makes a new normal_iterator. More... | |
template<typename Iterator , typename Container > | |
constexpr auto | make_normal_iterator (Iterator i) noexcept -> normal_iterator< Iterator, Container > |
Makes a new normal_iterators. More... | |
|
constexprnoexcept |
Makes a new normal_iterators.
An adaptor for making slice pointers into normal_iterators.
Iterator | |
Container |
i | type: Iterator |
|
constexprnoexcept |
Makes a new normal_iterator.
An adaptor for turning STL container iterators into normal_iterators.
Container |
i | type: Container::iterator |
|
inlineconstexprnoexcept |
Inequality Operator Overload.
Performs an inequality comparison of two normal_iterator whose iterator_type and Container type are the same.
Iterator | |
Container |
lhs | type: const normal_iterator<Iterator, Container>& |
rhs | type: const normal_iterator<Iterator, Container>& |
|
inlineconstexprnoexcept |
Inequality Operator Overload.
Performs an equality comparison of two normal_iterator whose iterator_type can be different but of they share the same Container type.
IterL | |
IterR | |
Container |
lhs | type: const normal_iterator<IterL, Container>& |
rhs | type: const normal_iterator<IterR, Container>& |
|
inlineconstexprnoexcept |
Addition Operator Overload.
Takes an offset n and a normal_iterators i. Constructs a new normal_iterators by adding n to i.base().
Iterator | |
Container |
n | type: normal_iterator<Iterator, Container>::difference_type |
i | type: const normal_iterator<Iterator, Container>& |
|
inline |
Difference Operator Overload.
Performs a difference operation between two normal_iterator whose iterator_type and Container type are the same.
Iterator | |
Container |
lhs | type: const normal_iterator<Iterator, Container>& |
rhs | type: const normal_iterator<Iterator, Container>& |
|
inline |
Difference Operator Overload.
Performs a difference operation between two normal_iterator whose iterator_type can be different but share the same Container type.
IterL | |
IterR | |
Container |
lhs | type: const normal_iterator<IterL, Container>& |
rhs | type: const normal_iterator<IterR, Container>& C++11 ! C++11 |
|
inlineconstexprnoexcept |
Less-than Operator Overload.
Performs an less-than comparison of two normal_iterator whose iterator_type and Container type are the same.
Iterator | |
Container |
lhs | type: const normal_iterator<Iterator, Container>& |
rhs | type: const normal_iterator<Iterator, Container>& |
|
inlineconstexprnoexcept |
Less-than Operator Overload.
Performs an less-than comparison of two normal_iterator whose iterator_type can be different but of they share the same Container type.
IterL | |
IterR | |
Container |
lhs | type: const normal_iterator<IterL, Container>& |
rhs | type: const normal_iterator<IterR, Container>& |
|
inlineconstexprnoexcept |
Less-than-or-Equal Operator Overload.
Performs an less-than-or-equal comparison of two normal_iterator whose iterator_type and Container type are the same.
Iterator | |
Container |
lhs | type: const normal_iterator<Iterator, Container>& |
rhs | type: const normal_iterator<Iterator, Container>& |
|
inlineconstexprnoexcept |
Less-than-or-Equal Operator Overload.
Performs an less-than-or-equal comparison of two normal_iterator whose iterator_type can be different but of they share the same Container type.
IterL | |
IterR | |
Container |
lhs | type: const normal_iterator<IterL, Container>& |
rhs | type: const normal_iterator<IterR, Container>& |
|
inlineconstexpr |
Spaceship Operator for matrix.
Uses std::lexicographical_compare_three_way to compare the Matrices and generates the !=, <, >, <=, >= operators.
ElemL | |
ElemR |
lhs | type: const matrix<ElemL>& |
rhs | type: const matrix<ElemR>& |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Equality Operator Overload.
Performs an equality comparison of two normal_iterator whose iterator_type and Container type are the same.
Iterator | |
Container |
lhs | type: const normal_iterator<Iterator, Container>& |
rhs | type: const normal_iterator<Iterator, Container>& |
|
inlineconstexprnoexcept |
Equality Operator Overload.
Performs an equality comparison of two normal_iterator whose iterator_type can be different but of they share the same Container type.
IterL | |
IterR | |
Container |
lhs | type: const normal_iterator<IterL, Container>& |
rhs | type: const normal_iterator<IterR, Container>& |
|
inlineconstexprnoexcept |
Greater-than Operator Overload.
Performs an greater-than comparison of two normal_iterator whose iterator_type and Container type are the same.
Iterator | |
Container |
lhs | type: const normal_iterator<Iterator, Container>& |
rhs | type: const normal_iterator<Iterator, Container>& |
|
inlineconstexprnoexcept |
Greater-than Operator Overload.
Performs an greater-than comparison of two normal_iterator whose iterator_type can be different but of they share the same Container type.
IterL | |
IterR | |
Container |
lhs | type: const normal_iterator<IterL, Container>& |
rhs | type: const normal_iterator<IterR, Container>& |
|
inlineconstexprnoexcept |
Greater-than-or-Equal Operator Overload.
Performs an greater-than-or-equal comparison of two normal_iterator whose iterator_type and Container type are the same.
Iterator | |
Container |
lhs | type: const normal_iterator<Iterator, Container>& |
rhs | type: const normal_iterator<Iterator, Container>& |
|
inlineconstexprnoexcept |
Greater-than-or-Equal Operator Overload.
Performs an greater-than-or-equal comparison of two normal_iterator whose iterator_type can be different but of they share the same Container type.
IterL | |
IterR | |
Container |
lhs | type: const normal_iterator<IterL, Container>& |
rhs | type: const normal_iterator<IterR, Container>& |
|
constexprnoexcept |
Map Operator.
Maps a function over the elements of a matrix and returns a new matrix with the mapped values.
E | |
F | concept: std::copy_constructible |
bx | type: const matrix<E>& |
f | type: F |
requires cxl::requires | ( | ElemL | lhsE, |
ElemR | rhsE | ||
) |
Compares two Matrices for equality.
Uses std::equal to compare the Matrices.
ElemL | |
ElemR |
lhsE | type: ElemL - requires parameter |
rhsE | type: ElemR - requires parameter |
lhs | type: const matrix<ElemL>& |
rhs | type: const matrix<ElemR>& |