Simple-Vector v1.3.0
Concepts.hpp File Reference
#include <concepts>
#include <type_traits>

Go to the source code of this file.

Classes

struct  sl::vec::vector_traits< T >
 Uniform interface to Vector types. More...
 
struct  sl::vec::is_vectorial< T >
 Checks whether T is a vector type. More...
 

Namespaces

namespace  sl
 
namespace  sl::vec
 

Concepts

concept  sl::vec::add_assignable
 Checks if the given type can be used in mutable plus operations.
 
concept  sl::vec::sub_assignable
 Checks if the given type can be used in mutable minus operations.
 
concept  sl::vec::mul_assignable
 Checks if the given type can be used in mutable multiplication operations.
 
concept  sl::vec::div_assignable
 Checks if the given type can be used in mutable division operations.
 
concept  sl::vec::mod_assignable
 Checks if the given type can be used in mutable modulo operations.
 
concept  sl::vec::addable
 Checks if the given type can be used in immutable plus operations.
 
concept  sl::vec::subable
 Checks if the given type can be used in immutable minus operations.
 
concept  sl::vec::mulable
 Checks if the given type can be used in immutable multiplication operations.
 
concept  sl::vec::divable
 Checks if the given type can be used in immutable division operations.
 
concept  sl::vec::modable
 Checks if the given type can be used in immutable module operations.
 
concept  sl::vec::binary_invokable_with_all_overloads_implicit_convertible_to
 Checks if binary operation has all four overloads (one for each parameter constellation) and if all of those overloads are implicitly convertible to the result type.
 
concept  sl::vec::value_type
 Checks if the given type is regular and can be used in common arithmetically operations.
 
concept  sl::vec::vectorial
 Concept checking for vectorial types.
 

Typedefs

template<class T >
using sl::vec::vector_value_t = typename vector_traits< std::remove_cvref_t< T > >::value_type
 Convenience alias type to the value_type of Vectors. More...
 

Variables

template<class T >
constexpr auto sl::vec::vector_dims_v = vector_traits<std::remove_cvref_t<T>>::dimensions
 Convenience constant to the dimensions of Vectors. More...
 
template<class T >
constexpr bool sl::vec::is_vectorial_v = is_vectorial<T>::value
 Shortcut checking for vectorial classes. More...