Sequoia
Loading...
Searching...
No Matches
List of all members
sequoia::maths::coordinates< ConvexSpace, Basis, Origin, Validator > Class Template Reference

Forward declaration for the coordinates class template. More...

#include <Spaces.hpp>

Inheritance diagram for sequoia::maths::coordinates< ConvexSpace, Basis, Origin, Validator >:
sequoia::maths::coordinates_base< ConvexSpace, Basis, Origin, Validator, DisplacementCoordinates >

Additional Inherited Members

- Public Types inherited from sequoia::maths::coordinates_base< ConvexSpace, Basis, Origin, Validator, DisplacementCoordinates >
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
 
- Public Member Functions inherited from sequoia::maths::coordinates_base< ConvexSpace, Basis, Origin, Validator, 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 Public Attributes inherited from sequoia::maths::coordinates_base< ConvexSpace, Basis, Origin, Validator, DisplacementCoordinates >
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}
 
- Protected Member Functions inherited from sequoia::maths::coordinates_base< ConvexSpace, Basis, Origin, Validator, DisplacementCoordinates >
 coordinates_base (const coordinates_base &)=default
 
 coordinates_base (coordinates_base &&) noexcept=default
 
coordinates_baseoperator= (const coordinates_base &)=default
 
coordinates_baseoperator= (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)
 

Detailed Description

template<convex_space ConvexSpace, basis_for< free_module_type_of_t< ConvexSpace > > Basis, class Origin, validator_for< ConvexSpace > Validator>
class sequoia::maths::coordinates< ConvexSpace, Basis, Origin, Validator >

Forward declaration for the coordinates class template.

Class template for representing coordinates on vector spaces, affine spaces and various generalizations.


The documentation for this class was generated from the following file: