sandbox
Loading...
Searching...
No Matches
sbx::math::basic_vector< Size, Type > Class Template Reference

Public Types

using value_type = Type
 
using reference = value_type &
 
using const_reference = const value_type &
 
using size_type = std::size_t
 
using length_type = std::float_t
 

Public Member Functions

template<scalar Other = value_type>
constexpr basic_vector (Other value=Other{0}) noexcept
 
template<scalar Other = value_type>
constexpr basic_vector (const basic_vector< Size, Other > &other) noexcept
 
constexpr auto data () noexcept -> value_type *
 
constexpr auto operator[] (size_type index) noexcept -> reference
 
constexpr auto operator[] (size_type index) const noexcept -> const_reference
 
template<scalar Other>
constexpr auto operator+= (const basic_vector< Size, Other > &other) noexcept -> basic_vector &
 
template<scalar Other>
constexpr auto operator-= (const basic_vector< Size, Other > &other) noexcept -> basic_vector &
 
template<scalar Other>
constexpr auto operator*= (Other scalar) noexcept -> basic_vector &
 
template<scalar Other>
constexpr auto operator*= (const basic_vector< Size, Other > &other) noexcept -> basic_vector &
 
template<scalar Other>
constexpr auto operator/= (Other scalar) noexcept -> basic_vector &
 
constexpr auto length_squared () const noexcept -> length_type
 
constexpr auto length () const noexcept -> length_type
 
constexpr auto normalize () noexcept -> basic_vector &
 

Protected Member Functions

template<std::convertible_to< value_type >... Args>
requires (sizeof...(Args) == Size)
constexpr basic_vector (Args &&... args) noexcept
 
constexpr basic_vector (std::array< value_type, Size > &&components) noexcept
 

Static Protected Member Functions

template<scalar Other>
static constexpr auto fill (Other value) noexcept -> basic_vector
 
template<std::size_t Index, scalar Other>
static constexpr auto axis (Other value) noexcept -> basic_vector
 

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