Sequoia
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Friends | 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 >

Public Types

using base_type = coordinates_base< ConvexSpace, Basis, Origin, Validator >
 
using displacement_coordinates_type = base_type::displacement_coordinates_type
 
using value_type = base_type::value_type
 
- 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

constexpr coordinates operator+ () const noexcept(has_identity_validator)
 
constexpr coordinates operator- () const noexcept(has_identity_validator)
 
- 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) && (sizeof...(Ts) == D) && (std::convertible_to<Ts, value_type> && ...)
constexpr 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)
 
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)
 

Static Public Attributes

static constexpr bool has_identity_validator {base_type::has_identity_validator}
 
- 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 std::size_t dimension {free_module_type::dimension}
 
static constexpr std::size_t D {dimension}
 

Friends

constexpr displacement_coordinates_type operator- (const coordinates &lhs, const coordinates &rhs) noexcept(has_identity_validator)
 

Additional Inherited Members

- 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: