Accelerated Computation Engine
Public Member Functions | Static Public Member Functions | List of all members
EAbstractAnalyticFactory Class Referenceabstract

#include <eabstractanalyticfactory.h>

Public Member Functions

virtual quint16 size () const =0
 
virtual QString name (quint16 type) const =0
 
virtual QString commandName (quint16 type) const =0
 
virtual std::unique_ptr< EAbstractAnalyticmake (quint16 type) const =0
 
virtual ~EAbstractAnalyticFactory ()=default
 

Static Public Member Functions

static EAbstractAnalyticFactoryinstance ()
 
static void setInstance (std::unique_ptr< EAbstractAnalyticFactory > &&instance)
 

Detailed Description

This represents the factory for producing new abstract analytic objects. This also gives basic information that allows ACE to query and figure out all available analytic types the program that uses the ACE library provides. Unlike the data factory the integers defining analytic types does not need to be constant for backwards compatibility.

Constructor & Destructor Documentation

◆ ~EAbstractAnalyticFactory()

virtual EAbstractAnalyticFactory::~EAbstractAnalyticFactory ( )
virtualdefault

This is so any implementation of this class will be deconstructed correctly.

Member Function Documentation

◆ commandName()

virtual QString EAbstractAnalyticFactory::commandName ( quint16  type) const
pure virtual

This interface returns the command line name for the given analytic type. This name must be unique among all other analytic command line names.

Parameters
typeThe analytic type whose display name is returned.
Returns
Command line name for the given analytic type.

◆ instance()

EAbstractAnalyticFactory & EAbstractAnalyticFactory::instance ( )
static

Returns a reference to the global instance of the class that implements this factory. If no instance has ever been set than an exception is thrown.

Returns
Reference to the global instance of this object's implementation.

◆ make()

virtual std::unique_ptr<EAbstractAnalytic> EAbstractAnalyticFactory::make ( quint16  type) const
pure virtual

This interface makes and returns a new abstract analytic object of the given type.

Parameters
typeThe data type of the abstract data object that is made and returned.
Returns
Pointer to the new abstract analytic object of the given type.

◆ name()

virtual QString EAbstractAnalyticFactory::name ( quint16  type) const
pure virtual

This interface returns the display name for the given analytic type.

Parameters
typeThe analytic type whose display name is returned.
Returns
Display name for the given analytic type.

◆ setInstance()

void EAbstractAnalyticFactory::setInstance ( std::unique_ptr< EAbstractAnalyticFactory > &&  instance)
static

Sets the global instance for this object's implementation. If a global instance already exists then it is deleted and replaced with the new one given. This will also sanity check the analytic factory to make sure there are no command line conflicts within the factory and its analytic implementations. If a conflict is found then an exception is thrown.

Parameters
instancePointer to the new global instance for this factory.

◆ size()

virtual quint16 EAbstractAnalyticFactory::size ( ) const
pure virtual

This interface returns the total number of analytic types a program implements for ACE. All integers from 0 to one less than the size returned must be defined as a unique analytic type.

Returns
Total number of analytic types this program implements.

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