59class JsonVector :
public JsonData,
public std::vector<JsonData *> {
62 JsonVector(
const std::vector<JsonData *> &v)
63 : std::vector<JsonData *>(v) {}
64 JsonVector &operator=(
const JsonVector &) & =
default;
65 JsonVector &operator=(JsonVector &&) & =
default;
67 DECLARE_TYPEINFO(JsonVector, JsonData);
70class JsonObject :
public JsonData,
public ordered_map<std::string, JsonData *> {
71 bool _hasSrcInfo =
true;
75 JsonObject(
const JsonObject &obj) =
default;
76 JsonObject &operator=(JsonObject &&) & =
default;
77 JsonObject(
const ordered_map<std::string, JsonData *> &v)
78 : ordered_map<std::string, JsonData *>(v) {}
80 std::string get_type()
const;
81 std::string get_filename()
const;
82 std::string get_sourceFragment()
const;
84 int get_column()
const;
85 JsonObject get_sourceJson()
const;
86 bool hasSrcInfo() {
return _hasSrcInfo; }
87 void setSrcInfo(
bool value) { _hasSrcInfo = value; }
89 DECLARE_TYPEINFO(JsonObject, JsonData);
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24