type-traits.h File
C++ header file with declarations for the µTest++ type trait utilities and metaprogramming support. 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 | type_traits |
|
Type trait utilities and metaprogramming support for the µTest++ testing framework. More... | |
Classes Index
| struct | floating_point_constant<T, N, D, Size, P> |
|
Struct template representing a generic floating point constant with custom size and precision. More... | |
| struct | function_traits<R(*)(Args_T...)> |
|
Struct template specialisation for extracting function traits from function pointer types. More... | |
| struct | function_traits<R(Args_T...)> |
|
Struct template specialisation for extracting function traits from plain function types. More... | |
| struct | function_traits<R(T::*)(Args_T...) const> |
|
Struct template specialisation for extracting function traits from const member function types. More... | |
| struct | function_traits<R(T::*)(Args_T...)> |
|
Struct template specialisation for extracting function traits from non-const member function types. More... | |
| struct | genuine_integral_value<T> |
|
Struct template representing a genuine integral value. More... | |
| struct | identity<T, Extra> |
|
Struct template for compile-time type identity. More... | |
| struct | integral_constant<N> |
|
Struct template representing a generic integral constant. More... | |
| struct | list<Types> |
|
Struct template representing a compile-time type list. More... | |
| struct | op |
|
Empty base struct for all operator types. More... | |
| struct | value<T> |
|
Struct template representing a generic value, accessible via a getter. More... | |
| struct | value<T> |
|
Struct template representing a floating point value with precision control. More... | |
| struct | value_base_<T> |
|
Base struct template providing common storage and accessors for runtime value-wrapper types. More... | |
Concepts Index
| concept | any_op |
|
C++20 concept satisfied when at least one of two types derives from op. More... | |
| concept | checkable |
|
C++20 concept satisfied when a type can be used as a test expression in expect() or assume(). More... | |
| concept | container_like |
|
C++20 concept satisfied when T provides both begin() and end() member functions. More... | |
| concept | has_epsilon |
|
C++20 concept satisfied when T provides an epsilon member. More... | |
| concept | has_npos |
|
C++20 concept satisfied when T provides a npos member. More... | |
| concept | has_value |
|
C++20 concept satisfied when T provides a value member. More... | |
| concept | is_floating_point |
|
C++20 concept satisfied when T is a standard floating point type. More... | |
| concept | is_op |
|
C++20 concept satisfied when a type derives from op. More... | |
| concept | printable |
|
C++20 concept satisfied when a type can be appended to the deferred reporter's output via operator<<. More... | |
Description
C++ header file with declarations for the µTest++ type trait utilities and metaprogramming support.
This header provides the declarations for the type trait utilities and metaprogramming constructs used within the µTest++ framework. It defines templates and variable traits for function traits, type lists, identity, value wrappers, compile-time checks for container and floating-point types, and type convertibility.
These utilities underpin advanced template programming, type deduction, and compile-time introspection, supporting the flexible and type-safe design of the framework. The provided traits and wrappers enable expressive and generic handling of types, values, and callable objects, facilitating robust and maintainable test code.
All definitions reside within the micro_os_plus::micro_test_plus::type_traits namespace, ensuring clear separation from user code and minimising the risk of naming conflicts.
All header files are organised within the include/micro-os-plus/micro-test-plus folder to maintain a structured and modular codebase.
This file is intended for internal use within the framework and should not be included directly by user code.
File Listing
The file content with the documentation metadata removed is:
Generated via doxygen2docusaurus 2.2.0 by Doxygen 1.17.0.