10 #ifndef __data_Omega_h__ 11 #define __data_Omega_h__ 17 void Scope::assignIDNumber(
const R &record)
19 SAFEGUARD_IF(m_locking);
21 #if FE_SCOPE_GETRECORD 23 pID = m_paIDNumber->queryAttribute(record);
26 if(m_freeIDNumbers.size() != 0)
28 m_idNumbered[m_freeIDNumbers.back()] = record;
29 *pID = m_freeIDNumbers.back();
31 m_freeIDNumbers.pop_back();
35 int index = m_idNumbered.size();
37 m_idNumbered.resize(index + 1);
39 WeakRecord weak_record(record);
40 m_idNumbered[index] = weak_record;
46 std::atomic<int> *pSN;
63 void Scope::freeIDNumber(
const R &r_old)
65 SAFEGUARD_IF(m_locking);
67 #if FE_SCOPE_GETRECORD 70 m_paIDNumber->queryAttribute(r_old, pID))
73 m_freeIDNumbers.push_back(*pID);
74 m_idNumbered[*pID] = WeakRecord();
79 std::atomic<int> *pSN;
80 if(m_paSerialNumber &&
kernel
Definition: namespace.dox:3
bool queryAttribute(const RecordSB &r, T *&data)
Return true if the attribute exists in record.
Definition: Accessor.h:574