$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::metal Namespace Reference

Classes

struct  abort_
struct  and_
struct  ands
struct  array1d
struct  array2d
struct  array3d
struct  bool_< false >
struct  bool_< true >
struct  const_
struct  const_< const T & >
struct  const_< const T * >
struct  const_< const T *const >
struct  const_< const T >
struct  const_< T & >
struct  const_< T * >
struct  const_< T *const >
struct  const_return_
struct  const_return_< const T & >
struct  const_return_< const T * >
struct  const_return_< const T *const >
struct  const_return_< const T >
struct  const_return_< T & >
struct  const_return_< T * >
struct  const_return_< T *const >
struct  converts_to
struct  converts_to< double, def::coord >
struct  converts_to< double, int >
struct  converts_to< double, value::int_s< n > >
struct  converts_to< double, value::int_u< n > >
struct  converts_to< float, def::coord >
struct  converts_to< float, int >
struct  converts_to< float, value::int_s< n > >
struct  converts_to< float, value::int_u< n > >
struct  converts_to< T **, U ** >
struct  converts_to< T *, U * >
struct  equal
struct  equal< T, T >
struct  fix_return
struct  fix_return< const T & >
struct  fix_return< const T * >
struct  fix_return< const T *const >
struct  fix_return< const T >
struct  fix_return< T & >
struct  fix_return< T * >
struct  fix_return< T *const >
struct  goes_to
struct  if_
struct  int_
struct  is
struct  is< const T, const U >
struct  is< T &, U & >
struct  is< T **, U ** >
struct  is< T *, U * >
struct  is_a
struct  is_a< const T &, M >
struct  is_a< const T, M >
struct  is_a< T &, M >
struct  is_const
struct  is_const< const T & >
struct  is_const< const T >
struct  is_not
struct  is_not_a
struct  is_not_const
struct  is_not_const< const T & >
struct  is_not_const< const T >
struct  is_not_ref
struct  is_not_ref< const T & >
struct  is_not_ref< T & >
struct  is_ref
struct  is_ref< const T & >
struct  is_ref< T & >
struct  is_unqualif
class  mat
struct  not_
struct  not_equal
struct  not_equal< T, T >
struct  or_
struct  ref
struct  ref< T & >
struct  same_coord
struct  same_point
struct  templated_by
struct  templated_by< T< V >, T >
struct  unconst
struct  unconst< const T & >
struct  unconst< const T >
struct  unptr
struct  unptr< T * >
struct  unqualif
struct  unref
struct  unref< const T & >
struct  unref< T & >
class  vec
struct  xor_

Typedefs

typedef bool_< false > false_
typedef bool_< true > true_

Functions

template<unsigned i, class T , unsigned n>
T get (const array1d< T, n > &arr)
template<unsigned row, unsigned col, class T , unsigned r, unsigned c>
T get (const array2d< T, r, c > &arr)
template<unsigned sli, unsigned row, unsigned col, class T , unsigned s, unsigned r, unsigned c>
T get_ (const array3d< T, s, r, c > &arr)
template<unsigned i, class T , unsigned n>
T get_at (const array1d< T, n > &arr)
template<unsigned row, unsigned col, class T , unsigned r, unsigned c>
T get_at (const array2d< T, r, c > &arr)
template<unsigned sli, unsigned row, unsigned col, class T , unsigned s, unsigned r, unsigned c>
T get_at (const array3d< T, s, r, c > &arr)
template<unsigned n, unsigned o, typename T , unsigned m, typename U >
mat< n, m, typename
mln::trait::value_< typename
mln::trait::op::times< T, U >
::ret >::sum > 
operator* (const mat< n, o, T > &lhs, const mat< o, m, U > &rhs)
template<unsigned n, unsigned m, typename T , typename U >
vec< n, typename
mln::trait::value_< typename
mln::trait::op::times< T, U >
::ret >::sum > 
operator* (const mat< n, m, T > &lhs, const vec< m, U > &rhs)
template<unsigned n, unsigned m, typename T , typename S >
mat< n, m, typename
mln::trait::op::times< T, S >
::ret
operator* (const mat< n, m, T > &lhs, const value::scalar_< S > &s)
template<unsigned n, typename T , typename U >
mln::trait::value_< typename
mln::trait::op::times< T, U >
::ret >::sum 
operator* (const vec< n, T > &lhs, const vec< n, U > &rhs)
template<unsigned n, typename T , typename S >
vec< n, typename
mln::trait::op::times< T, S >
::ret
operator* (const vec< n, T > &lhs, const mln::value::scalar_< S > &s)
template<unsigned n, unsigned m, typename T , typename U >
mat< n, m, typename
mln::trait::op::plus< T, U >
::ret
operator+ (mat< n, m, T > &lhs, const mat< n, m, U > &rhs)
template<unsigned n, typename T , typename U >
vec< n, typename
mln::trait::op::plus< T, U >
::ret
operator+ (const vec< n, T > &lhs, const vec< n, U > &rhs)
template<unsigned n, unsigned m, typename T , typename U >
mat< n, m, typename
mln::trait::op::minus< T, U >
::ret
operator- (const mat< n, m, T > &lhs, const mat< n, m, U > &rhs)
template<unsigned n, unsigned m, typename T >
mat< n, m, typename
mln::trait::op::uminus< T >
::ret
operator- (const mat< n, m, T > &lhs)
template<unsigned n, typename T , typename U >
vec< n, typename
mln::trait::op::minus< T, U >
::ret
operator- (const vec< n, T > &lhs, const vec< n, U > &rhs)
template<unsigned n, unsigned m, typename T , typename S >
mat< n, m, typename
mln::trait::op::div< T, S >
::ret
operator/ (const mat< n, m, T > &lhs, const value::scalar_< S > &s)
template<unsigned n, typename T , typename S >
vec< n, typename
mln::trait::op::div< T, S >
::ret
operator/ (const vec< n, T > &lhs, const mln::value::scalar_< S > &s)
template<typename T , unsigned n>
std::ostream & operator<< (std::ostream &ostr, const array1d< T, n > &rhs)
template<typename T , unsigned r, unsigned c>
std::ostream & operator<< (std::ostream &ostr, const array2d< T, r, c > &rhs)
template<unsigned n, unsigned m, typename T >
std::ostream & operator<< (std::ostream &ostr, const mat< n, m, T > &v)
template<unsigned n, typename T >
std::ostream & operator<< (std::ostream &ostr, const vec< n, T > &v)
template<unsigned n, unsigned m, typename T , typename U >
bool operator== (mat< n, m, T > &lhs, const mat< n, m, U > &rhs)
template<unsigned n, typename T , typename U >
bool operator== (const vec< n, T > &lhs, const vec< n, U > &rhs)
template<typename T , typename U >
vec< 3, typename
mln::trait::op::times< T, U >
::ret
vprod (const vec< 3, T > &lhs, const vec< 3, U > &rhs)

Detailed Description

Namespace of meta-programming tools.

Typedef Documentation

typedef bool_<false> mln::metal::false_

Definition at line 85 of file bool.hh.

typedef bool_<true> mln::metal::true_

Definition at line 68 of file bool.hh.

Function Documentation

template<unsigned i, class T , unsigned n>
T mln::metal::get ( const array1d< T, n > &  arr)
inline

Definition at line 48 of file metal/array.hh.

template<unsigned row, unsigned col, class T , unsigned r, unsigned c>
T mln::metal::get ( const array2d< T, r, c > &  arr)
inline

Definition at line 64 of file metal/array.hh.

template<unsigned sli, unsigned row, unsigned col, class T , unsigned s, unsigned r, unsigned c>
T mln::metal::get_ ( const array3d< T, s, r, c > &  arr)
inline

Definition at line 80 of file metal/array.hh.

template<unsigned i, class T , unsigned n>
T mln::metal::get_at ( const array1d< T, n > &  arr)
inline

Definition at line 42 of file metal/array.hh.

template<unsigned row, unsigned col, class T , unsigned r, unsigned c>
T mln::metal::get_at ( const array2d< T, r, c > &  arr)
inline

Definition at line 57 of file metal/array.hh.

template<unsigned sli, unsigned row, unsigned col, class T , unsigned s, unsigned r, unsigned c>
T mln::metal::get_at ( const array3d< T, s, r, c > &  arr)
inline

Definition at line 73 of file metal/array.hh.

template<unsigned n, unsigned o, typename T , unsigned m, typename U >
mat<n, m, typename mln::trait::value_< typename mln::trait::op::times< T , U >::ret >::sum> mln::metal::operator* ( const mat< n, o, T > &  lhs,
const mat< o, m, U > &  rhs 
)
template<unsigned n, unsigned m, typename T , typename U >
vec<n, typename mln::trait::value_< typename mln::trait::op::times< T , U >::ret >::sum> mln::metal::operator* ( const mat< n, m, T > &  lhs,
const vec< m, U > &  rhs 
)
template<unsigned n, unsigned m, typename T , typename S >
mat<n, m, typename mln::trait::op::times< T , S >::ret> mln::metal::operator* ( const mat< n, m, T > &  lhs,
const value::scalar_< S > &  s 
)
template<unsigned n, typename T , typename U >
mln::trait::value_< typename mln::trait::op::times< T , U >::ret >::sum mln::metal::operator* ( const vec< n, T > &  lhs,
const vec< n, U > &  rhs 
)
template<unsigned n, typename T , typename S >
vec<n, typename mln::trait::op::times< T , S >::ret> mln::metal::operator* ( const vec< n, T > &  lhs,
const mln::value::scalar_< S > &  s 
)
template<unsigned n, unsigned m, typename T , typename U >
mat<n, m, typename mln::trait::op::plus< T , U >::ret> mln::metal::operator+ ( mat< n, m, T > &  lhs,
const mat< n, m, U > &  rhs 
)
template<unsigned n, typename T , typename U >
vec<n, typename mln::trait::op::plus< T , U >::ret> mln::metal::operator+ ( const vec< n, T > &  lhs,
const vec< n, U > &  rhs 
)
template<unsigned n, unsigned m, typename T , typename U >
mat<n, m, typename mln::trait::op::minus< T , U >::ret> mln::metal::operator- ( const mat< n, m, T > &  lhs,
const mat< n, m, U > &  rhs 
)
template<unsigned n, unsigned m, typename T >
mat<n, m, typename mln::trait::op::uminus< T >::ret> mln::metal::operator- ( const mat< n, m, T > &  lhs)
template<unsigned n, typename T , typename U >
vec<n, typename mln::trait::op::minus< T , U >::ret> mln::metal::operator- ( const vec< n, T > &  lhs,
const vec< n, U > &  rhs 
)
template<unsigned n, unsigned m, typename T , typename S >
mat<n, m, typename mln::trait::op::div< T , S >::ret> mln::metal::operator/ ( const mat< n, m, T > &  lhs,
const value::scalar_< S > &  s 
)
template<unsigned n, typename T , typename S >
vec<n, typename mln::trait::op::div< T , S >::ret> mln::metal::operator/ ( const vec< n, T > &  lhs,
const mln::value::scalar_< S > &  s 
)
template<typename T , unsigned n>
std::ostream& mln::metal::operator<< ( std::ostream &  ostr,
const array1d< T, n > &  rhs 
)

Definition at line 88 of file metal/array.hh.

template<typename T , unsigned r, unsigned c>
std::ostream& mln::metal::operator<< ( std::ostream &  ostr,
const array2d< T, r, c > &  rhs 
)

Definition at line 98 of file metal/array.hh.

template<unsigned n, unsigned m, typename T >
std::ostream& mln::metal::operator<< ( std::ostream &  ostr,
const mat< n, m, T > &  v 
)
template<unsigned n, typename T >
std::ostream& mln::metal::operator<< ( std::ostream &  ostr,
const vec< n, T > &  v 
)
template<unsigned n, unsigned m, typename T , typename U >
bool mln::metal::operator== ( mat< n, m, T > &  lhs,
const mat< n, m, U > &  rhs 
)
template<unsigned n, typename T , typename U >
bool mln::metal::operator== ( const vec< n, T > &  lhs,
const vec< n, U > &  rhs 
)
template<typename T , typename U >
vec<3, typename mln::trait::op::times< T , U >::ret> mln::metal::vprod ( const vec< 3, T > &  lhs,
const vec< 3, U > &  rhs 
)