MCPcopy Create free account
hub / github.com/Snapchat/Valdi / makeRef

Method makeRef

valdi_core/src/valdi_core/cpp/Utils/ReferenceTable.cpp:183–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

181ReferenceTable::WriteAccess::~WriteAccess() = default;
182
183ReferenceTableEntry ReferenceTable::WriteAccess::makeRef(const char* tag) const {
184 auto id = _table->_sequence.newId();
185
186 auto index = static_cast<size_t>(id.getIndex());
187 ReferenceTableEntry* entry;
188 if (index >= _table->_entries.size()) {
189 entry = &_table->_entries.emplace_back();
190 } else {
191 entry = &_table->_entries[index];
192 }
193
194 entry->id = id;
195 entry->retainCount = 1;
196 entry->tag = tag;
197
198 return *entry;
199}
200
201void ReferenceTable::WriteAccess::retainRef(SequenceID id) const {
202 auto& entry = _table->getEntry(id);

Callers 3

makeMethod · 0.80
TESTFunction · 0.80
makeMethod · 0.80

Calls 3

newIdMethod · 0.45
getIndexMethod · 0.45
sizeMethod · 0.45

Tested by 1

TESTFunction · 0.64