#pragma once #ifdef __has_include #if defined(__cplusplus) && __cplusplus >= 201703L && __has_include() // should be 201606L, but STL headers disagree #include // IWYU pragma: export namespace devilution { using string_view = std::string_view; } #elif __has_include() #include // IWYU pragma: export namespace devilution { using string_view = std::experimental::string_view; } #else #error "Missing support for or " #endif #else #error "__has_include unavailable" #endif