arg_router
1.4.0
C++ command line argument parsing and routing
|
#include <arg_router/parsing/parse_target.hpp>
Public Member Functions | |
template<typename Node , typename... Parents> | |
parse_target (vector< token_type > tokens, const Node &node, const Parents &... parents) noexcept | |
template<typename Node , typename... Parents> | |
parse_target (const Node &node, const Parents &... parents) noexcept | |
vector< token_type > & | tokens () noexcept |
const vector< token_type > & | tokens () const noexcept |
vector< parse_target > & | sub_targets () noexcept |
const vector< parse_target > & | sub_targets () const noexcept |
operator bool () const noexcept | |
std::size_t | node_type () const noexcept |
void | add_sub_target (parse_target target) |
void | tokens (vector< token_type > tokens) |
utility::unsafe_any | operator() () |
A parse target i.e. a target node optionally with tokens for parsing.
This type is the result of a pre-parse phase, and is used to trigger a parse of the given tokens (optional) on the target node. Sub-targets can also be attached allowing a node to trigger the parse of other nodes e.g. mode-like types.
The target can only be invoked once, invoking a second or more time is a no-op.
Definition at line 28 of file parse_target.hpp.
|
inlinenoexcept |
Constructor.
Node | Target node type |
Parents | Pack of parent tree nodes in ascending ancestry order |
tokens | Tokens to be parsed by node, not including any label token |
node | Target node instance |
parents | Parents of node |
Definition at line 41 of file parse_target.hpp.
|
inlineexplicitnoexcept |
No token constructor.
Node | Target node type |
Parents | Pack of parent tree nodes in ascending ancestry order |
node | Target node instance |
parents | Parents of node |
Definition at line 66 of file parse_target.hpp.
|
inline |
Append a sub-target.
The tokens of target are appended to this target.
target | Sub-target |
Definition at line 113 of file parse_target.hpp.
|
inlinenoexcept |
Returns the hash code for the target node.
Definition at line 106 of file parse_target.hpp.
|
inlineexplicitnoexcept |
Bool conversion operator.
Definition at line 100 of file parse_target.hpp.
|
inline |
Trigger the parse of this target.
Definition at line 125 of file parse_target.hpp.
|
inlinenoexcept |
|
inlinenoexcept |
The sub-targets associated with this target.
Definition at line 88 of file parse_target.hpp.
|
inlinenoexcept |
|
inlinenoexcept |
The tokens associated with this target.
Definition at line 76 of file parse_target.hpp.
|
inline |
Set the tokens for this node.
tokens | New tokens |
Definition at line 119 of file parse_target.hpp.