Reactions  0.1.0
Handling reaction trees and decays
Classes | Namespaces | Functions
processes.hpp File Reference

Define the nodes of a reaction or a decay, as well as the way to build them. More...

#include <optional>
#include <string>
#include <utility>
#include <variant>
#include <vector>
#include "reactions/element_traits.hpp"
#include "reactions/exceptions.hpp"
#include "reactions/pow_enum.hpp"
#include "reactions/tokens.hpp"
Include dependency graph for processes.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  reactions::element_wrapper< Element >
 Template for elements of a reaction or decay. More...
 
class  reactions::reaction< Element >
 Description of a process where reactants generate a set of products. More...
 
class  reactions::decay< Element >
 Description of a process where head particle generate a set of products. More...
 
class  reactions::element_wrapper< Element >
 Template for elements of a reaction or decay. More...
 
class  reactions::reaction< Element >
 Description of a process where reactants generate a set of products. More...
 
class  reactions::decay< Element >
 Description of a process where head particle generate a set of products. More...
 
class  reactions::node< Element, Chain >
 Base class for a process node. More...
 
class  reactions::element_wrapper< Element >
 Template for elements of a reaction or decay. More...
 
class  reactions::reaction< Element >
 Description of a process where reactants generate a set of products. More...
 
class  reactions::decay< Element >
 Description of a process where head particle generate a set of products. More...
 

Namespaces

 reactions
 Main namespace of the Reactions package.
 
 reactions::processes
 Processes among elements (reactions and decays)
 
 reactions::processes::detail
 Internal utilities for the reactions::processes namespace.
 

Functions

 reactions::processes::REACTIONS_POW_ENUM_WITH_UNKNOWN (node_type, element, reaction, decay)
 Node types. More...
 
template<class FillElement , class FillExpression , class ArrowSwitch >
void reactions::processes::process_expression (std::string::const_iterator &sit, std::string::const_iterator const &end, FillElement fill_element, FillExpression fill_expression, ArrowSwitch arrow_switch)
 Internal function to process an expression. More...
 
template<class Process >
Process reactions::processes::make_process (std::string const &str, typename Process::builder_type builder)
 Make a new process (a reaction or a decay) More...
 
template<class Element , template< class > class Chain>
bool reactions::processes::detail::check_nodes (std::vector< node< Element, Chain >> const &first, std::vector< node< Element, Chain >> const &second)
 Compare two nodes. More...
 
template<class Element >
reaction< Element > reactions::make_reaction_for (std::string const &str, typename reaction< Element >::builder_type builder)
 Create a new reaction with a custom builder. More...
 
template<class Element >
reaction< Element > reactions::make_reaction (std::string const &str)
 Create a new reaction. More...
 
template<class Element >
decay< Element > reactions::make_decay_for (std::string const &str, typename decay< Element >::builder_type builder)
 Create a new decay with a custom builder. More...
 
template<class Element >
decay< Element > reactions::make_decay (std::string const &str)
 Create a new decay. More...
 

Detailed Description

Define the nodes of a reaction or a decay, as well as the way to build them.