std::is_volatile
Min standard notice:
Header: <type_traits>
std::is_volatile is a UnaryTypeTrait.
# Declarations
template< class T >
struct is_volatile;
(since C++11)
# Example
#include <type_traits>
#include <valarray>
static_assert(!std::is_volatile_v<int>);
static_assert(std::is_volatile_v<volatile int>);
static_assert(std::is_volatile_v<volatile const int>);
static_assert(std::is_volatile_v<volatile std::valarray<float>>);
static_assert(!std::is_volatile_v<std::valarray<volatile float>>);
int main() {}