Class xlifepp::Term#

class Term#

Inheritence diagram for xlifepp::Term:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="xlifepp::SuTermMatrix" tooltip="xlifepp::SuTermMatrix"] "3" [label="xlifepp::SuTermVector" tooltip="xlifepp::SuTermVector"] "1" [label="xlifepp::Term" tooltip="xlifepp::Term" fillcolor="#BFBFBF"] "4" [label="xlifepp::TermMatrix" tooltip="xlifepp::TermMatrix"] "5" [label="xlifepp::TermVector" tooltip="xlifepp::TermVector"] "2" -> "1" [dir=forward tooltip="public-inheritance"] "3" -> "1" [dir=forward tooltip="public-inheritance"] "4" -> "1" [dir=forward tooltip="public-inheritance"] "5" -> "1" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::Term:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "7" [label="std::map< string_t, number_t >" tooltip="std::map< string_t, number_t >"] "8" [label="std::map< K, T >" tooltip="std::map< K, T >"] "6" [label="std::vector< T >" tooltip="std::vector< T >"] "5" [label="std::vector< xlifepp::Parameter * >" tooltip="std::vector< xlifepp::Parameter * >"] "9" [label="std::vector< xlifepp::Term * >" tooltip="std::vector< xlifepp::Term * >"] "2" [label="xlifepp::ComputingInfo" tooltip="xlifepp::ComputingInfo"] "4" [label="xlifepp::Parameters" tooltip="xlifepp::Parameters"] "3" [label="xlifepp::ReductionMethod" tooltip="xlifepp::ReductionMethod"] "1" [label="xlifepp::Term" tooltip="xlifepp::Term" fillcolor="#BFBFBF"] "7" -> "8" [dir=forward tooltip="template-instance"] "5" -> "6" [dir=forward tooltip="template-instance"] "9" -> "6" [dir=forward tooltip="template-instance"] "2" -> "3" [dir=forward tooltip="usage"] "4" -> "5" [dir=forward tooltip="usage"] "4" -> "7" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "4" [dir=forward tooltip="usage"] "1" -> "9" [dir=forward tooltip="usage"] }

abstract base class of TermVector and TermMatrix, that are the numerical representations of linear and bilinear forms on spaces.

Subclassed by xlifepp::SuTermMatrix, xlifepp::SuTermVector, xlifepp::TermMatrix, xlifepp::TermVector

Public Functions

virtual ~Term()#

virtual destructor (do nothing)

virtual void clear() = 0#

deallocate memory used by a Term

virtual void compute() = 0#

compute the Term

inline bool &computed()#

returns computation state (non const)

inline bool computed() const#

returns computation state (const)

inline ComputingInfo &computingInfo()#

returns computingInfo (const)

inline ComputingInfo computingInfo() const#

returns computingInfo (const)

inline const string_t &name() const#

return the Term name (const)

string_t primaryName() const#

name without trailing @

virtual void print(std::ostream&) const = 0#

print the Term

inline TermType &termType()#

child term type

inline TermType termType() const#

child term type

virtual std::set<const Space*> unknownSpaces() const = 0#

list of involved unknown spaces

Public Members

Parameters params#

a free zone to store additional data (magic zone)

Public Static Functions

static void clearGlobalVector()#

delete all term objects

static void printAllTerms(std::ostream&)#

print the list of terms in memory

Public Static Attributes

static std::vector<Term*> theTerms#

list of existing Term objects

list of pointers of all terms

Friends

friend std::ostream &operator<<(std::ostream&, const Term&)#

print operator