| Classes | |
| struct | is_container | 
| Detect if a type T has iterator/const iterator function.  More... | |
| struct | is_specialization_of | 
| Trait to check if a type Tis a specialization of a given template classTemplate.  More... | |
| struct | is_specialization_of< Template< Args... >, Template > | 
| Partial specialization for the case where Tis an instance ofTemplate<Args...>.  More... | |
| Variables | |
| template<typename T > | |
| concept | is_fixed_array | 
| Detect if a type T has iterator/const iterator function, operator[](size_t) and defines a static size.  More... | |
| template<typename T , template< typename... > class Template> | |
| constexpr bool | is_specialization_of_v = is_specialization_of<T, Template>::value | 
| Helper variable template to simplify the syntax for checking if Tis a specialization ofTemplate.  More... | |
| template<typename T > | |
| concept | is_vector | 
| Detect if a type T has iterator/const iterator function, operator[](size_t) and is dynamically resizable (resize function)  More... | |
| concept sofa::type::trait::is_fixed_array | 
Detect if a type T has iterator/const iterator function, operator[](size_t) and defines a static size.
| 
 | inlineconstexpr | 
Helper variable template to simplify the syntax for checking if T is a specialization of Template. 
This variable template provides a cleaner and more concise way to use the is_specialization_of trait. Instead of writing is_specialization_of<T, Template>::value, you can use is_specialization_of_v<T, Template>.
| T | The type to be checked. | 
| Template | The template class to check against. | 
| concept sofa::type::trait::is_vector | 
Detect if a type T has iterator/const iterator function, operator[](size_t) and is dynamically resizable (resize function)