carl  24.04
Computer ARithmetic Library
carl::io::parser::PolynomialParser< Pol > Struct Template Reference

#include <PolynomialParser.h>

Inheritance diagram for carl::io::parser::PolynomialParser< Pol >:
Collaboration diagram for carl::io::parser::PolynomialParser< Pol >:

Public Member Functions

 PolynomialParser ()
 
void addVariable (Variable::Arg v)
 

Private Types

enum  Operation { ADD , SUB }
 

Private Member Functions

Variable newVariable (const std::string &s)
 
Monomial::Arg newMonomial (const std::vector< boost::fusion::vector2< Variable, typename Pol::CoeffType >> &data) const
 
Term< typename Pol::CoeffType > newTerm (const boost::optional< typename Pol::CoeffType > &c, const boost::optional< Monomial::Arg > &m)
 
Pol addTerms (const Term< typename Pol::CoeffType > &first, const std::vector< boost::fusion::vector2< Operation, Term< typename Pol::CoeffType >>> &ops)
 
Pol mul (const std::vector< Pol > &ops)
 
Pol addPolynomials (const Pol &first, const std::vector< boost::fusion::vector2< Operation, Pol >> &ops)
 

Private Attributes

qi::symbols< char, Operationoperation
 
qi::symbols< char, Variablevarmap
 
qi::rule< Iterator, std::string(), Skippervarname
 
qi::real_parser< typename Pol::CoeffType, RationalPolicies< typename Pol::CoeffType > > number
 
qi::rule< Iterator, Variable(), Skippervariable
 
qi::rule< Iterator, Monomial::Arg(), Skippermonomial
 
qi::rule< Iterator, Term< typename Pol::CoeffType >), Skipperterm
 
qi::rule< Iterator, Pol(), Skipper, qi::locals< Pol > > polynomial
 
qi::rule< Iterator, Pol(), Skipperexpr
 
qi::rule< Iterator, Pol(), Skipperexpr_product
 
qi::rule< Iterator, Pol(), Skipper, qi::locals< Pol > > expr_sum
 
qi::rule< Iterator, Pol(), Skippermain
 

Detailed Description

template<typename Pol>
struct carl::io::parser::PolynomialParser< Pol >

Definition at line 83 of file PolynomialParser.h.

Member Enumeration Documentation

◆ Operation

template<typename Pol >
enum carl::io::parser::PolynomialParser::Operation
private
Enumerator
ADD 
SUB 

Definition at line 107 of file PolynomialParser.h.

Constructor & Destructor Documentation

◆ PolynomialParser()

template<typename Pol >
carl::io::parser::PolynomialParser< Pol >::PolynomialParser ( )
inline

Definition at line 84 of file PolynomialParser.h.

Member Function Documentation

◆ addPolynomials()

template<typename Pol >
Pol carl::io::parser::PolynomialParser< Pol >::addPolynomials ( const Pol first,
const std::vector< boost::fusion::vector2< Operation, Pol >> &  ops 
)
inlineprivate

Definition at line 143 of file PolynomialParser.h.

◆ addTerms()

template<typename Pol >
Pol carl::io::parser::PolynomialParser< Pol >::addTerms ( const Term< typename Pol::CoeffType > &  first,
const std::vector< boost::fusion::vector2< Operation, Term< typename Pol::CoeffType >>> &  ops 
)
inlineprivate

Definition at line 128 of file PolynomialParser.h.

◆ addVariable()

template<typename Pol >
void carl::io::parser::PolynomialParser< Pol >::addVariable ( Variable::Arg  v)
inline

Definition at line 102 of file PolynomialParser.h.

Here is the call graph for this function:

◆ mul()

template<typename Pol >
Pol carl::io::parser::PolynomialParser< Pol >::mul ( const std::vector< Pol > &  ops)
inlineprivate

Definition at line 138 of file PolynomialParser.h.

◆ newMonomial()

template<typename Pol >
Monomial::Arg carl::io::parser::PolynomialParser< Pol >::newMonomial ( const std::vector< boost::fusion::vector2< Variable, typename Pol::CoeffType >> &  data) const
inlineprivate

Definition at line 114 of file PolynomialParser.h.

Here is the call graph for this function:

◆ newTerm()

template<typename Pol >
Term<typename Pol::CoeffType> carl::io::parser::PolynomialParser< Pol >::newTerm ( const boost::optional< typename Pol::CoeffType > &  c,
const boost::optional< Monomial::Arg > &  m 
)
inlineprivate

Definition at line 121 of file PolynomialParser.h.

◆ newVariable()

template<typename Pol >
Variable carl::io::parser::PolynomialParser< Pol >::newVariable ( const std::string &  s)
inlineprivate

Definition at line 109 of file PolynomialParser.h.

Here is the call graph for this function:

Field Documentation

◆ expr

template<typename Pol >
qi::rule<Iterator, Pol(), Skipper> carl::io::parser::PolynomialParser< Pol >::expr
private

Definition at line 162 of file PolynomialParser.h.

◆ expr_product

template<typename Pol >
qi::rule<Iterator, Pol(), Skipper> carl::io::parser::PolynomialParser< Pol >::expr_product
private

Definition at line 163 of file PolynomialParser.h.

◆ expr_sum

template<typename Pol >
qi::rule<Iterator, Pol(), Skipper, qi::locals<Pol> > carl::io::parser::PolynomialParser< Pol >::expr_sum
private

Definition at line 164 of file PolynomialParser.h.

◆ main

template<typename Pol >
qi::rule<Iterator, Pol(), Skipper> carl::io::parser::PolynomialParser< Pol >::main
private

Definition at line 165 of file PolynomialParser.h.

◆ monomial

template<typename Pol >
qi::rule<Iterator, Monomial::Arg(), Skipper> carl::io::parser::PolynomialParser< Pol >::monomial
private

Definition at line 159 of file PolynomialParser.h.

◆ number

template<typename Pol >
qi::real_parser<typename Pol::CoeffType,RationalPolicies<typename Pol::CoeffType> > carl::io::parser::PolynomialParser< Pol >::number
private

Definition at line 157 of file PolynomialParser.h.

◆ operation

template<typename Pol >
qi::symbols<char, Operation> carl::io::parser::PolynomialParser< Pol >::operation
private

Definition at line 154 of file PolynomialParser.h.

◆ polynomial

template<typename Pol >
qi::rule<Iterator, Pol(), Skipper, qi::locals<Pol> > carl::io::parser::PolynomialParser< Pol >::polynomial
private

Definition at line 161 of file PolynomialParser.h.

◆ term

template<typename Pol >
qi::rule<Iterator, Term<typename Pol::CoeffType>), Skipper> carl::io::parser::PolynomialParser< Pol >::term
private

Definition at line 160 of file PolynomialParser.h.

◆ variable

template<typename Pol >
qi::rule<Iterator, Variable(), Skipper> carl::io::parser::PolynomialParser< Pol >::variable
private

Definition at line 158 of file PolynomialParser.h.

◆ varmap

template<typename Pol >
qi::symbols<char, Variable> carl::io::parser::PolynomialParser< Pol >::varmap
private

Definition at line 155 of file PolynomialParser.h.

◆ varname

template<typename Pol >
qi::rule<Iterator, std::string(), Skipper> carl::io::parser::PolynomialParser< Pol >::varname
private

Definition at line 156 of file PolynomialParser.h.


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