linbox
ElementArchetype Class Reference

Field and Ring element interface specification and archetypical instance class. More...

#include <archetype.h>

Public Member Functions

Common Object Interface for LinBox Field elements.

These methods are required of all LinBox field elements.

 ElementArchetype (void)
 Default constructor. More...
 
 ElementArchetype (const ElementArchetype &a)
 Copy constructor. More...
 
 ~ElementArchetype ()
 Destructor. More...
 
ElementArchetypeoperator= (const ElementArchetype &a)
 Assignment operator. More...
 
Implementation-Specific Methods.

These methods are not required of all LinBox field elements and are included only for this implementation of the archetype.

 ElementArchetype (ElementAbstract *elem_ptr)
 Constructor. More...
 

Detailed Description

Field and Ring element interface specification and archetypical instance class.

Element classes must contain public default constructor, copy constructor, assignment operator, and destructor. Note that primitive types such as int and double meet this specification.

In particular, the copy constructor is used to allow elements to be passed by value to a function.

Note that the documentation below of the specific methods, describes them as implemented in the archetypic element class.

Constructor & Destructor Documentation

◆ ElementArchetype() [1/3]

ElementArchetype ( void  )
inline

Default constructor.

This constructor is required to allow field elements to be primitive C++ types. Because constructor does not know what field the element belongs to, it cannot actually construct the element. In this implementation, the constructor it sets _elem_ptr to the null pointer. Initialization of the element is done through the field function init where the field is known.

◆ ElementArchetype() [2/3]

ElementArchetype ( const ElementArchetype a)
inline

Copy constructor.

This constructor is required to allow field elements to be primitive C++ types, and to allow field elements to be passed by value into functions. Constructs field element by copying the field element. In this implementation, this means copying the element to which a._elem_ptr points.

Parameters
afield element.

◆ ~ElementArchetype()

~ElementArchetype ( )
inline

Destructor.

In this implementation, this destroys element by deleting field element to which _elem_ptr points.

◆ ElementArchetype() [3/3]

ElementArchetype ( ElementAbstract elem_ptr)
inline

Constructor.

Constructs field element from pointer to ElementAbstract Not part of the interface. Creates new copy of element object in dynamic memory.

Parameters
elem_ptrpointer to ElementAbstract

Member Function Documentation

◆ operator=()

ElementArchetype& operator= ( const ElementArchetype a)
inline

Assignment operator.

Assigns element a to element. In this implementation, this is done by copying field element to which _elem_ptr points.

Parameters
afield element.

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