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

Attribute abstract class. More...

#include <attribute.hh>

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

Inheritance graph
[legend]
Collaboration diagram for oln::morpho::attr::abstract::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_typetoLambda () 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.

Protected Member Functions

 attribute ()

Detailed Description

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

Attribute abstract class.

Top of the attribute hierarchy.

Definition at line 75 of file attribute.hh.


Member Function Documentation

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

+= operator

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

Definition at line 41 of file attribute.hxx.

00042         {
00043           mlc_dispatch(pe)(rhs);
00044         }

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

>= operator

This is a static dispatcher for the >= operator.

Definition at line 48 of file attribute.hxx.

00049         {
00050           mlc_dispatch(ge)(lambda);
00051         }

template<class Exact>
bool oln::morpho::attr::abstract::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 56 of file attribute.hxx.

00057         {
00058           mlc_dispatch(less)(lambda);
00059         }

template<class Exact>
bool oln::morpho::attr::abstract::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 64 of file attribute.hxx.

00065         {
00066           mlc_dispatch(less2)(x);
00067         }

template<class Exact>
bool oln::morpho::attr::abstract::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 72 of file attribute.hxx.

00073         {
00074           mlc_dispatch(ne)(lambda);
00075         }

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

conversion to lambda type.

Warning:
Virtual method.

Definition at line 79 of file attribute.hxx.

00080         {
00081           mlc_dispatch(toLambda)();
00082         }

template<class Exact>
bool oln::morpho::attr::abstract::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 87 of file attribute.hxx.

00088         {
00089           return !(*this < lambda);
00090         }

template<class Exact>
bool oln::morpho::attr::abstract::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 95 of file attribute.hxx.

00096         {
00097           return *this < x.toLambda();
00098         }


The documentation for this class was generated from the following files:
Generated on Tue Feb 20 20:29:04 2007 for Olena by  doxygen 1.5.1