sge::math::basic_matrix< T, N, M > Class Template Reference

#include <matrix.hpp>

List of all members.

Public Types

typedef T value_type
typedef T & reference
typedef const T & const_reference
typedef T * pointer
typedef const T * const_pointer
typedef std::size_t size_type
typedef
detail::matrix_proxy_impl
< value_type &, value_type
*, N > 
proxy
typedef
detail::matrix_proxy_impl
< const value_type &, const
value_type *, N > 
const_proxy

Public Member Functions

template<typename... Args>
 basic_matrix (Args...args)
 basic_matrix (no_initialization_tag)
 basic_matrix (const basic_matrix &r)
basic_matrixoperator= (const basic_matrix &r)
basic_matrixoperator+= (const basic_matrix &r)
basic_matrixoperator-= (const basic_matrix &r)
basic_matrixoperator*= (const value_type &v)
const proxy operator[] (const size_type j)
const const_proxy operator[] (const size_type j) const
pointer data ()
const_pointer data () const
size_type size () const
template<typename... Args>
void set (const_reference arg, Args...args)


Detailed Description

template<typename T, std::size_t N, std::size_t M>
class sge::math::basic_matrix< T, N, M >

basic_matrix uses variadic templates where available

Attention:
To use basic_matrix' functions you have to include <sge/math/matrix_impl.hpp>!

Member Typedef Documentation

template<typename T, std::size_t N, std::size_t M>
typedef T sge::math::basic_matrix< T, N, M >::value_type

template<typename T, std::size_t N, std::size_t M>
typedef T& sge::math::basic_matrix< T, N, M >::reference

template<typename T, std::size_t N, std::size_t M>
typedef const T& sge::math::basic_matrix< T, N, M >::const_reference

template<typename T, std::size_t N, std::size_t M>
typedef T* sge::math::basic_matrix< T, N, M >::pointer

template<typename T, std::size_t N, std::size_t M>
typedef const T* sge::math::basic_matrix< T, N, M >::const_pointer

template<typename T, std::size_t N, std::size_t M>
typedef std::size_t sge::math::basic_matrix< T, N, M >::size_type

template<typename T, std::size_t N, std::size_t M>
typedef detail::matrix_proxy_impl<value_type&, value_type*, N> sge::math::basic_matrix< T, N, M >::proxy

template<typename T, std::size_t N, std::size_t M>
typedef detail::matrix_proxy_impl<const value_type&, const value_type*, N> sge::math::basic_matrix< T, N, M >::const_proxy


Constructor & Destructor Documentation

template<typename T, std::size_t N, std::size_t M>
template<typename... Args>
sge::math::basic_matrix< T, N, M >::basic_matrix ( Args...  args  )  [inline, explicit]

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M >::basic_matrix ( no_initialization_tag   )  [inline]

Doesn't initialize any of the fields

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M >::basic_matrix ( const basic_matrix< T, N, M > &  r  )  [inline]


Member Function Documentation

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M > & sge::math::basic_matrix< T, N, M >::operator= ( const basic_matrix< T, N, M > &  r  )  [inline]

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M > & sge::math::basic_matrix< T, N, M >::operator+= ( const basic_matrix< T, N, M > &  r  )  [inline]

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M > & sge::math::basic_matrix< T, N, M >::operator-= ( const basic_matrix< T, N, M > &  r  )  [inline]

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M > & sge::math::basic_matrix< T, N, M >::operator*= ( const value_type v  )  [inline]

template<typename T, std::size_t N, std::size_t M>
const sge::math::basic_matrix< T, N, M >::proxy sge::math::basic_matrix< T, N, M >::operator[] ( const size_type  j  )  [inline]

Returns a proxy object which itself has operator[]

template<typename T, std::size_t N, std::size_t M>
const sge::math::basic_matrix< T, N, M >::const_proxy sge::math::basic_matrix< T, N, M >::operator[] ( const size_type  j  )  const [inline]

Returns a proxy object which itself has operator[]

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M >::pointer sge::math::basic_matrix< T, N, M >::data (  )  [inline]

Returns a raw pointer to the matrix data

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M >::const_pointer sge::math::basic_matrix< T, N, M >::data (  )  const [inline]

Returns a raw pointer to the matrix data

template<typename T, std::size_t N, std::size_t M>
sge::math::basic_matrix< T, N, M >::size_type sge::math::basic_matrix< T, N, M >::size (  )  const [inline]

Returns $n \cdot m$

template<typename T, std::size_t N, std::size_t M>
template<typename... Args>
void sge::math::basic_matrix< T, N, M >::set ( const_reference  arg,
Args...  args 
) [inline]


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

Generated on Wed Sep 10 22:17:53 2008 for sge by  doxygen 1.5.5