Chrysalis - Pattern
Toggle main menu visibility
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
"
8
#include "
CompositiveContainer.h
"
9
13
namespace
Chrysalis
{
14
template
<
typename
T>
15
class
BaseArgument
{
16
SERIALIZED
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>>;
26
using
condition
=
BaseArgument<bool>
;
27
template
<
typename
T>
28
using
container
=
CompositiveContainer<T>
;
29
}
30
}
32
33
#endif
//CHRYSALIS_BASEARGUMENT_H
CompositiveContainer.h
Error.h
Chrysalis::BaseArgument
Definition
BaseArgument.h:15
Chrysalis::BaseArgument::BaseArgument
BaseArgument()=default
Chrysalis::BaseArgument::get
virtual std::expected< T, Error > get() const =0
Chrysalis::BaseArgument::~BaseArgument
virtual ~BaseArgument()=default
Chrysalis::CompositiveContainer
Definition
CompositiveContainer.h:8
Chrysalis::args
Definition
Argument.h:26
Chrysalis::args::container
CompositiveContainer< T > container
Definition
BaseArgument.h:28
Chrysalis::args::condition
BaseArgument< bool > condition
Definition
BaseArgument.h:26
Chrysalis::args::number
std::unique_ptr< BaseArgument< double > > number
Definition
BaseArgument.h:25
Chrysalis
Definition
Argument.h:9
SERIALIZED
#define SERIALIZED
Definition
serialization.h:57
pattern
include
arguments
BaseArgument.h
Generated by
1.17.0