#pragma once #ifdef __has_include #if defined(__cplusplus) && (__cplusplus >= 201703L || _MSC_VER >= 1930) && __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