Documentation of MARTY
A Modern ARtificial Theoretical phYsicist
Public Member Functions | Protected Member Functions | Protected Attributes
mty::doc::CSLDataHandler Class Reference

Public Member Functions

std::vector< std::shared_ptr< csl::Space > > getOwnSpaces () const
 
csl::Expr read (csl::Expr const &expr, bool abbrev=false)
 
void readJSON (std::string const &fileName)
 
std::vector< csl::ExprreadSequence (std::vector< csl::Expr >::const_iterator first, std::vector< csl::Expr >::const_iterator last)
 
template<class ExprType , class Translator >
csl::Expr read (ExprType const &expr, Translator translator)
 
template<class Iterator , class Translator >
std::vector< csl::ExprreadSequence (Iterator first, Iterator last, Translator translator)
 
void print (std::ostream &out=std::cout) const
 
void printCode (std::ostream &out=std::cout) const
 
void printJSON (std::string const &fileName) const
 

Protected Member Functions

void printComBlock (std::string_view com, std::ostream &out, std::string_view indent) const
 
void printCSLDefinition (csl::Tensor tensor, std::ostream &out, size_t indentSize) const
 
void parseAbbreviations (csl::Expr const &expr)
 
void parseTensors (csl::Expr const &expr)
 
void parseLiterals (csl::Expr const &expr)
 
void parseIndices (csl::Expr &expr)
 
std::unique_ptr< JSON::NodegetSpaceList (std::vector< csl::Space const *> const &spaces) const
 
csl::Space const * treatSpace (std::string const &name, int dim)
 
csl::Tensor treatTensor (std::string const &name, std::vector< csl::Space const *> const &spaces, bool isComplex=false)
 
csl::Expr treatLiteral (std::string const &name, bool isComplex=false)
 
void treatIndices (csl::Space const *space, size_t N)
 

Protected Attributes

std::vector< csl::Exprexpressions
 
std::vector< csl::Space const * > spaces
 
std::vector< csl::Parentabbreviations
 
std::vector< csl::Tensortensors
 
std::vector< csl::Exprliteral
 
std::map< csl::Space const *, size_t > nIndices
 
std::vector< std::shared_ptr< csl::Space > > ownSpaces
 

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