#include "src/trace_processor/perfetto_sql/intrinsics/functions/layout_functions.h"
#include <cstddef>
#include <cstdint>
#include <limits>
#include <queue>
#include <vector>
#include "perfetto/base/logging.h"
#include "perfetto/base/status.h"
#include "perfetto/ext/base/status_or.h"
#include "perfetto/trace_processor/basic_types.h"
#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h"
#include "src/trace_processor/sqlite/bindings/sqlite_result.h"
#include "src/trace_processor/sqlite/bindings/sqlite_window_function.h"
#include "src/trace_processor/sqlite/sqlite_utils.h"
#include "src/trace_processor/util/status_macros.h"
namespace perfetto::trace_processor {
namespace {
constexpr char kFunctionName[] = …;
class SlicePacker { … };
base::StatusOr<SlicePacker*> GetOrCreateAggregationContext(
sqlite3_context* ctx) { … }
base::Status StepStatus(sqlite3_context* ctx,
size_t argc,
sqlite3_value** argv) { … }
struct InternalLayout : public SqliteWindowFunction { … };
}
base::Status RegisterLayoutFunctions(PerfettoSqlEngine& engine) { … }
}