1#ifndef BACKENDS_P4TOOLS_COMMON_OPTIONS_H_
2#define BACKENDS_P4TOOLS_COMMON_OPTIONS_H_
9#include "lib/compile_context.h"
10#include "lib/cstring.h"
11#include "lib/options.h"
21 std::string _toolName;
24 virtual ~AbstractP4cToolOptions() =
default;
26 std::optional<uint32_t>
seed = std::nullopt;
34 std::optional<ICompileContext *>
process(
const std::vector<const char *> &args);
40 std::vector<const char *> *
process(
int argc,
char *
const argv[])
override;
44 AbstractP4cToolOptions &operator=(
const AbstractP4cToolOptions &) =
default;
45 AbstractP4cToolOptions(
const AbstractP4cToolOptions &) =
default;
46 AbstractP4cToolOptions(AbstractP4cToolOptions &&) =
default;
51 [[nodiscard]]
const std::string &
getToolName()
const;
54 static std::tuple<int, char **>
convertArgs(
const std::vector<const char *> &args);
56 explicit AbstractP4cToolOptions(std::string_view toolName, std::string_view message);
Definition lib/options.h:34