Chrysalis - Pattern
Toggle main menu visibility
Loading...
Searching...
No Matches
OptionArgument.h
Go to the documentation of this file.
1
#ifndef CHRYSALIS_OPTIONARGUMENT_H
2
#define CHRYSALIS_OPTIONARGUMENT_H
3
4
#include "
Option.h
"
5
#include "
arguments/Argument.h
"
6
#include "
arguments/BaseCalculatedArgument.h
"
7
11
namespace
Chrysalis
{
12
class
OptionArgument
:
public
BaseCalculatedArgument
<bool> {
13
PROVIDE_SERIALIZATION_ACCESS
(
OptionArgument
)
14
public
:
15
explicit
OptionArgument
(
const
OptionsContainer
* options,
args::name
&& name);
16
protected
:
17
std::expected<bool, Error>
calculate
()
const override
;
18
private
:
19
const
OptionsContainer
* options_;
21
args::name
name_;
22
};
23
SERIALIZE_DERIVED_CONSTRUCTION
(
OptionArgument
,
BaseCalculatedArgument<bool>
, options_, name_)
24
}
26
27
#endif
//CHRYSALIS_OptionARGUMENT_H
Argument.h
BaseCalculatedArgument.h
Option.h
Chrysalis::BaseCalculatedArgument< bool >::BaseCalculatedArgument
BaseCalculatedArgument()=default
Chrysalis::OptionArgument::OptionArgument
OptionArgument(const OptionsContainer *options, args::name &&name)
Definition
OptionArgument.cpp:5
Chrysalis::OptionArgument::calculate
std::expected< bool, Error > calculate() const override
Definition
OptionArgument.cpp:8
Chrysalis::args::name
std::unique_ptr< Argument< std::string > > name
Definition
Argument.h:27
Chrysalis
Definition
Argument.h:9
Chrysalis::OptionsContainer
ScopedNamedElementsContainer< Option > OptionsContainer
Definition
Option.h:27
PROVIDE_SERIALIZATION_ACCESS
#define PROVIDE_SERIALIZATION_ACCESS(Class)
Definition
serialization.h:29
SERIALIZE_DERIVED_CONSTRUCTION
#define SERIALIZE_DERIVED_CONSTRUCTION(Class, Base,...)
Definition
serialization.h:124
pattern
include
arguments
OptionArgument.h
Generated by
1.17.0