header tweaks to provide gen-C++ script optimization with more flexibility

This commit is contained in:
Vern Paxson 2024-08-13 14:37:06 -07:00
parent 5a3b519fb4
commit 77c34787f3
4 changed files with 17 additions and 10 deletions

View file

@ -18,7 +18,16 @@ namespace detail {
class CPPRuntime {
public:
static auto RawOptField(const RecordValPtr& rv, int field) { return rv->RawOptField(field); }
static auto& RawField(const RecordValPtr& rv, int field) { return rv->RawField(field); }
static auto& RawField(RecordVal* rv, int field) { return rv->RawField(field); }
static auto& RawOptField(const RecordValPtr& rv, int field) { return rv->RawOptField(field); }
static auto& RawOptField(RecordVal* rv, int field) { return rv->RawOptField(field); }
static const auto& GetCreationInits(const RecordType* rt) { return rt->CreationInits(); }
static RecordVal* BuildRecordVal(RecordTypePtr t, std::vector<std::optional<ZVal>> init_vals) {
return new RecordVal(std::move(t), std::move(init_vals));
}
};
// Returns the concatenation of the given strings.