#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_TEXT_ASCII_FAST_PATH_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_TEXT_ASCII_FAST_PATH_H_
#include <stdint.h>
#include <limits>
#include "base/check_op.h"
#include "base/compiler_specific.h"
#include "base/dcheck_is_on.h"
#include "build/build_config.h"
#include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/ascii_ctype.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_uchar.h"
#include "third_party/blink/renderer/platform/wtf/wtf_size_t.h"
namespace WTF {
MachineWord;
const uintptr_t kMachineWordAlignmentMask = …;
inline bool IsAlignedToMachineWord(const void* pointer) { … }
template <typename T>
inline T* AlignToMachineWord(T* pointer) { … }
template <size_t size, typename CharacterType>
struct NonASCIIMask;
template <>
struct NonASCIIMask<4, UChar> { … };
template <>
struct NonASCIIMask<4, LChar> { … };
template <>
struct NonASCIIMask<8, UChar> { … };
template <>
struct NonASCIIMask<8, LChar> { … };
template <typename CharacterType>
inline bool IsAllASCII(MachineWord word) { … }
struct ASCIIStringAttributes { … };
template <typename CharacterType>
ALWAYS_INLINE ASCIIStringAttributes
CharacterAttributes(const CharacterType* characters, size_t length) { … }
template <typename CharacterType>
ALWAYS_INLINE bool IsLowerASCII(const CharacterType* characters,
size_t length) { … }
template <typename CharacterType>
ALWAYS_INLINE bool IsUpperASCII(const CharacterType* characters,
size_t length) { … }
class LowerConverter { … };
class UpperConverter { … };
template <typename StringType, typename Converter, typename Allocator>
ALWAYS_INLINE typename Allocator::ResultStringType ConvertASCIICase(
const StringType& string,
Converter&& converter,
Allocator&& allocator) { … }
}
#endif