Stratax 0.4.0rc1
Loading...
Searching...
No Matches
ArrayTraits.hpp File Reference

Result-container rebinding and promotion for owning arrays. More...

#include <type_traits>
#include <stratax/containers/Matrix.hpp>
#include <stratax/containers/Tensor.hpp>
#include <stratax/containers/Vector.hpp>
Include dependency graph for ArrayTraits.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  stratax::core::RebindArray< container::Vector< From >, To >
 Rebinds a Vector to a different value type. More...
 
struct  stratax::core::RebindArray< container::Matrix< From >, To >
 Rebinds a Matrix to a different value type. More...
 
struct  stratax::core::RebindArray< container::Tensor< From >, To >
 Rebinds a Tensor to a different value type. More...
 
struct  stratax::core::PromoteArray< container::Vector< LValue >, container::Vector< RValue >, T >
 Vector + Vector preserves Vector. More...
 
struct  stratax::core::PromoteArray< container::Matrix< LValue >, container::Matrix< RValue >, T >
 Matrix + Matrix preserves Matrix. More...
 
struct  stratax::core::PromoteArray< container::Tensor< LValue >, container::Tensor< RValue >, T >
 Tensor + Tensor preserves Tensor. More...
 
struct  stratax::core::PromoteArray< container::Vector< LValue >, container::Matrix< RValue >, T >
 Mixed Vector/Matrix operations promote to Tensor. More...
 
struct  stratax::core::PromoteArray< container::Matrix< LValue >, container::Vector< RValue >, T >
 Mixed Matrix/Vector operations promote to Tensor. More...
 
struct  stratax::core::PromoteArray< container::Vector< LValue >, container::Tensor< RValue >, T >
 Mixed Vector/Tensor operations promote to Tensor. More...
 
struct  stratax::core::PromoteArray< container::Tensor< LValue >, container::Vector< RValue >, T >
 Mixed Tensor/Vector operations promote to Tensor. More...
 
struct  stratax::core::PromoteArray< container::Matrix< LValue >, container::Tensor< RValue >, T >
 Mixed Matrix/Tensor operations promote to Tensor. More...
 
struct  stratax::core::PromoteArray< container::Tensor< LValue >, container::Matrix< RValue >, T >
 Mixed Tensor/Matrix operations promote to Tensor. More...
 

Typedefs

template<typename A , typename T >
using stratax::core::rebind_array_t = typename RebindArray< std::remove_cvref_t< A >, std::remove_cvref_t< T > >::type
 Convenience alias for rebinding an array to a new value type.
 
template<typename L , typename R , typename T >
using stratax::core::promote_array_t = typename PromoteArray< std::remove_cvref_t< L >, std::remove_cvref_t< R >, std::remove_cvref_t< T > >::type
 Convenience alias for the promoted array container type.
 

Detailed Description

Result-container rebinding and promotion for owning arrays.

Definition in file ArrayTraits.hpp.

Typedef Documentation

◆ promote_array_t

template<typename L , typename R , typename T >
using stratax::core::promote_array_t = typedef typename PromoteArray< std::remove_cvref_t<L>, std::remove_cvref_t<R>, std::remove_cvref_t<T> >::type

Convenience alias for the promoted array container type.

Definition at line 195 of file ArrayTraits.hpp.

◆ rebind_array_t

template<typename A , typename T >
using stratax::core::rebind_array_t = typedef typename RebindArray< std::remove_cvref_t<A>, std::remove_cvref_t<T> >::type

Convenience alias for rebinding an array to a new value type.

cv- and reference qualifiers are removed from the array type before rebinding.

Definition at line 64 of file ArrayTraits.hpp.