diff --git a/include/indicators/display_width.hpp b/include/indicators/display_width.hpp index 638cec1..31b3e54 100644 --- a/include/indicators/display_width.hpp +++ b/include/indicators/display_width.hpp @@ -1,7 +1,10 @@ #pragma once #include +#if __has_include() #include +#define INDICATORS_HAVE_CODECVT 1 +#endif #include #include #include @@ -9,6 +12,7 @@ namespace unicode { +#if INDICATORS_HAVE_CODECVT namespace details { /* @@ -295,4 +299,16 @@ static inline int display_width(const std::wstring &input) { return details::mk_wcswidth(input.c_str(), input.size()); } +#else + +static inline int display_width(const std::string &input) { + return input.length(); +} + +static inline int display_width(const std::wstring &input) { + return input.length(); +} + +#endif + } // namespace unicode