MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / ~GenericValue

Function ~GenericValue

Engine/source/persistence/rapidjson/document.h:800–826  ·  view source on GitHub ↗

Destructor. ! Need to destruct elements of array, members of object, or copy-string. */

Source from the content-addressed store, hash-verified

798 /*! Need to destruct elements of array, members of object, or copy-string.
799 */
800 ~GenericValue() {
801 if (Allocator::kNeedFree) { // Shortcut by Allocator's trait
802 switch(data_.f.flags) {
803 case kArrayFlag:
804 {
805 GenericValue* e = GetElementsPointer();
806 for (GenericValue* v = e; v != e + data_.a.size; ++v)
807 v->~GenericValue();
808 Allocator::Free(e);
809 }
810 break;
811
812 case kObjectFlag:
813 for (MemberIterator m = MemberBegin(); m != MemberEnd(); ++m)
814 m->~Member();
815 Allocator::Free(GetMembersPointer());
816 break;
817
818 case kCopyStringFlag:
819 Allocator::Free(const_cast<Ch*>(GetStringPointer()));
820 break;
821
822 default:
823 break; // Do nothing for other types.
824 }
825 }
826 }
827
828 //@}
829

Callers

nothing calls this directly

Calls 5

GetElementsPointerFunction · 0.70
MemberBeginFunction · 0.70
MemberEndFunction · 0.70
GetMembersPointerFunction · 0.70
GetStringPointerFunction · 0.70

Tested by

no test coverage detected