The header <tuple> has the following additions:
namespace std {
template<class T> class tuple_size<volatile T>;
template<class T> class tuple_size<const volatile T>;
template<size_t I, class T> class tuple_element<I, volatile T>;
template<size_t I, class T> class tuple_element<I, const volatile T>;
}

```
template<class T> class tuple_size<volatile T>;
template<class T> class tuple_size<const volatile T>;
```

```
template<size_t I, class T> class tuple_element<I, volatile T>;
template<size_t I, class T> class tuple_element<I, const volatile T>;
```