Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

RingAbstract Class Reference

#include <abstract.h>

Inheritance diagram for RingAbstract:

FieldAbstract RingEnvelope List of all members.

Detailed Description

Abstract ring base class. Found in the file \URL{linbox/ring/abstract.h}. Abstract base class used to implement the ring archetype to minimize code bloat. All public member functions of this class are purely virtual and must be implemented by all derived classes.

If a template is instantiated on the ring archetype, we can change the ring it is using by changing the derived class of this class. This allows us to change the ring used in a template without having to reinstantiate it. This minimizes code bloat, but it also introduces indirection through the use of pointers and virtual functions which is inefficient.


Object Management

There are no public constructors for this class. It should only be used in tandem with \Ref{FieldArchetype}.

virtual ~RingAbstract (void)
virtual bool isUnit (const Element &x) const=0
virtual bool isZeroDivisor (const Element &x) const=0
class RingArchetype
 FieldArchetype is friend.


Public Types

typedef FieldAbstract::Element Element
 element type.

typedef FieldAbstract::RandIter RandIter
 Random iterator generator type.


Member Typedef Documentation

typedef FieldAbstract::Element Element
 

element type.

Reimplemented from FieldAbstract.

Reimplemented in RingEnvelope.

typedef FieldAbstract::RandIter RandIter
 

Random iterator generator type.

Reimplemented from FieldAbstract.

Reimplemented in RingEnvelope.


Constructor & Destructor Documentation

virtual ~RingAbstract void    [inline, virtual]
 

Destructor. Required because of virtual member functions. Virtual.


Member Function Documentation

virtual bool isUnit const Element   x const [pure virtual]
 

Invertibility test. Test if ring element is invertible. This function assumes the ring element has already been constructed and initialized. Purely virtual.

Returns:
boolean true if invertible, false if not.
Parameters:
x  ring element.

virtual bool isZeroDivisor const Element   x const [pure virtual]
 

Divisibility of zero test. Test if ring element is a zero divisor. This function assumes the ring element has already been constructed and initialized. Purely virtual.

Returns:
boolean true if divides zero, false if not.
Parameters:
x  ring element.


Friends And Related Function Documentation

friend class RingArchetype [friend]
 

FieldArchetype is friend.


Generated on Mon Jun 20 09:16:52 2005 for linbox by doxygen1.2.18