Chrysalis - Pattern
Loading...
Searching...
No Matches
BaseArgument.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_BASEARGUMENT_H
2#define CHRYSALIS_BASEARGUMENT_H
3
4#include <memory>
5#include <expected>
6
7#include "Error.h"
9
13namespace Chrysalis {
14 template<typename T>
17 protected:
18 explicit BaseArgument() = default;
19 public:
20 virtual ~BaseArgument() = default;
21
22 [[nodiscard]] virtual std::expected<T, Error> get() const = 0;
23 };
24 namespace args {
25 using number = std::unique_ptr<BaseArgument<double>>;
27 template<typename T>
29 }
30}
32
33#endif //CHRYSALIS_BASEARGUMENT_H
Definition BaseArgument.h:15
virtual std::expected< T, Error > get() const =0
virtual ~BaseArgument()=default
Definition CompositiveContainer.h:8
Definition Argument.h:26
CompositiveContainer< T > container
Definition BaseArgument.h:28
BaseArgument< bool > condition
Definition BaseArgument.h:26
std::unique_ptr< BaseArgument< double > > number
Definition BaseArgument.h:25
Definition Argument.h:9
#define SERIALIZED
Definition serialization.h:57