linbox
ElementEnvelope< Field > Class Template Reference

Adaptor from archetypical interface to abstract interface, a technicality. More...

#include <envelope.h>

+ Inheritance diagram for ElementEnvelope< Field >:

Public Member Functions

 ElementEnvelope ()
 Default Constructor.
 
 ElementEnvelope (const typename Field::Element &elem)
 Constructor from the Field element to be wrapped.
 
 ElementEnvelope (const ElementAbstract &E)
 Copy constructor.
 
ElementAbstractclone (void) const
 Virtual copy constructor.
 
ElementAbstractoperator= (const ElementAbstract &E)
 Assignment operator.
 
 ~ElementEnvelope ()
 Destructor.
 

Friends

class RingEnvelope< Field >
 
class FieldEnvelope< Field >
 
class RandIterEnvelope< Field >
 

Detailed Description

template<class Field>
class LinBox::ElementEnvelope< Field >

Adaptor from archetypical interface to abstract interface, a technicality.

A class meeting the interface specified in ElementArchetype is adapted to be a child class of ElementAbstract. A concrete instance of ElementArchetype representing the adapted class can then be constructed.

All this is in support of the FieldArchetype system.

Constructor & Destructor Documentation

◆ ElementEnvelope() [1/3]

template<class Field>
ElementEnvelope ( )
inline

Default Constructor.

◆ ElementEnvelope() [2/3]

template<class Field>
ElementEnvelope ( const typename Field::Element & elem)
inline

Constructor from the Field element to be wrapped.

Parameters
elemField element object to be wrapped.

◆ ElementEnvelope() [3/3]

template<class Field>
ElementEnvelope ( const ElementAbstract & E)
inline

Copy constructor.

Constructs ElementEnvelope object by copying the element it wraps. This is required to allow element objects to be passed by value into functions. In this implementation, this means copying the element E._elem.

Parameters
EFieldEnvelope object.

◆ ~ElementEnvelope()

template<class Field>
~ElementEnvelope ( )
inline

Destructor.

Member Function Documentation

◆ clone()

template<class Field>
ElementAbstract * clone ( void ) const
inlinevirtual

Virtual copy constructor.

Required because constructors cannot be virtual. Passes construction on to derived classes.

Returns
pointer to new element object in dynamic memory.

Implements ElementAbstract.

◆ operator=()

template<class Field>
ElementAbstract & operator= ( const ElementAbstract & E)
inlinevirtual

Assignment operator.

Returns
reference to self
Parameters
Eparameterized field base element

Implements ElementAbstract.

Friends And Related Symbol Documentation

◆ RingEnvelope< Field >

template<class Field>
friend class RingEnvelope< Field >
friend

◆ FieldEnvelope< Field >

template<class Field>
friend class FieldEnvelope< Field >
friend

◆ RandIterEnvelope< Field >

template<class Field>
friend class RandIterEnvelope< Field >
friend

The documentation for this class was generated from the following file: