oln::morpho::attr::card_type< T, Exact > Class Template Reference

Cardinal attribute. More...

#include <attributes.hh>

Inheritance diagram for oln::morpho::attr::card_type< T, Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::morpho::attr::card_type< T, Exact >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef card_type< T, Exact > self_type
typedef mlc::exact_vt< self_type,
Exact >::ret 
exact_type
typedef oln::morpho::attr::attr_traits<
exact_type >::value_type 
value_type
typedef oln::morpho::attr::attr_traits<
exact_type >::env_type 
env_type
typedef oln::morpho::attr::attr_traits<
exact_type >::lambda_type 
lambda_type

Public Member Functions

 card_type ()
 Basic Ctor.
 card_type (const lambda_type &lambda)
 Ctor from a lambda_type value.
template<class I>
 card_type (const oln::abstract::image< I > &, const typename mlc::exact< I >::ret::point_type &, const env_type &)
 Ctor from a point and an image.
void pe_impl (const self_type &rhs)
 += operator implementation.
bool less_impl (const lambda_type &lambda) const
 "<" operator implementation.
bool ne_impl (const lambda_type &lambda) const
 != operator implementation.
const lambda_typetoLambda_impl () const
 conversion to lambda type implementation.

Protected Attributes

value_type value_

Detailed Description

template<class T = unsigned, class Exact = mlc::final>
class oln::morpho::attr::card_type< T, Exact >

Cardinal attribute.

It is equivalent to an area in 2d, and a volume in 3D.

Definition at line 77 of file morpho/attributes.hh.


Member Typedef Documentation

template<class T = unsigned, class Exact = mlc::final>
typedef card_type<T, Exact> oln::morpho::attr::card_type< T, Exact >::self_type

Self type of the class.

Reimplemented from oln::morpho::attr::abstract::attribute< Exact >.

Reimplemented in oln::morpho::attr::card_full_type< I, T, Exact >.

Definition at line 81 of file morpho/attributes.hh.


Constructor & Destructor Documentation

template<class T = unsigned, class Exact = mlc::final>
oln::morpho::attr::card_type< T, Exact >::card_type (  )  [inline]

Basic Ctor.

Warning:
After this call, the object is only instantiated (not initialized).

Definition at line 90 of file morpho/attributes.hh.

00091           {
00092           };

template<class T = unsigned, class Exact = mlc::final>
template<class I>
oln::morpho::attr::card_type< T, Exact >::card_type ( const oln::abstract::image< I > &  ,
const typename mlc::exact< I >::ret::point_type &  ,
const env_type  
) [inline]

Ctor from a point and an image.

Every parameters are useless.

Definition at line 107 of file morpho/attributes.hh.

00109                                     :
00110           value_(ntg_unit_val(value_type))
00111           {
00112           }


Member Function Documentation

template<class T = unsigned, class Exact = mlc::final>
void oln::morpho::attr::card_type< T, Exact >::pe_impl ( const self_type rhs  )  [inline]

+= operator implementation.

This is an implementation of the += operator. Override this method to provide a new implementation of this operator.

Warning:
This method SHOULDN'T be called.

Definition at line 122 of file morpho/attributes.hh.

00123           {
00124             value_ += rhs.value_;
00125           };

template<class T = unsigned, class Exact = mlc::final>
bool oln::morpho::attr::card_type< T, Exact >::less_impl ( const lambda_type lambda  )  const [inline]

"<" operator implementation.

This is an implementation of the "<" operator. Override this method to provide a new implementation of this operator.

Warning:
This method SHOULDN'T be called.

Definition at line 134 of file morpho/attributes.hh.

00135           {
00136             return value_ < lambda;
00137           };

template<class T = unsigned, class Exact = mlc::final>
bool oln::morpho::attr::card_type< T, Exact >::ne_impl ( const lambda_type lambda  )  const [inline]

!= operator implementation.

This is an implementation of the != operator. Override this method to provide a new implementation of this operator.

Warning:
This method SHOULDN'T be called.

Definition at line 146 of file morpho/attributes.hh.

00147           {
00148             return lambda != value_;
00149           };

template<class T = unsigned, class Exact = mlc::final>
const lambda_type& oln::morpho::attr::card_type< T, Exact >::toLambda_impl (  )  const [inline]

conversion to lambda type implementation.

This is an implementation of the toLambda() method. Override this method to provide a new implementation.

Warning:
This method SHOULDN'T be called .

Definition at line 158 of file morpho/attributes.hh.

00159         {
00160           return value_;
00161         };


Member Data Documentation

template<class T = unsigned, class Exact = mlc::final>
value_type oln::morpho::attr::card_type< T, Exact >::value_ [protected]

Value used inside the class.

Definition at line 161 of file morpho/attributes.hh.

Referenced by oln::morpho::attr::card_type< T, mlc::exact_vt< oln::morpho::attr::card_full_type< I, T, Exact >, Exact >::ret >::less_impl(), oln::morpho::attr::card_type< T, mlc::exact_vt< oln::morpho::attr::card_full_type< I, T, Exact >, Exact >::ret >::ne_impl(), oln::morpho::attr::card_type< T, mlc::exact_vt< oln::morpho::attr::card_full_type< I, T, Exact >, Exact >::ret >::pe_impl(), and oln::morpho::attr::card_type< T, mlc::exact_vt< oln::morpho::attr::card_full_type< I, T, Exact >, Exact >::ret >::toLambda_impl().


The documentation for this class was generated from the following file:
Generated on Tue Feb 20 20:28:32 2007 for Olena by  doxygen 1.5.1