|
SXEval 1.0.3
A generic s-expression interpreter library.
|
Namespaces | |
| namespace | operations |
Classes | |
| class | AOperation |
| The AOperation class is an abstract base class for operations in the SXEval library. More... | |
| class | EncapsulatedVariable |
| The EncapsulatedVariable class represents a variable that can be encapsulated in an unaccessible Object. More... | |
| class | IInstruction |
| The IInstruction class is an interface for any instructions. More... | |
| class | IOperand |
| The IOperand class is an interface for operands. More... | |
| class | SXEval |
| The SXEval class is used to evaluate s-expressions. More... | |
| class | Value |
| The Value class represents a constant value in the SXEval library. More... | |
| class | Variable |
| The Variable class represents a variable in the SXEval library. More... | |
Typedefs | |
| template<typename T > | |
| using | resolveVariable_t = std::function< T &(const std::string &)> |
| template<typename T > | |
| using | resolveEncapsulated_t = std::function< std::function< T(void)>(const std::string &)> |
Functions | |
| template<typename T > | |
| std::ostream & | operator<< (std::ostream &os, const IInstruction< T > &obj) |
| Output stream operator for AInstruction. | |
| template<typename T > | |
| std::ostream & | operator<< (std::ostream &os, const SXEval< T > &obj) |
| Output stream operator for SXEval. | |
| template<typename T > | |
| T | StringToType (const std::string &s) |
| Convert a string to a type T. | |
| template<typename T > | |
| bool | Greater (const T &a, const T &b) |
| Check if a is greater than b. | |
| template<typename T > | |
| std::enable_if< std::is_integral< T >::value, bool >::type | Equal (const T &a, const T &b) |
| Check if a is equal to b. | |
| template<typename T > | |
| std::enable_if< std::is_floating_point< T >::value, bool >::type | Equal (const T &a, const T &b) |
| Check if a is equal to b. | |
| template<typename T > | |
| bool | NotEqual (const T &a, const T &b) |
| Check if a is not equal to b. | |
| template<typename T > | |
| bool | GreaterOrEqual (const T &a, const T &b) |
| Check if a is greater than or equal to b. | |
| template<typename T > | |
| bool | Less (const T &a, const T &b) |
| Check if a is less than b. | |
| template<typename T > | |
| bool | LessOrEqual (const T &a, const T &b) |
| Check if a is less than or equal to b. | |
| template<typename T > | |
| std::enable_if< std::is_integral< T >::value, bool >::type | TypeToBool (const T &val) |
| Convert a type T to a boolean value. | |
| template<typename T > | |
| std::enable_if< std::is_floating_point< T >::value, bool >::type | TypeToBool (const T &val) |
| Convert a type T to a boolean value. | |
| template<typename T > | |
| bool | LogicalAnd (const T &a, const T &b) |
| Perform a logical and operations on types T. | |
| template<typename T > | |
| bool | LogicalOr (const T &a, const T &b) |
| Perform a logical or operation on types T. | |
| template<typename T > | |
| bool | LogicalNot (const T &a) |
| Perform a logical not operation on type T. | |
| template<typename T > | |
| bool | LogicalXor (const T &a, const T &b) |
| Perform a logical xor operation on types T. | |
| template<typename T > | |
| bool | LogicalNand (const T &a, const T &b) |
| Perform a logical nand operation on types T. | |
| template<typename T > | |
| bool | LogicalNor (const T &a, const T &b) |
| Perform a logical nor operation on types T. | |
| template<typename T > | |
| bool | LogicalXnor (const T &a, const T &b) |
| Perform a logical xnor operation on types T. | |
| template<typename T > | |
| std::enable_if< std::is_integral< T >::value, T >::type | Modulo (const T &a, const T &b) |
| Perform a modulo operation on types T. | |
| template<typename T > | |
| std::enable_if< std::is_floating_point< T >::value, T >::type | Modulo (const T &a, const T &b) |
| Perform a modulo operation on types T. | |
| template<typename T > | |
| std::enable_if< std::is_unsigned< T >::value, T >::type | Absolute (const T &a) |
| Perform an absolute value operation on types T. | |
| template<typename T > | |
| std::enable_if< std::is_integral< T >::value &&!std::is_unsigned< T >::value, T >::type | Absolute (const T &a) |
| Perform an absolute value operation on types T. | |
| template<typename T > | |
| std::enable_if< std::is_floating_point< T >::value &&!std::is_unsigned< T >::value, T >::type | Absolute (const T &a) |
| Perform an absolute value operation on types T. | |
| using sxeval::resolveEncapsulated_t = typedef std::function< std::function<T(void)>(const std::string&)> |
| using sxeval::resolveVariable_t = typedef std::function<T&(const std::string&)> |
|
inline |
Perform an absolute value operation on types T.
| T | The type of the value. |
| a | The value to get the absolute value of. |
|
inline |
Perform an absolute value operation on types T.
| T | The type of the value. |
| a | The value to get the absolute value of. |
|
inline |
Perform an absolute value operation on types T.
| T | The type of the value. |
| a | The value to get the absolute value of. |
|
inline |
Check if a is equal to b.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
|
inline |
Check if a is equal to b.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Check if a is greater than b.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Check if a is greater than or equal to b.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Check if a is less than b.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Check if a is less than or equal to b.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Perform a logical and operations on types T.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Perform a logical nand operation on types T.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Perform a logical nor operation on types T.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Perform a logical not operation on type T.
| T | The type of the value. |
| a | The value to negate. |
Perform a logical or operation on types T.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Perform a logical xnor operation on types T.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
Perform a logical xor operation on types T.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
|
inline |
Perform a modulo operation on types T.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
| std::invalid_argument | if b is zero. |
|
inline |
Perform a modulo operation on types T.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
| std::invalid_argument | if b is zero. |
Check if a is not equal to b.
| T | The type of the values. |
| a | The first value. |
| b | The second value. |
|
inline |
Output stream operator for AInstruction.
| os | The output stream. |
| obj | The AInstruction object to output. |
|
inline |
Convert a string to a type T.
| T | The type to convert to. |
| s | The string to convert. |
| std::invalid_argument | if the string cannot be converted to the type T. |
|
inline |
Convert a type T to a boolean value.
| T | The type to convert. |
| val | The value to convert. |
|
inline |
Convert a type T to a boolean value.
| T | The type to convert. |
| val | The value to convert. |