Public Types | Public Member Functions | Protected Attributes

mln::dpoint< G, C > Struct Template Reference

Generic delta-point class. More...

#include <dpoint.hh>

Inheritance diagram for mln::dpoint< G, C >:
Inheritance graph

List of all members.

Public Types

enum  { dim = G::dim }
typedef Gdpoint< void > category
typedef C coord
 Coordinate associated type.
typedef dpoint< G, C > exact_t
typedef G grid
 Grid associated type.
typedef point< G, C > psite
 Psite associated type.
typedef point< G, C > site
 Site associated type.
typedef algebra::vec< G::dim, C > vec
 Algebra vector (vec) associated type.

Public Member Functions

 dpoint ()
 Constructor without argument.
template<typename C2 >
 dpoint (const algebra::vec< dim, C2 > &v)
 Constructor from an algebra vector.
template<typename F >
 dpoint (const Function_v2v< F > &f)
 Constructor; coordinates are set by function f.
template<typename Q >
 operator mln::algebra::vec< dpoint< G, C >::dim, Q > () const
 Conversion towards a algebra::vec.
operator[] (unsigned i) const
 Read-only access to the i-th coordinate value.
C & operator[] (unsigned i)
 Read-write access to the i-th coordinate value.
void set_all (C c)
 Set all coordinates to the value c.
vec to_vec () const
 Explicit conversion.

 dpoint (C ind)
 dpoint (C row, C col)
 dpoint (C sli, C row, C col)

 dpoint (const literal::zero_t &)
 Constructors/assignments with literals.
dpoint< G, C > & operator= (const literal::zero_t &)
 dpoint (const literal::one_t &)
dpoint< G, C > & operator= (const literal::one_t &)

Protected Attributes

mln::algebra::vec< G::dim, C > coord_

Detailed Description

template<typename G, typename C>
struct mln::dpoint< G, C >

Generic delta-point class.

Parameters are G the dimension of the space and C the coordinate type in this space.

Definition at line 58 of file dpoint.hh.


Member Typedef Documentation

typedef Gdpoint<void> mln::Gdpoint< dpoint< G, C > >::category [inherited]

Reimplemented from mln::Object< dpoint< G, C > >.

Definition at line 97 of file gdpoint.hh.

template<typename G, typename C>
typedef C mln::dpoint< G, C >::coord

Coordinate associated type.

Definition at line 76 of file dpoint.hh.

typedef dpoint< G, C > mln::Object< dpoint< G, C > >::exact_t [inherited]

Definition at line 173 of file object.hh.

template<typename G, typename C>
typedef G mln::dpoint< G, C >::grid

Grid associated type.

Definition at line 67 of file dpoint.hh.

template<typename G, typename C>
typedef point<G,C> mln::dpoint< G, C >::psite

Psite associated type.

Definition at line 70 of file dpoint.hh.

template<typename G, typename C>
typedef point<G,C> mln::dpoint< G, C >::site

Site associated type.

Definition at line 73 of file dpoint.hh.

template<typename G, typename C>
typedef algebra::vec<G::dim, C> mln::dpoint< G, C >::vec

Algebra vector (vec) associated type.

Definition at line 79 of file dpoint.hh.


Member Enumeration Documentation

template<typename G, typename C>
anonymous enum
Enumerator:
dim 

Dimension of the space.

Invariant:
dim > 0

Definition at line 64 of file dpoint.hh.


Constructor & Destructor Documentation

template<typename G , typename C >
mln::dpoint< G, C >::dpoint (  )  [inline]

Constructor without argument.

Definition at line 152 of file dpoint.hh.

template<typename G , typename C >
template<typename C2 >
mln::dpoint< G, C >::dpoint ( const algebra::vec< dim, C2 > &  v  )  [inline]

Constructor from an algebra vector.

Definition at line 159 of file dpoint.hh.

References mln::dpoint< G, C >::coord_, and mln::dpoint< G, C >::dim.

template<typename G , typename C>
mln::dpoint< G, C >::dpoint ( ind  )  [inline]

Constructors with different numbers of arguments (coordinates) w.r.t. the dimension.

Definition at line 176 of file dpoint.hh.

References mln::dpoint< G, C >::coord_.

template<typename G , typename C>
mln::dpoint< G, C >::dpoint ( row,
col 
) [inline]

Definition at line 184 of file dpoint.hh.

References mln::dpoint< G, C >::coord_.

template<typename G , typename C>
mln::dpoint< G, C >::dpoint ( sli,
row,
col 
) [inline]

Definition at line 193 of file dpoint.hh.

References mln::dpoint< G, C >::coord_.

template<typename G , typename C>
mln::dpoint< G, C >::dpoint ( const literal::zero_t  )  [inline]

Constructors/assignments with literals.

Definition at line 203 of file dpoint.hh.

References mln::dpoint< G, C >::coord_, and mln::algebra::vec< n, T >::set_all().

template<typename G , typename C>
mln::dpoint< G, C >::dpoint ( const literal::one_t  )  [inline]

Definition at line 219 of file dpoint.hh.

References mln::dpoint< G, C >::coord_.

template<typename G , typename C >
template<typename F >
mln::dpoint< G, C >::dpoint ( const Function_v2v< F > &  f  )  [inline]

Constructor; coordinates are set by function f.

Definition at line 238 of file dpoint.hh.

References mln::dpoint< G, C >::coord_, and mln::exact().


Member Function Documentation

template<typename G , typename C >
template<typename Q >
mln::dpoint< G, C >::operator mln::algebra::vec< dpoint< G, C >::dim, Q > (  )  const [inline]

Conversion towards a algebra::vec.

Definition at line 257 of file dpoint.hh.

References mln::dpoint< G, C >::to_vec().

template<typename G , typename C >
dpoint< G, C > & mln::dpoint< G, C >::operator= ( const literal::one_t  )  [inline]

Definition at line 228 of file dpoint.hh.

References mln::dpoint< G, C >::coord_.

template<typename G , typename C >
dpoint< G, C > & mln::dpoint< G, C >::operator= ( const literal::zero_t  )  [inline]

Definition at line 211 of file dpoint.hh.

References mln::dpoint< G, C >::coord_, and mln::algebra::vec< n, T >::set_all().

template<typename G , typename C >
C & mln::dpoint< G, C >::operator[] ( unsigned  i  )  [inline]

Read-write access to the i-th coordinate value.

Parameters:
[in] i The coordinate index.
Precondition:
i < dim

Definition at line 144 of file dpoint.hh.

References mln::dpoint< G, C >::coord_, and mln::dpoint< G, C >::dim.

template<typename G , typename C >
C mln::dpoint< G, C >::operator[] ( unsigned  i  )  const [inline]

Read-only access to the i-th coordinate value.

Parameters:
[in] i The coordinate index.
Precondition:
i < dim

Definition at line 136 of file dpoint.hh.

References mln::dpoint< G, C >::coord_, and mln::dpoint< G, C >::dim.

template<typename G , typename C>
void mln::dpoint< G, C >::set_all ( c  )  [inline]

Set all coordinates to the value c.

Definition at line 248 of file dpoint.hh.

References mln::dpoint< G, C >::coord_.

Referenced by mln::win::line< M, i, C >::line().

template<typename G , typename C >
dpoint< G, C >::vec mln::dpoint< G, C >::to_vec (  )  const [inline]

Member Data Documentation

template<typename G, typename C>
mln::algebra::vec<G::dim, C> mln::dpoint< G, C >::coord_ [protected]