Type Traits Library


The Type Traits library contains traits for various types/behavior.


Defined in module <cmoon.type_traits>

Copy traits


copy_const Copies the const type attribute
(class template)
copy_volatile Copies the volatile type attribute
(class template)
copy_cv Copies the const and volatile type attributes
(class template)
copy_reference Copies the reference type attribute
(class template)
copy_extent Copies the array extent
(class template)
copy_all_extents Recursively copies the array extents
(class template)
remove_all_pointers Removes all pointers from type
(class template)
copy_pointer Copies the pointer type attribute
(class template)
copy_all_pointers Recursively copies the pointer type attribute
(class template)
copy_cvref Copies the const, volatile, and reference type attributes
(class template)

Miscellaneous queries


is_any_of Checks if the given type is equal to any of the other given types
(class template)
is_all_of Checks if the given type is equal to all of the other given types
(class template)
is_unique Checks if a sequence of types is unique
(class template)
is_character Checks if a type represents a character
(class template)
is_string_literal Checks if a type represents a string literal
(class template)

Type relationships


is_specialization Checks if the given type is equal to any of the other given types
(class template)

Type transformations


detected A collection of alias templates for detecting behavior/functionality of types
(alias templates)