Cadabra
Computer algebra system for field theory problems
Toggle main menu visibility
Loading...
Searching...
No Matches
core
properties
Indices.hh
Go to the documentation of this file.
1
2
#pragma once
3
4
#include "
Props.hh
"
5
6
namespace
cadabra
{
7
8
class
Indices
:
public
list_property
{
9
public
:
10
Indices
();
//const std::string& parent="");
11
virtual
bool
parse
(
Kernel
&, std::shared_ptr<Ex>,
keyval_t
&)
override
;
12
virtual
std::string
name
()
const override
;
13
virtual
std::string
unnamed_argument
()
const override
14
{
15
return
"name"
;
16
};
17
virtual
match_t
equals
(
const
property
*)
const override
;
18
virtual
void
validate
(
Kernel
&, std::shared_ptr<Ex>)
const override
;
19
20
// virtual void display(std::ostream&) const override;
21
virtual
void
latex
(std::ostream&)
const override
;
22
23
std::string
set_name
,
parent_name
;
24
enum
position_t
{
free
=0,
fixed
=1,
independent
=2 }
position_type
;
25
31
const
std::vector<Ex>&
values
(
const
Properties
&, Ex::iterator)
const
;
32
33
private
:
36
37
void
collect_index_values
(Ex::iterator ind_values);
38
39
// Explicit store of index values;
40
mutable
std::vector<Ex>
values_
;
41
};
42
43
}
Props.hh
cadabra::Indices::values_
std::vector< Ex > values_
Definition
Indices.hh:40
cadabra::Indices::position_type
enum cadabra::Indices::position_t position_type
cadabra::Indices::Indices
Indices()
Definition
Indices.cc:13
cadabra::Indices::position_t
position_t
Definition
Indices.hh:24
cadabra::Indices::fixed
@ fixed
Definition
Indices.hh:24
cadabra::Indices::independent
@ independent
Definition
Indices.hh:24
cadabra::Indices::free
@ free
Definition
Indices.hh:24
cadabra::Indices::unnamed_argument
virtual std::string unnamed_argument() const override
Definition
Indices.hh:13
cadabra::Indices::name
virtual std::string name() const override
Definition
Indices.cc:18
cadabra::Indices::latex
virtual void latex(std::ostream &) const override
Display the property on the stream.
Definition
Indices.cc:132
cadabra::Indices::set_name
std::string set_name
Definition
Indices.hh:23
cadabra::Indices::validate
virtual void validate(Kernel &, std::shared_ptr< Ex >) const override
Definition
Indices.cc:191
cadabra::Indices::values
const std::vector< Ex > & values(const Properties &, Ex::iterator) const
List of possible values that indices of this type can take.
Definition
Indices.cc:171
cadabra::Indices::equals
virtual match_t equals(const property *) const override
Definition
Indices.cc:23
cadabra::Indices::parent_name
std::string parent_name
Definition
Indices.hh:23
cadabra::Indices::parse
virtual bool parse(Kernel &, std::shared_ptr< Ex >, keyval_t &) override
Definition
Indices.cc:38
cadabra::Indices::collect_index_values
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_valu...
Definition
Indices.cc:204
cadabra::Kernel
Definition
Kernel.hh:15
cadabra::Properties
Class holding a collection of properties attached to expressions.
Definition
Props.hh:242
cadabra::keyval_t
Arguments to properties get parsed into a keyval_t structure.
Definition
Props.hh:68
cadabra::list_property
Something cannot be both a list property and a normal property at the same time, so we can safely inh...
Definition
Props.hh:198
cadabra::property
Base class for all properties, handling argument parsing and defining the interface.
Definition
Props.hh:127
cadabra::property::match_t
match_t
Definition
Props.hh:175
cadabra
Functions to handle the exchange properties of two or more symbols in a product.
Definition
Adjform.cc:83
Generated by
1.17.0