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

Max value attribute. More...

#include <attributes.hh>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef maxvalue_type< T,
Exact > 
self_type
 Self type of the class.
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

 maxvalue_type ()
 Basic Ctor.
 maxvalue_type (const lambda_type &lambda)
 Ctor from a lambda_type value.
template<class I>
 maxvalue_type (const oln::abstract::image< I > &input, const typename mlc::exact< I >::ret::point_type &p, const env_type &)
 Ctor from a point and an image.
const value_typegetValue () const
 Accessor to value_.
const value_typegetValue_impl () const
 Implementation of getValue().
void pe_impl (const maxvalue_type &rhs)
 += operator implementation.
bool less_impl (const lambda_type &lambda) const
 "<" operator implementation.
bool ne_impl (const lambda_type &lambda) const
 != operator implementation.

Protected Attributes

value_type value_
 Value of the attribute.

Detailed Description

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

Max value attribute.

Parameters:
T Data type.
Exact The exact type.

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


Constructor & Destructor Documentation

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

Basic Ctor.

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

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

00880           {
00881           };

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

Ctor from a lambda_type value.

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

00888                                                 : value_(lambda)
00889           {
00890           };

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

Ctor from a point and an image.

Parameters:
I Image exact type.

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

00903                                          :
00904           value_(input[p])
00905           {
00906           }


Member Function Documentation

template<class T = unsigned, class Exact = mlc::final>
const value_type& oln::morpho::attr::maxvalue_type< T, Exact >::getValue (  )  const [inline]

Accessor to value_.

Virtual method.

See also:
getValue_impl()

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

Referenced by oln::morpho::attr::maxvalue_type< T, Exact >::pe_impl().

00915           {
00916             mlc_dispatch(getValue)();
00917           };

template<class T = unsigned, class Exact = mlc::final>
const value_type& oln::morpho::attr::maxvalue_type< T, Exact >::getValue_impl (  )  const [inline]

Implementation of getValue().

Override this method in order to provide a new version of getValue().

Warning:
Do not call this method, use getValue() instead.

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

References oln::morpho::attr::maxvalue_type< T, Exact >::value_.

00928           {
00929             return value_;
00930           };

template<class T = unsigned, class Exact = mlc::final>
void oln::morpho::attr::maxvalue_type< T, Exact >::pe_impl ( const maxvalue_type< T, Exact > &  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 directly be called.

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

References oln::morpho::attr::maxvalue_type< T, Exact >::getValue(), and oln::morpho::attr::maxvalue_type< T, Exact >::value_.

00940           {
00941             value_ = ntg::max(value_, rhs.getValue());
00942           };

template<class T = unsigned, class Exact = mlc::final>
bool oln::morpho::attr::maxvalue_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 directly be called.

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

References oln::morpho::attr::maxvalue_type< T, Exact >::value_.

00952           {
00953             return value_ < lambda;
00954           };

template<class T = unsigned, class Exact = mlc::final>
bool oln::morpho::attr::maxvalue_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 directly be called.

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

References oln::morpho::attr::maxvalue_type< T, Exact >::value_.

00964           {
00965             return lambda != value_;
00966           };


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