#ifndef GENERS_IOISCONTIGUOUS_HH_ #define GENERS_IOISCONTIGUOUS_HH_ #include #include namespace gs { template struct IOIsContiguous { enum {value = 0}; }; // String is treated as a pod vector. This will be guaranteed // to work correctly in the C++11 standard. The current standard // does not specify that the characters must be stored contuguously // inside the string -- however, this is always true in practice. template struct IOIsContiguous > {enum {value = 1};}; template struct IOIsContiguous > {enum {value = 1};}; template struct IOIsContiguous > {enum {value = 1};}; template struct IOIsContiguous > {enum {value = 1};}; // std::vector is used by the package everywhere. No point in not // having it here. template struct IOIsContiguous > {enum {value = 1};}; template struct IOIsContiguous > {enum {value = 1};}; template struct IOIsContiguous > {enum {value = 1};}; template struct IOIsContiguous > {enum {value = 1};}; // Hovever, std::vector should be excluded template <> struct IOIsContiguous > {enum {value = 0};}; template <> struct IOIsContiguous > {enum {value = 0};}; template <> struct IOIsContiguous > {enum {value = 0};}; template <> struct IOIsContiguous > {enum {value = 0};}; } #endif // GENERS_IOISCONTIGUOUS_HH_