kaycxx-cli
C++ CLI library
Loading...
Searching...
No Matches
parameter_handle.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Klaus Reimer <k@ailis.de>
2// SPDX-License-Identifier: MIT
3
9#pragma once
10
11#include <utility>
12
14
15namespace kaycxx::cli {
16
24template <parseable_value T>
26public:
33 return *definition_;
34 }
35
46 definition_->default_value(std::move(value));
47 return *this;
48 }
49
50private:
51 friend class command;
52
59 : definition_(&definition)
60 {}
61
63 parameter<T>* definition_;
64};
65
66} // namespace kaycxx::cli
Common base class for an application and its commands.
Definition command.hpp:45
Handle for a registered option.
Definition option_handle.hpp:25
option_handle default_value(T value)
Sets the default option value.
Definition option_handle.hpp:69
Handle for a registered positional parameter.
Definition parameter_handle.hpp:25
parameter< T > const & definition() const noexcept
Returns the underlying parameter definition.
Definition parameter_handle.hpp:32
parameter_handle default_value(T value)
Sets the default parameter value.
Definition parameter_handle.hpp:45
Defines single positional parameters.