MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / ~GenericValue

Function ~GenericValue

rapidjson/document.h:732–758  ·  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

730 /*! Need to destruct elements of array, members of object, or copy-string.
731 */
732 ~GenericValue() {
733 if (Allocator::kNeedFree) { // Shortcut by Allocator's trait
734 switch(data_.f.flags) {
735 case kArrayFlag:
736 {
737 GenericValue* e = GetElementsPointer();
738 for (GenericValue* v = e; v != e + data_.a.size; ++v)
739 v->~GenericValue();
740 Allocator::Free(e);
741 }
742 break;
743
744 case kObjectFlag:
745 for (MemberIterator m = MemberBegin(); m != MemberEnd(); ++m)
746 m->~Member();
747 Allocator::Free(GetMembersPointer());
748 break;
749
750 case kCopyStringFlag:
751 Allocator::Free(const_cast<Ch*>(GetStringPointer()));
752 break;
753
754 default:
755 break; // Do nothing for other types.
756 }
757 }
758 }
759
760 //@}
761

Callers

nothing calls this directly

Calls 5

GetElementsPointerFunction · 0.85
MemberBeginFunction · 0.85
MemberEndFunction · 0.85
GetMembersPointerFunction · 0.85
GetStringPointerFunction · 0.85

Tested by

no test coverage detected