CPP-AP 2.2.6
Command-line argument parser for C++20
Loading...
Searching...
No Matches
concepts.hpp File Reference

Provides the general concept definitions. More...

#include <iostream>
#include <ranges>

Go to the source code of this file.

Concepts

concept  ap::detail::c_readable
 The concept is satisfied when T overloads the std::istream operator >>.
 
concept  ap::detail::c_writable
 The concept is satisfied when T overloads the std::ostream operator <<.
 
concept  ap::detail::c_arithmetic
 The concept is satisfied when T is an arithmetic type.
 
concept  ap::detail::c_argument_value_type
 The concept is used to verify the validity of the arguments' value types.
 
concept  ap::detail::c_one_of
 Validates that T is the same as one of the types defined by Types.
 
concept  ap::detail::c_valid_type
 Concept that enforces is_valid_type_v.
 
concept  ap::detail::c_range_of
 Validates that R is a range of type T (ignoring the cvref attributes).
 
concept  ap::detail::c_sized_range_of
 Validates that R is a sized range of type T (ignoring the cvref attributes).
 

Enumerations

enum class  ap::detail::type_validator : bool { same , convertible }
 Specifies the type validation rule. More...
 

Variables

template<typename T , typename U , type_validator TV>
constexpr bool ap::detail::is_valid_type_v = false
 Checks if two types satisfy a given type_validator rule.
 

Detailed Description

Provides the general concept definitions.

Definition in file concepts.hpp.

Enumeration Type Documentation

◆ type_validator

enum class ap::detail::type_validator : bool
strong

Specifies the type validation rule.

Enumerator
same 

Exact type match.

convertible 

Implicit conversion allowed.

Definition at line 56 of file concepts.hpp.

Variable Documentation

◆ is_valid_type_v

template<typename T , typename U , type_validator TV>
constexpr bool ap::detail::is_valid_type_v = false
inlineconstexpr

Checks if two types satisfy a given type_validator rule.

The primary template of the is_valid_type_v helper variable, which does not perform any logic and defaults to false.

Template Parameters
TThe type to check.
UThe type to check agains.
TVThe validation rule.

Definition at line 72 of file concepts.hpp.