SourceForge Logo Tiny Vector Matrix library using Expression Templates Sourceforge Project Page

include/tvmet/VectorImpl.h File Reference

#include <iomanip>
#include <tvmet/Functional.h>
#include <tvmet/Io.h>

Include dependency graph for VectorImpl.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  tvmet

Defines

#define TVMET_IMPLEMENT_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME)


Define Documentation

#define TVMET_IMPLEMENT_MACRO ( NAME   ) 

Value:

template<class T, std::size_t Sz>                 \
template <class E>                      \
inline                          \
Vector<T, Sz>&                        \
Vector<T, Sz>::alias_##NAME (const XprVector<E, Size>& rhs) {           \
  typedef Vector<T, Sz>         temp_type;          \
  temp_type(rhs).assign_to(*this, Fcnl_##NAME<value_type, typename E::value_type>()); \
  return *this;                       \
}

#define TVMET_IMPLEMENT_MACRO ( NAME   ) 

Value:

template<class T1, std::size_t Sz>                     \
template <class T2>                        \
inline                             \
Vector<T1, Sz>&                          \
Vector<T1, Sz>::alias_##NAME (const Vector<T2, Size>& rhs) {               \
  this->alias_##NAME( XprVector<typename Vector<T2, Size>::ConstReference, Size>(rhs.const_ref()) ); \
  return *this;                          \
}

#define TVMET_IMPLEMENT_MACRO ( NAME   ) 

Value:

template<class T, std::size_t Sz>            \
template <class E>                 \
inline                     \
Vector<T, Sz>&                   \
Vector<T, Sz>::M_##NAME (const XprVector<E, Size>& rhs) {      \
  rhs.assign_to(*this, Fcnl_##NAME<value_type, typename E::value_type>()); \
  return *this;                  \
}

#define TVMET_IMPLEMENT_MACRO ( NAME   ) 

Value:

template<class T1, std::size_t Sz>                  \
template <class T2>                     \
inline Vector<T1, Sz>&                      \
Vector<T1, Sz>::M_##NAME (const Vector<T2, Size>& rhs) {            \
  this->M_##NAME( XprVector<typename Vector<T2, Size>::ConstReference, Size>(rhs.const_ref()) );  \
  return *this;                       \
}

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP   ) 

Value:

template<class T, std::size_t Sz>         \
inline                  \
Vector<T, Sz>& Vector<T, Sz>::operator OP (std::size_t rhs) {   \
  typedef XprLiteral<value_type>      expr_type;  \
  this->M_##NAME(XprVector<expr_type, Size>(expr_type(rhs)));   \
  return *this;               \
}

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP   ) 

Value:

template<class T, std::size_t Sz>         \
inline                  \
Vector<T, Sz>& Vector<T, Sz>::operator OP (value_type rhs) {    \
  typedef XprLiteral<value_type>      expr_type;  \
  this->M_##NAME(XprVector<expr_type, Size>(expr_type(rhs)));   \
  return *this;               \
}


Author: