cli20 0.1.2
A C++20 typed-schema command-line parser
Loading...
Searching...
No Matches
cli::ConstraintResult Struct Reference

The result type returned by a constraints() post-parse hook. More...

#include <constraint.hh>

Public Member Functions

auto ok () const noexcept -> bool
 operator bool () const noexcept

Static Public Member Functions

static auto pass () -> ConstraintResult
static auto fail (ParseError e) -> ConstraintResult

Public Attributes

std::optional< ParseError > error

Friends

auto operator&& (ConstraintResult a, ConstraintResult b) -> ConstraintResult
auto operator|| (ConstraintResult a, ConstraintResult b) -> ConstraintResult

Detailed Description

The result type returned by a constraints() post-parse hook.

Supports short-circuit composition with && (fail-fast AND) and || (first-success OR):

auto constraints() -> cli::ConstraintResult {
return cli::constraint::at_most_one_of(verbose, debug)
&& cli::constraint::requires_if(output, format);
}
auto at_most_one_of(const Args &... args) -> ConstraintResult
At most one of the listed options may be provided.
auto requires_if(const Cond &condition, const Req &required) -> ConstraintResult
If condition is provided, required must also be provided.
The result type returned by a constraints() post-parse hook.
Definition constraint.hh:29

Factory methods:

Definition at line 29 of file constraint.hh.

Member Function Documentation

◆ fail()

auto cli::ConstraintResult::fail ( ParseError e) -> ConstraintResult
inlinestatic

Definition at line 36 of file constraint.hh.

◆ ok()

auto cli::ConstraintResult::ok ( ) const -> bool
inlinenodiscardnoexcept

Definition at line 32 of file constraint.hh.

◆ operator bool()

cli::ConstraintResult::operator bool ( ) const
inlineexplicitnodiscardnoexcept

Definition at line 33 of file constraint.hh.

◆ pass()

auto cli::ConstraintResult::pass ( ) -> ConstraintResult
inlinestatic

Definition at line 35 of file constraint.hh.

◆ operator&&

auto operator&& ( ConstraintResult a,
ConstraintResult b ) -> ConstraintResult
friend

Definition at line 38 of file constraint.hh.

◆ operator||

auto operator|| ( ConstraintResult a,
ConstraintResult b ) -> ConstraintResult
friend

Definition at line 43 of file constraint.hh.

Member Data Documentation

◆ error

std::optional<ParseError> cli::ConstraintResult::error

Definition at line 30 of file constraint.hh.


The documentation for this struct was generated from the following file: