Comprobando si un contenedor de secuencia es contiguo en la memoria
¿Hay alguna manera de verificar si un contenedor de secuencia es contiguo en la memoria? Algo como:
#include <iostream>
#include <vector>
#include <deque>
#include <array>
int main()
{
std::cout << std::boolalpha;
std::cout << is_contiguous<std::vector<int>>::value << '\n' // true
std::cout << is_contiguous<std::deque<int>>::value << '\n'; // false
std::cout << is_contiguous<std::array<int, 3>>::value << '\n'; // true
}
Aclaración
Esta pregunta se refiere a los rasgos de tipo, en lugar de las propiedades de una instancia específica de un tipo.