folly/folly/detail/base64_detail/Base64Scalar.h

/*
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#pragma once

#include <array>
#include <cstdint>
#include <folly/detail/base64_detail/Base64Common.h>
#include <folly/detail/base64_detail/Base64Constants.h>

namespace folly::detail::base64_detail {

constexpr std::uint8_t atAsU8(const char* f, int offset) {}

constexpr std::array<std::uint8_t, 3> base64DecodePack4To3(
    std::uint8_t aaa, std::uint8_t bbb, std::uint8_t ccc, std::uint8_t ddd) {}

template <bool isURL>
struct Base64ScalarImpl {};

constexpr char* base64EncodeScalar(
    const char* f, const char* l, char* o) noexcept {}

constexpr char* base64URLEncodeScalar(
    const char* f, const char* l, char* o) noexcept {}

constexpr char* base64DecodeTailScalar(
    const char* f, char* o, std::uint8_t& errorAccumulator) {}

constexpr Base64DecodeResult base64DecodeScalar(
    const char* f, const char* l, char* o) noexcept {}

constexpr void base64URLDecodeStripValidPadding(const char* f, const char*& l) {}

constexpr char* base64URLDecodeScalarLast4Bytes(
    const char* f, const char* l, char* o, std::uint8_t& errorAccumulator) {}

constexpr Base64DecodeResult base64URLDecodeScalar(
    const char* f, const char* l, char* o) noexcept {}

} // namespace folly::detail::base64_detail