Chrysalis - Pattern
Loading...
Searching...
No Matches
Expression.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_EXPRESSION_H
2#define CHRYSALIS_EXPRESSION_H
3
4#include "BaseNamedElement.h"
7
8namespace Chrysalis {
10 explicit operator double() const;
11 double value;
12 };
13 class Expression: public BaseNamedElement, public BaseCalculatedArgument<ExpressionValue> {
16 public:
17 explicit Expression(const std::string& name, args::number&& expression);
18 protected:
19 std::expected<ExpressionValue, Error> calculate() const override;
20 private:
21 args::number expression_;
22 };
24}
25
26#endif //CHRYSALIS_EXPRESSION_H
std::expected< ExpressionValue, Error > calculate() const override
Definition Expression.cpp:12
Definition ScopedNamedElementsContainer.h:8
std::unique_ptr< BaseArgument< double > > number
Definition BaseArgument.h:25
Definition Argument.h:9
ScopedNamedElementsContainer< Expression > ExpressionsContainer
Definition Expression.h:23
#define PROVIDE_DEFAULT_SERIALIZATION_ACCESS(Class)
Definition serialization.h:45
#define SERIALIZE_DERIVED_FROM(Base,...)
Definition serialization.h:71
Definition Expression.h:9
double value
Definition Expression.h:11