Files
IfcOpenShell/src/ifcparse/express.cpp
T

36 lines
838 B
C++

#include "express.h"
#include "instance_data.h"
const ifcopenshell::declaration& express::Base::declaration() const {
return *data()->declaration();
}
uint32_t express::Base::identity() const { return data()->identity(); }
uint32_t express::Base::id() const { return data()->id(); }
const instance_data* express::Base::data() const {
#ifdef IFOPSH_SAFE_INSTANCE
auto sp = data_.lock();
if (sp) {
return sp.get();
} else {
throw std::runtime_error("Trying to access deleted instance reference");
}
#else
return data_;
#endif
}
instance_data* express::Base::data() {
#ifdef IFOPSH_SAFE_INSTANCE
auto sp = data_.lock();
if (sp) {
return sp.get();
} else {
throw std::runtime_error("Trying to access deleted instance reference");
}
#else
return data_;
#endif
}