argon 0.12.0
Command line argument parser
Loading...
Searching...
No Matches
Argument.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <argon/Export.hpp>
4
5#include <string>
6#include <string_view>
7
8namespace argon {
9
11
14class ARGON_EXPORT Argument {
15protected:
16 [[nodiscard]] auto format(std::string_view string) const -> std::string;
17
18 std::string m_description; // NOLINT(cppcoreguidelines-non-private-member-variables-in-classes)
19
20public:
21 Argument(std::string description);
22 virtual ~Argument() = default;
23 Argument(const Argument&) = default;
24 Argument(Argument&&) noexcept = default;
25 Argument& operator=(const Argument&) = default;
26 Argument& operator=(Argument&&) noexcept = default;
27
28 [[nodiscard]] virtual auto format() const -> std::string = 0;
29};
30
31}
Base type of all arguments.
Definition Argument.hpp:14