Sequoia
|
Forward declaration for the coordinates class template. More...
#include <Spaces.hpp>
Additional Inherited Members | |
![]() | |
using | convex_space_type = ConvexSpace |
using | basis_type = Basis |
using | validator_type = Validator |
using | origin_type = Origin |
using | set_type = ConvexSpace::set_type |
using | free_module_type = free_module_type_of_t< ConvexSpace > |
using | commutative_ring_type = commutative_ring_type_of_t< ConvexSpace > |
using | value_type = commutative_ring_type |
using | displacement_coordinates_type = DisplacementCoordinates |
![]() | |
constexpr | coordinates_base (std::span< const value_type, D > vals) noexcept(has_identity_validator) |
template<class... Ts> requires (D > 1) && (std::convertible_to<Ts, value_type> && ...) | |
constexpr | explicit (sizeof...(Ts)==1) coordinates_base(Ts... ts) noexcept(has_identity_validator) |
template<class T > requires (D == 1) && (std::convertible_to<T, value_type>) | |
constexpr | coordinates_base (T val) noexcept(has_identity_validator) |
template<class Self > | |
constexpr Self & | operator+= (this Self &self, const displacement_coordinates_type &v) noexcept(has_identity_validator) |
template<class Self > requires has_distinguished_origin | |
&&!std ::is_same_v< coordinates_base, displacement_coordinates_type > constexpr Self & | operator+= (this Self &self, const coordinates_base &v) noexcept(has_identity_validator) |
template<class Self > | |
constexpr Self & | operator-= (this Self &self, const displacement_coordinates_type &v) noexcept(has_identity_validator) |
template<class Self > requires has_distinguished_origin | |
constexpr Self & | operator*= (this Self &self, value_type u) noexcept(has_identity_validator) |
template<class Self > requires has_distinguished_origin | |
constexpr Self & | operator/= (this Self &self, value_type u) |
template<class Self > | |
constexpr Self | operator+ (this const Self &self) noexcept |
template<class Self > requires has_distinguished_origin | |
&&!std ::is_unsigned_v< value_type > constexpr Self | operator- (this const Self &self) noexcept(has_identity_validator) |
constexpr const validator_type & | validator () const noexcept |
constexpr std::span< const value_type, D > | values () const noexcept |
constexpr std::span< value_type, D > | values () noexcept |
constexpr const value_type & | value () const noexcept |
constexpr value_type & | value () noexcept |
constexpr | operator bool () const noexcept |
This is explicit since otherwise, given two vectors a,b, a/b is well-formed due to implicit boolean conversion. | |
constexpr value_type | operator[] (std::size_t i) const |
constexpr value_type & | operator[] (std::size_t i) |
constexpr auto | begin () const noexcept |
constexpr auto | end () const noexcept |
constexpr auto | rbegin () const noexcept |
constexpr auto | rend () const noexcept |
constexpr auto | cbegin () const noexcept |
constexpr auto | cend () const noexcept |
constexpr auto | crbegin () const noexcept |
constexpr auto | crend () const noexcept |
constexpr auto | begin () noexcept |
constexpr auto | end () noexcept |
constexpr auto | rbegin () noexcept |
constexpr auto | rend () noexcept |
![]() | |
static constexpr bool | has_distinguished_origin {std::is_same_v<Origin, distinguished_origin>} |
static constexpr bool | has_identity_validator {is_identity_validator_v<Validator>} |
static constexpr bool | has_freely_mutable_components {has_identity_validator && has_distinguished_origin} |
static constexpr std::size_t | dimension {free_module_type::dimension} |
static constexpr std::size_t | D {dimension} |
![]() | |
coordinates_base (const coordinates_base &)=default | |
coordinates_base (coordinates_base &&) noexcept=default | |
coordinates_base & | operator= (const coordinates_base &)=default |
coordinates_base & | operator= (coordinates_base &&) noexcept=default |
template<class Self , class Fn > requires std::invocable<Fn, value_type&, value_type> | |
constexpr void | apply_to_each_element (this Self &self, std::span< const value_type, D > rhs, Fn f) |
template<class Self , class Fn > requires std::invocable<Fn, value_type&> | |
constexpr void | for_each_element (this Self &self, Fn f) |
Forward declaration for the coordinates class template.
Class template for representing coordinates on vector spaces, affine spaces and various generalizations.