Cadabra
Computer algebra system for field theory problems
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
cadabra::Indices Class Reference

#include <Indices.hh>

Inheritance diagram for cadabra::Indices:
cadabra::list_property cadabra::property

Public Types

enum  position_t { free =0 , fixed =1 , independent =2 }
 
- Public Types inherited from cadabra::property
enum  match_t { no_match , id_match , exact_match }
 

Public Member Functions

 Indices ()
 
virtual bool parse (Kernel &, std::shared_ptr< Ex >, keyval_t &) override
 
virtual std::string name () const override
 
virtual std::string unnamed_argument () const override
 
virtual match_t equals (const property *) const override
 
virtual void validate (const Kernel &, const Ex &) const override
 
virtual void latex (std::ostream &) const override
 Display the property on the stream.
 
const std::vector< Ex > & values (const Properties &, Ex::iterator) const
 List of possible values that indices of this type can take.
 
- Public Member Functions inherited from cadabra::property
 property (bool hidden=false)
 
virtual ~property ()
 
bool parse_to_keyvals (const Ex &, keyval_t &)
 
virtual bool parse (Kernel &, keyval_t &keyvals)
 
void hidden (bool h)
 Properties can be hidden because they only make sense to the system; they will not be printed when the user asks for a list of properties.
 
bool hidden (void) const
 

Public Attributes

std::string set_name
 
std::string parent_name
 
enum cadabra::Indices::position_t position_type
 

Private Member Functions

void collect_index_values (Ex::iterator ind_values)
 Given the right-hand side of a 'values={...}' node, generate a list of all index values in index_values.
 

Private Attributes

std::vector< Exvalues_
 

Member Enumeration Documentation

◆ position_t

Enumerator
free 
fixed 
independent 

Constructor & Destructor Documentation

◆ Indices()

Indices::Indices ( )

Member Function Documentation

◆ collect_index_values()

void Indices::collect_index_values ( Ex::iterator  ind_values)
private

Given the right-hand side of a 'values={...}' node, generate a list of all index values in index_values.

◆ equals()

property::match_t Indices::equals ( const property other) const
overridevirtual

Reimplemented from cadabra::property.

◆ latex()

void Indices::latex ( std::ostream &  str) const
overridevirtual

Display the property on the stream.

Generate a LaTeX representation of the property, assuming LaTeX is in text mode (so it needs dollar symbols to switch to maths).

Reimplemented from cadabra::property.

◆ name()

std::string Indices::name ( ) const
overridevirtual

Implements cadabra::property.

◆ parse()

bool Indices::parse ( Kernel kernel,
std::shared_ptr< Ex ex,
keyval_t keyvals 
)
overridevirtual

Reimplemented from cadabra::property.

◆ unnamed_argument()

virtual std::string cadabra::Indices::unnamed_argument ( ) const
inlineoverridevirtual

Reimplemented from cadabra::property.

◆ validate()

void Indices::validate ( const Kernel k,
const Ex ex 
) const
overridevirtual

Reimplemented from cadabra::property.

◆ values()

const std::vector< Ex > & Indices::values ( const Properties properties,
Ex::iterator  sib 
) const

List of possible values that indices of this type can take.

This gets collected from the values parameter, or determined from any Integer property. This can be empty if the values are not (yet) known so the caller needs to check that explicitly.

Member Data Documentation

◆ parent_name

std::string cadabra::Indices::parent_name

◆ position_type

enum cadabra::Indices::position_t cadabra::Indices::position_type

◆ set_name

std::string cadabra::Indices::set_name

◆ values_

std::vector<Ex> cadabra::Indices::values_
mutableprivate

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