MCPcopy Create free account
hub / github.com/covscript/covscript / assign

Method assign

include/covscript/core/variable.hpp:1142–1158  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1140 }
1141
1142 void assign(const any &obj, bool raw = false)
1143 {
1144 if (&obj != this && obj.mDat != mDat) {
1145 if (mDat != nullptr && obj.mDat != nullptr && raw) {
1146 if (mDat->protect_level != 0 || obj.mDat->protect_level > 0)
1147 throw cs::runtime_error("The variable has been protected");
1148 mDat->data.copy_store(obj.mDat->data);
1149 }
1150 else {
1151 recycle();
1152 if (obj.mDat != nullptr)
1153 mDat = get_allocator().alloc(1, obj.mDat->data);
1154 else
1155 mDat = nullptr;
1156 }
1157 }
1158 }
1159
1160 template <typename T>
1161 void assign(const T &dat, bool raw = false)

Callers 1

convertMethod · 0.45

Calls 2

runtime_errorClass · 0.85
allocMethod · 0.80

Tested by

no test coverage detected