oln::morpho::attr::attribute< Exact > Class Template Reference

Attribute abstract class. More...

#include <attributes.hh>

Inheritance diagram for oln::morpho::attr::attribute< Exact >:

Inheritance graph
[legend]
Collaboration diagram for oln::morpho::attr::attribute< Exact >:

Collaboration graph
[legend]
List of all members.

Public Types

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

void operator+= (const exact_type &rhs)
 += operator

bool operator>= (const lambda_type &lambda) const
 >= operator

bool operator< (const lambda_type &lambda) const
 "<" operator

bool operator< (const exact_type &x) const
 "<" operator

bool operator!= (const lambda_type &lambda) const
 != operator

const lambda_type & toLambda () const
 conversion to lambda type.

bool ge_impl (const lambda_type &lambda) const
 >= operator implementation.

bool less2_impl (const exact_type &x) const
 "<" operator implementation.


Detailed Description

template<class Exact>
class oln::morpho::attr::attribute< Exact >

Attribute abstract class.

Top of the attribute hierarchy.

Definition at line 102 of file attributes.hh.


Member Function Documentation

template<class Exact>
bool oln::morpho::attr::attribute< Exact >::ge_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 179 of file attributes.hh.

00180         {
00181           return !(*this < lambda);
00182         };

template<class Exact>
bool oln::morpho::attr::attribute< Exact >::less2_impl const exact_type &  x  )  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 191 of file attributes.hh.

00192         {
00193           return *this < x.toLambda();
00194         };

template<class Exact>
bool oln::morpho::attr::attribute< Exact >::operator!= const lambda_type &  lambda  )  const [inline]
 

!= operator

This is a static dispatcher for the != operator. This method is abstract.

Definition at line 157 of file attributes.hh.

00158         {
00159           mlc_dispatch(ne)(lambda);
00160         };

template<class Exact>
void oln::morpho::attr::attribute< Exact >::operator+= const exact_type &  rhs  )  [inline]
 

+= operator

This is a static dispatcher for the += operator. This method is abstract.

Definition at line 114 of file attributes.hh.

00115         {
00116           mlc_dispatch(pe)(rhs);
00117         };

template<class Exact>
bool oln::morpho::attr::attribute< Exact >::operator< const exact_type &  x  )  const [inline]
 

"<" operator

This is a static dispatcher for the "<" operator. This method is abstract.

Definition at line 146 of file attributes.hh.

00147         {
00148           mlc_dispatch(less2)(x);
00149         };

template<class Exact>
bool oln::morpho::attr::attribute< Exact >::operator< const lambda_type &  lambda  )  const [inline]
 

"<" operator

This is a static dispatcher for the "<" operator. This method is abstract.

Definition at line 135 of file attributes.hh.

00136         {
00137           mlc_dispatch(less)(lambda);
00138         };

template<class Exact>
bool oln::morpho::attr::attribute< Exact >::operator>= const lambda_type &  lambda  )  const [inline]
 

>= operator

This is a static dispatcher for the >= operator.

Definition at line 124 of file attributes.hh.

00125         {
00126           mlc_dispatch(ge)(lambda);
00127         };

template<class Exact>
const lambda_type& oln::morpho::attr::attribute< Exact >::toLambda  )  const [inline]
 

conversion to lambda type.

Warning:
Virtual method.

Definition at line 167 of file attributes.hh.

00168         {
00169           mlc_dispatch(toLambda)();
00170         };


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