blob: bf1f2e09cb9b4ff76d7b23cc3fbc62b83ce5af79 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef BSSL_FILLINS_STRING_UTIL_H
#define BSSL_FILLINS_STRING_UTIL_H
#include <openssl/base.h>
#include <string.h>
#include <cassert>
#include <string>
#include <string_view>
namespace bssl {
namespace fillins {
OPENSSL_EXPORT std::string HexEncode(const void *bytes, size_t size);
OPENSSL_EXPORT std::string CollapseWhitespaceASCII(
std::string_view text, bool trim_sequences_with_line_breaks);
OPENSSL_EXPORT bool EqualsCaseInsensitiveASCII(std::string_view a,
std::string_view b);
OPENSSL_EXPORT bool IsAsciiAlpha(char c);
OPENSSL_EXPORT bool IsAsciiDigit(char c);
OPENSSL_EXPORT void ReplaceSubstringsAfterOffset(std::string *s, size_t offset,
std::string_view find,
std::string_view replace);
OPENSSL_EXPORT std::string HexDecode(std::string_view hex);
} // namespace fillins
} // namespace bssl
#endif // BSSL_FILLINS_STRING_UTIL_H