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

Min value attribute. More...

#include <attributes.hh>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef minvalue_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

 minvalue_type ()
 Basic Ctor.

 minvalue_type (const lambda_type &lambda)
 Ctor from a lambda_type value.

template<class I>  minvalue_type (const 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_type & getValue () const
 Accessor to value_.

const value_type & getValue_impl () const
 Implementation of getValue().

void pe_impl (const minvalue_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::minvalue_type< T, Exact >

Min value attribute.

Parameters:
T Data type.
Exact The exact type.

Definition at line 1003 of file attributes.hh.


Constructor & Destructor Documentation

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

Basic Ctor.

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

Definition at line 1016 of file attributes.hh.

01017           {
01018           };

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

Ctor from a lambda_type value.

  • lambda Value of the attribute.

Definition at line 1025 of file attributes.hh.

01025                                                 : value_(lambda)
01026           {
01027           };

template<class T = unsigned, class Exact = mlc::final>
template<class I>
oln::morpho::attr::minvalue_type< T, Exact >::minvalue_type const 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.
  • input Input image.
  • p Point to consider in the image.

Definition at line 1038 of file attributes.hh.

01040                                           :
01041           value_(input[p])
01042           {
01043           };


Member Function Documentation

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

Accessor to value_.

Virtual method.

See also:
getValue_impl()

Definition at line 1051 of file attributes.hh.

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

01052           {
01053             mlc_dispatch(getValue)();
01054           };

template<class T = unsigned, class Exact = mlc::final>
const value_type& oln::morpho::attr::minvalue_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 1064 of file attributes.hh.

01065           {
01066             return value_;
01067           };

template<class T = unsigned, class Exact = mlc::final>
bool oln::morpho::attr::minvalue_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 1088 of file attributes.hh.

01089           {
01090             return value_ > lambda;
01091           };

template<class T = unsigned, class Exact = mlc::final>
bool oln::morpho::attr::minvalue_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 1100 of file attributes.hh.

01101           {
01102             return lambda != value_;
01103           };

template<class T = unsigned, class Exact = mlc::final>
void oln::morpho::attr::minvalue_type< T, Exact >::pe_impl const minvalue_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 1076 of file attributes.hh.

References oln::morpho::attr::minvalue_type< T, Exact >::getValue().

01077           {
01078             value_ = ntg::min(value_, rhs.getValue());
01079           };


The documentation for this class was generated from the following file:
Generated on Thu Apr 15 20:16:52 2004 for Olena by doxygen 1.3.6-20040222