You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The \ref AUXDATA_GROUP class provides generic storage for
application-specific data.
We specify a small number of standard gtirb::AuxData schemata to
support interoperability. These are listed below, in two sets:
Sanctioned Recommended for GTIRB
users. Individual schemata are unlikely to change in future,
although the set of Sanctioned schemata may grow.
Provisional Under consideration for
'sanctioned' status.
For example, if you want to store alignment requirements for blocks
and data objects, you can use an alignment table.
usingnamespacegtirb;
Context C;
IR& ir = *IR::Create(C);
// Attach an empty alignment table to the internal representation
ir.addAuxData("alignment", std::map<UUID, uint64_t>{});
ir.addModule(Module::Create(C));
Module& module = ir.modules()[0];
//...// Create a new block
CFG& cfg = module.getCFG();
Block* b1 = emplaceBlock(cfg, C, Addr(464), 6);
// Record that the block should be aligned to 8-byte boundaries.
ir.getAuxData("alignment")->get<std::map<UUID, uint64_t>>()[b1->getUUID()] = 8;
Sanctioned AuxData Tables
The following are the sanctioned AuxData table schemata.