chromium/tools/binary_size/libsupersize/viewer/caspian/function_signature.cc

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Much of this logic is duplicated at
// tools/binary_size/libsupersize/function_signature.py.

#include <stddef.h>

#include <algorithm>
#include <deque>
#include <iostream>
#include <string>
#include <string_view>
#include <tuple>
#include <vector>

#include "tools/binary_size/libsupersize/viewer/caspian/function_signature.h"

namespace {
bool EndsWith(std::string_view str,
              std::string_view suffix,
              size_t pos = std::string_view::npos) {}

std::string_view Slice(std::string_view sv, size_t lo, size_t hi) {}
}  // namespace

namespace caspian {
std::vector<std::string_view> SplitBy(std::string_view str, char delim) {}

std::tuple<std::string_view, std::string_view, std::string_view> ParseJava(
    std::string_view full_name,
    std::deque<std::string>* owned_strings) {}

size_t FindLastCharOutsideOfBrackets(std::string_view name,
                                     char target_char,
                                     size_t prev_idx) {}

size_t FindReturnValueSpace(std::string_view name, size_t paren_idx) {}

void StripAbiTag(std::string* name) {}

std::string StripTemplateArgs(std::string_view name_view) {}

std::string NormalizeTopLevelGccLambda(std::string_view name,
                                       size_t left_paren_idx) {}

std::string NormalizeTopLevelClangLambda(std::string_view name,
                                         size_t left_paren_idx) {}

size_t FindParameterListParen(std::string_view name) {}

std::tuple<std::string_view, std::string_view, std::string_view> ParseCpp(
    std::string_view full_name,
    std::deque<std::string>* owned_strings) {}
}  // namespace caspian