Cadabra
Computer algebra system for field theory problems
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Kernel.hh
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include "Props.hh"
5 
12 
13 namespace cadabra {
14 
15 class Kernel {
16  public:
17  Kernel();
18  Kernel(const Kernel& other) = delete;
19  ~Kernel();
20 
22  void inject_property(property *prop, std::shared_ptr<Ex> pattern, std::shared_ptr<Ex> property_arguments);
23 
25  std::shared_ptr<Ex> ex_from_string(const std::string&);
26 
27 
29 };
30 
31 }
~Kernel()
Definition: Kernel.cc:14
Kernel()
Definition: Kernel.cc:9
void inject_property(property *prop, std::shared_ptr< Ex > pattern, std::shared_ptr< Ex > property_arguments)
Inject a property into the system and attach it to the given pattern.
Definition: Kernel.cc:19
Base class for all properties, handling argument parsing and defining the interface.
Definition: Props.hh:107
std::shared_ptr< Ex > ex_from_string(const std::string &)
Create an Ex expression object from a string, which will be parsed.
Definition: Kernel.cc:33
Properties properties
Definition: Kernel.hh:28
Definition: Kernel.hh:15
Definition: Props.hh:35
Class holding a collection of properties attached to expressions.
Definition: Props.hh:203