extension.h File
C++ header file with declarations for the µTest++ extension concepts. More...
Included Headers
Namespaces Index
| namespace | micro_os_plus |
|
The primary namespace for the µOS++ framework. More... | |
| namespace | micro_test_plus |
|
Primary namespace for the µTest++ testing framework. More... | |
| namespace | detail |
|
Internal implementation details for the µTest++ framework. More... | |
| namespace | extension |
|
The templates and the concepts for extending the µTest++ testing framework. More... | |
Classes Index
| struct | is_bool_wrapper<T> |
|
Trait marking the wrappers of a bool, whose condition is ambiguous. More... | |
| struct | op |
|
Empty base struct for the framework expression types. More... | |
| struct | range_element<T> |
|
The type of the elements of a range with begin() and end() members. More... | |
Concepts Index
| concept | ambiguous_condition |
|
Concept satisfied by the wrappers of a bool, whose condition is ambiguous. More... | |
| concept | container_like |
|
Concept satisfied when T provides both begin() and end() member functions returning an iterator and its sentinel. More... | |
| concept | formattable_range |
|
Concept satisfied when T is a range that the formatter writes element by element. More... | |
| concept | free_range |
|
Concept satisfied when T provides begin() and end() only as functions found by argument-dependent lookup. More... | |
| concept | has_value |
|
Concept satisfied when T is a framework compile-time constant. More... | |
| concept | lazy_message |
|
Concept satisfied when T is a callable object that returns a printable message. More... | |
| concept | legacy_checkable |
|
Concept satisfied when a type was accepted by expect() and require() before the exclusion of the suspicious conditions. More... | |
| concept | message_argument |
|
Concept satisfied when T can be appended to the message of a check. More... | |
| concept | string_like |
|
Concept satisfied when T is a string, convertible to a std::basic_string_view of a character type. More... | |
| concept | suspicious_condition |
|
Concept satisfied when a type is contextually convertible to bool, but is most likely not a condition. More... | |
| concept | any_op |
|
Concept satisfied when at least one of two types is a framework expression type. More... | |
| concept | checkable |
|
Concept satisfied when a type can be used as a test expression in expect() or require(). More... | |
| concept | compare_tag |
|
Concept satisfied by a tag that defines a custom comparator. More... | |
| concept | has_epsilon |
|
Deprecated concept satisfied when T is a framework floating-point wrapper with a tolerance. More... | |
| concept | is_op |
|
Concept satisfied when a type is a framework expression type. More... | |
| concept | predicate_tag |
|
Concept satisfied by a tag that defines a custom predicate. More... | |
| concept | printable |
|
Concept satisfied when a type can be appended to the message of a check result via operator<<. More... | |
Description
C++ header file with declarations for the µTest++ extension concepts.
This header provides the C++20 concepts that the applications use to extend the framework with their own comparators, operators, and helpers (the expressions they return, extension::compare_op and extension::predicate_op, are declared in detail.h): the concepts that detect the framework expression types, and the types accepted by expect(), require(), and the message operator.
The public concepts, and the templates compare_op and predicate_op, reside within the micro_os_plus::micro_test_plus::extension namespace, separate from the top namespace, so that using namespace on the top namespace does not bring their generic names into the application code.
The concepts used only by the implementation, which detect the framework constants, the containers, and the strings, reside within the detail namespace.
The marker base detail::op of the framework expression types is defined here; the deprecated value wrappers, in the detail namespace, are declared in deprecated.h.
The deprecated v5.0.1 type_traits namespace, which refers to these concepts and to the value wrappers, is declared in deprecated.h.
This file is included by micro-os-plus/micro-test-plus.h, which is the header that the applications include.
File Listing
The file content with the documentation metadata removed is:
Generated via doxygen2docusaurus 2.2.8 by Doxygen 1.18.0.