#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 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) { … }
}