lin
Classes | Typedefs | Functions
references.hpp File Reference
#include "core.hpp"
#include "references/diagonal_mapping_reference.hpp"
#include "references/diagonal_stream_reference.hpp"
#include "references/matrix_mapping_reference.hpp"
#include "references/matrix_stream_reference.hpp"
#include "references/vector_mapping_reference.hpp"
#include "references/vector_stream_reference.hpp"
#include <type_traits>

Go to the source code of this file.

Classes

struct  lin::internal::mapping_reference< C, D, typename >
 
struct  lin::internal::mapping_reference< C, D, std::enable_if_t< conjunction< is_matrix< C >, have_same_elements< C, D > >::value > >
 
struct  lin::internal::mapping_reference< C, D, std::enable_if_t< conjunction< is_col_vector< C >, have_same_elements< C, D > >::value > >
 
struct  lin::internal::mapping_reference< C, D, std::enable_if_t< conjunction< is_row_vector< C >, have_same_elements< C, D > >::value > >
 
struct  lin::internal::stream_reference< C, D, typename >
 
struct  lin::internal::stream_reference< C, D, std::enable_if_t< conjunction< is_matrix< C >, have_same_elements< C, D > >::value > >
 
struct  lin::internal::stream_reference< C, D, std::enable_if_t< conjunction< is_col_vector< C >, have_same_elements< C, D > >::value > >
 
struct  lin::internal::stream_reference< C, D, std::enable_if_t< conjunction< is_row_vector< C >, have_same_elements< C, D > >::value > >
 

Typedefs

template<class C , class D >
using lin::internal::mapping_reference_t = typename mapping_reference< C, D >::type
 
template<class C , class D >
using lin::internal::stream_reference_t = typename stream_reference< C, D >::type
 

Functions

template<class C , class D , typename = std::enable_if_t<internal::has_traits<C>::value>>
constexpr auto lin::ref (internal::Mapping< D > &mapping, size_t i, size_t j)
 Creates a mapping reference with default dimensions. More...
 
template<class C , class D , typename = std::enable_if_t<internal::conjunction< internal::has_traits<C>, internal::is_vector<C>>::value>>
constexpr auto lin::ref (internal::Mapping< D > &mapping, size_t i, size_t j, size_t n)
 Creates a vector mapping reference with the provided length. More...
 
template<class C , class D , typename = std::enable_if_t<internal::has_traits<C>::value>>
constexpr auto lin::ref (internal::Mapping< D > &mapping, size_t i, size_t j, size_t r, size_t c)
 Creates a mapping reference with the provided dimensions. More...
 
template<class D >
constexpr auto lin::col (internal::Mapping< D > &mapping, size_t j)
 Creates a mapping reference of a particular column of a given tensor. More...
 
template<class D >
constexpr auto lin::row (internal::Mapping< D > &mapping, size_t i)
 Creates a mapping reference of a particular row of a given tensor. More...
 
template<class D , typename = std::enable_if_t<internal::conjunction< internal::is_matrix<D>, internal::is_square<D>>::value>>
constexpr auto lin::diag (internal::Mapping< D > &mapping)
 Creates a diagonal mapping reference from the given mapping. More...
 
template<class C , class D , typename = std::enable_if_t<internal::has_traits<C>::value>>
constexpr auto lin::ref (internal::Stream< D > const &stream, size_t i, size_t j)
 Creates a mapping stream with default dimensions. More...
 
template<class C , class D , typename = std::enable_if_t<internal::conjunction< internal::has_traits<C>, internal::is_vector<C>>::value>>
constexpr auto lin::ref (internal::Stream< D > const &stream, size_t i, size_t j, size_t n)
 Creates a vector stream reference with the provided length. More...
 
template<class C , class D , typename = std::enable_if_t<internal::has_traits<C>::value>>
constexpr auto lin::ref (internal::Stream< D > const &stream, size_t i, size_t j, size_t r, size_t c)
 Creates a stream reference with the provided dimensions. More...
 
template<class D >
constexpr auto lin::col (internal::Stream< D > const &stream, size_t j)
 Creates a stream reference of a particular column of a given tensor. More...
 
template<class D >
constexpr auto lin::row (internal::Stream< D > const &stream, size_t i)
 Creates a stream reference of a particular row of a given tensor. More...
 
template<class D , typename = std::enable_if_t<internal::conjunction< internal::is_matrix<D>, internal::is_square<D>>::value>>
constexpr auto lin::diag (internal::Stream< D > const &stream)
 Creates a diagonal stream reference from the given stream. More...
 

Detailed Description

Author
Kyle Krol