#ifndef CORE_FXCRT_STRING_VIEW_TEMPLATE_H_
#define CORE_FXCRT_STRING_VIEW_TEMPLATE_H_
#include <ctype.h>
#include <algorithm>
#include <iterator>
#include <optional>
#include <string>
#include <type_traits>
#include "core/fxcrt/compiler_specific.h"
#include "core/fxcrt/fx_memcpy_wrappers.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/span.h"
#include "core/fxcrt/span_util.h"
namespace fxcrt {
template <typename T>
class StringViewTemplate { … };
template <typename T>
inline bool operator==(const T* lhs, const StringViewTemplate<T>& rhs) { … }
template <typename T>
inline bool operator!=(const T* lhs, const StringViewTemplate<T>& rhs) { … }
template <typename T>
inline bool operator<(const T* lhs, const StringViewTemplate<T>& rhs) { … }
extern template class StringViewTemplate<char>;
extern template class StringViewTemplate<wchar_t>;
ByteStringView;
WideStringView;
}
ByteStringView;
WideStringView;
#endif