nngn
Loading...
Searching...
No Matches
nngn::mat< CRTP, T, N > Struct Template Reference

#include <mat.h>

Inheritance diagram for nngn::mat< CRTP, T, N >:

Public Types

using type = T
 
using vec_type = vec_type_t< T, N >
 
using type = T
 
using vec_type = vec_type_t< T, N >
 

Public Member Functions

constexpr vec_typeoperator[] (std::size_t i)
 
constexpr const vec_typeoperator[] (std::size_t i) const
 
Tdata (void)
 
const Tdata (void) const
 
constexpr vec_type row (std::size_t i) const
 
constexpr vec_type col (std::size_t i) const
 
constexpr vec_typeoperator[] (std::size_t i)
 
constexpr const vec_typeoperator[] (std::size_t i) const
 
Tdata (void)
 
const Tdata (void) const
 
constexpr vec_type row (std::size_t i) const
 
constexpr vec_type col (std::size_t i) const
 

Public Attributes

std::array< T, N *Nm = {}
 

Static Public Attributes

static constexpr std::size_t n_dim = N
 

Member Typedef Documentation

◆ type [1/2]

template<template< typename > typename CRTP, typename T , std::size_t N>
using nngn::mat< CRTP, T, N >::type = T

◆ type [2/2]

template<template< typename > typename CRTP, typename T , std::size_t N>
using nngn::mat< CRTP, T, N >::type = T

◆ vec_type [1/2]

template<template< typename > typename CRTP, typename T , std::size_t N>
using nngn::mat< CRTP, T, N >::vec_type = vec_type_t<T, N>

◆ vec_type [2/2]

template<template< typename > typename CRTP, typename T , std::size_t N>
using nngn::mat< CRTP, T, N >::vec_type = vec_type_t<T, N>

Member Function Documentation

◆ col() [1/2]

template<template< typename > typename CRTP, typename T , std::size_t N>
constexpr auto nngn::mat< CRTP, T, N >::col ( std::size_t  i) const
constexpr

◆ col() [2/2]

template<template< typename > typename CRTP, typename T , std::size_t N>
constexpr vec_type nngn::mat< CRTP, T, N >::col ( std::size_t  i) const
constexpr

◆ data() [1/4]

template<template< typename > typename CRTP, typename T , std::size_t N>
T * nngn::mat< CRTP, T, N >::data ( void  )
inline

◆ data() [2/4]

template<template< typename > typename CRTP, typename T , std::size_t N>
T * nngn::mat< CRTP, T, N >::data ( void  )
inline

◆ data() [3/4]

template<template< typename > typename CRTP, typename T , std::size_t N>
const T * nngn::mat< CRTP, T, N >::data ( void  ) const
inline

◆ data() [4/4]

template<template< typename > typename CRTP, typename T , std::size_t N>
const T * nngn::mat< CRTP, T, N >::data ( void  ) const
inline

◆ operator[]() [1/4]

template<template< typename > typename CRTP, typename T , std::size_t N>
constexpr auto nngn::mat< CRTP, T, N >::operator[] ( std::size_t  i)
constexpr

◆ operator[]() [2/4]

template<template< typename > typename CRTP, typename T , std::size_t N>
constexpr vec_type & nngn::mat< CRTP, T, N >::operator[] ( std::size_t  i)
constexpr

◆ operator[]() [3/4]

template<template< typename > typename CRTP, typename T , std::size_t N>
constexpr auto nngn::mat< CRTP, T, N >::operator[] ( std::size_t  i) const
constexpr

◆ operator[]() [4/4]

template<template< typename > typename CRTP, typename T , std::size_t N>
constexpr const vec_type & nngn::mat< CRTP, T, N >::operator[] ( std::size_t  i) const
constexpr

◆ row() [1/2]

template<template< typename > typename CRTP, typename T , std::size_t N>
constexpr auto nngn::mat< CRTP, T, N >::row ( std::size_t  i) const
constexpr

◆ row() [2/2]

template<template< typename > typename CRTP, typename T , std::size_t N>
constexpr vec_type nngn::mat< CRTP, T, N >::row ( std::size_t  i) const
constexpr

Member Data Documentation

◆ m

template<template< typename > typename CRTP, typename T , std::size_t N>
std::array< T, N *N > nngn::mat< CRTP, T, N >::m = {}

◆ n_dim

template<template< typename > typename CRTP, typename T , std::size_t N>
static constexpr std::size_t nngn::mat< CRTP, T, N >::n_dim = N
staticconstexpr

The documentation for this struct was generated from the following files: