123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740 |
- // Copyright 2024 Tracer Interactive, LLC. All Rights Reserved.
- #include "MatureJsonObject.h"
- //#include "MatureJsonConverter.h"
- #include "MatureJsonList.h"
- //#include "MatureJsonHelpers.h"
- #include "MatureJsonEnums.h"
- #include "Policies/CondensedJsonPrintPolicy.h"
- #include "Policies/PrettyJsonPrintPolicy.h"
- FMatureJsonObject::ObjectWrap::ObjectWrap()
- : Document(MakeShared<mature::Document>())
- , Object(Document->SetObject().GetObject())
- {
- }
- //FMatureJsonObject::ObjectWrap::ObjectWrap(TSharedPtr<mature::Document> Doc)
- // : Document(Doc)
- // , Object(Document->SetObject().GetObject())
- //{
- //}
- FMatureJsonObject::ObjectWrap::ObjectWrap(TSharedPtr<mature::Document> Doc,const mature::Object& Ref)
- : Document(Doc)
- , Object(Ref)
- {
- }
- FMatureJsonObject::ObjectWrap::ObjectWrap(TSharedPtr<mature::Document> Doc, const mature::Object&& Ref)
- : Document(Doc)
- , Object(Ref)
- {
- }
- mature::MemberIterator FMatureJsonObject::ObjectWrap::Begin() {
- return Object.MemberBegin();
- }
- mature::MemberIterator FMatureJsonObject::ObjectWrap::End() {
- return Object.MemberEnd();
- }
- FMatureJsonObject::FMatureJsonObject()
- : ObjectPtr(MakeShared<ObjectWrap>())
- {
- }
- FMatureJsonObject::FMatureJsonObject(TSharedPtr<mature::Document> Doc, const mature::Object& obj)
- : ObjectPtr(MakeShared<ObjectWrap>(Doc, obj))
- {
- }
- FMatureJsonObject::FMatureJsonObject(TSharedPtr<mature::Document> Doc, const mature::Object&& obj)
- : ObjectPtr(MakeShared<ObjectWrap>(Doc, obj))
- {
- }
- FMatureJsonObject::FMatureJsonObject(const FMatureJsonObject& rhs)
- : ObjectPtr(rhs.ObjectPtr)
- {
- }
- FMatureJsonObject::FMatureJsonObject(const FMatureJsonObject&& rhs)
- : ObjectPtr(rhs.ObjectPtr)
- {
- }
- FMatureJsonValue FMatureJsonObject::AddKey(const FString& key) {
- if (!Object().HasMember(*key)) {
- Object().AddMember(mature::Value(*key, GetAllocator()), mature::Value(), GetAllocator());
- }
- return FMatureJsonValue(Document(), Object()[*key]);
- }
- FMatureJsonValue FMatureJsonObject::GetKey(const FString& key) const {
- if (!Object().HasMember(*key)) {
- return FMatureJsonValue();
- }
- return FMatureJsonValue(Document(), Object()[*key]);
- }
- //FMatureJsonObject& FMatureJsonObject::SetValue(const FString& key,const FMatureJsonValue& Value) {
- // AddKey(key).SetValue(Value);
- // return *this;
- //}
- FMatureJsonObject& FMatureJsonObject::SetValue( const FLinearColor& Value )
- {
- Clear();
- AddKey(TEXT("r")).SetValue(Value.R);
- AddKey(TEXT("g")).SetValue(Value.G);
- AddKey(TEXT("b")).SetValue(Value.B);
- if (Value.A != 1.0f)
- AddKey(TEXT("a")).SetValue(Value.A);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const FRotator& Value )
- {
- Clear();
- AddKey(TEXT("pitch")).SetValue(Value.Pitch);
- AddKey(TEXT("yaw")).SetValue(Value.Yaw);
- AddKey(TEXT("roll")).SetValue(Value.Roll);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const FTransform& Value )
- {
- Clear();
- AddKey(TEXT("rotation")).SetValue(Value.Rotator());
- AddKey(TEXT("translation")).SetValue(Value.GetTranslation());
- const FVector Scale = Value.GetScale3D();
- if (Scale != FVector::OneVector)
- {
- if (Scale.IsUniform())
- AddKey(TEXT("scale")).SetValue(Scale.X);
- else
- AddKey(TEXT("scale")).SetValue(Scale);
- }
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const FVector& Value )
- {
- Clear();
- AddKey(TEXT("x")).SetValue(Value.X);
- AddKey(TEXT("y")).SetValue(Value.Y);
- AddKey(TEXT("z")).SetValue(Value.Z);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue(const FMatureJsonObject& Value)
- {
- Clear();
- auto it = Value.Object().MemberBegin();
- for (; it != Value.Object().MemberEnd(); it++) {
- AddKey(FString( it->name.GetString())).SetValue(FMatureJsonValue(Document(), it->value));
- }
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FMatureJsonValue>& Value )
- {
- Clear();
- for ( const auto& Temp : Value )
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, bool>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, float>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, double>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, int32>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FString>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FDateTime>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FGuid>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FColor>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FLinearColor>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FRotator>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FTransform>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::SetValue( const TMap<FString, FVector>& Value )
- {
- Clear();
- for (const auto& Temp : Value)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- int32 FMatureJsonObject::Size() const
- {
- return Object().MemberCount();
- }
- bool FMatureJsonObject::IsEmpty()const {
- return Object().ObjectEmpty();
- }
- void FMatureJsonObject::Clear()
- {
- Object().RemoveAllMembers();
- }
- bool FMatureJsonObject::HasKey( const FString& Key ) const
- {
- return Object().HasMember(*Key);
- }
- void FMatureJsonObject::RemoveKey( const FString& Key )
- {
- if (Object().HasMember(*Key)) {
- Object().RemoveMember(*Key);
- }
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FMatureJsonObject& rhs)
- {
- auto it = rhs.Object().MemberBegin();
- for (; it != rhs.Object().MemberEnd(); it++) {
- AddKey(FString(it->name.GetString())).SetValue(FMatureJsonValue(Document(), it->value));
- }
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, bool>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, float>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, int32>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, double>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FString>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FDateTime>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FGuid>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FColor>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FLinearColor>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FRotator>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FTransform>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FVector>& Map)
- {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const TMap<FString, FMatureJsonValue>& Map) {
- for (const auto& Temp : Map)
- AddKey(Temp.Key).SetValue(Temp.Value);
- return *this;
- }
- FMatureJsonList FMatureJsonObject::AddList(const FString& Key) {
- return AddKey(Key).ToList();
- }
- FMatureJsonObject FMatureJsonObject::AddObject(const FString& Key) {
- return AddKey(Key).ToObject();
- }
- FMatureJsonValue FMatureJsonObject::AddValue(const FString& Key) {
- return AddKey(Key);
- }
- TArray<FString> FMatureJsonObject::GetKeys() const
- {
- TArray<FString> Keys;
- auto it = Object().MemberBegin();
- for (; it != Object().MemberEnd(); it++) {
- Keys.Add(it->name.GetString());
- }
- return Keys;
- }
- void FMatureJsonObject::GetValue(FLinearColor& Value) {
- GetKey(TEXT("r")).GetValue(Value.R);
- GetKey(TEXT("g")).GetValue(Value.G);
- GetKey(TEXT("b")).GetValue(Value.B);
- GetKey(TEXT("a")).GetValue(Value.A);
- }
- void FMatureJsonObject::GetValue(FRotator& Value) {
- GetKey(TEXT("pitch")).GetValue(Value.Pitch);
- GetKey(TEXT("yaw")).GetValue(Value.Yaw);
- GetKey(TEXT("roll")).GetValue(Value.Roll);
- }
- void FMatureJsonObject::GetValue(FTransform& Value) {
- FRotator rotation;
- FVector translation;
- FVector scale;
- GetKey(TEXT("rotation")).GetValue(rotation);
- GetKey(TEXT("translation")).GetValue(translation);
- if (!GetKey(TEXT("scale")).GetValue(scale)) {
- double scalex=0.0;
- GetKey(TEXT("scale")).GetValue(scalex);
- scale = FVector(scalex);
- }
- Value = FTransform(rotation, translation, scale);
- }
- void FMatureJsonObject::GetValue(FVector& Value) {
- GetKey(TEXT("x")).GetValue(Value.X);
- GetKey(TEXT("z")).GetValue(Value.Y);
- GetKey(TEXT("y")).GetValue(Value.Z);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, bool& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, float& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, uint32& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, int32& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, uint64& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, int64& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, double& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FString& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FGuid& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FColor& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FDateTime& value) const {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FLinearColor& Value) const
- {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(Value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FRotator& Value) const
- {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(Value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FTransform& Value) const
- {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(Value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FVector& Value) const
- {
- if (!Object().HasMember(*Key))return false;
- return GetKey(Key).GetValue(Value);
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FMatureJsonValue& Value) const
- {
- if (!Object().HasMember(*Key))return false;
- Value = GetKey(Key);
- return true;
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FMatureJsonObject& Value) const
- {
- if (!Object().HasMember(*Key))return false;
- Value = GetKey(Key).ToObject(true);
- return true;
- }
- bool FMatureJsonObject::GetValue(const FString& Key, FMatureJsonList& Value) const
- {
- if (!Object().HasMember(*Key))return false;
- Value = GetKey(Key).ToList(true);
- return true;
- }
- FMatureJsonValue FMatureJsonObject::ToValue(const FString& Key) const {
- FMatureJsonValue value;
- GetValue(Key, value);
- return value;
- }
- FMatureJsonObject FMatureJsonObject::ToObject(const FString& Key) const {
- FMatureJsonObject value;
- GetValue(Key, value);
- return value;
- }
- FMatureJsonList FMatureJsonObject::ToList(const FString& Key) const {
- FMatureJsonList value;
- GetValue(Key, value);
- return value;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, bool Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, float Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, int32 Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, double Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const TCHAR* Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FString& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FDateTime& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FGuid& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FColor& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FLinearColor& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FRotator& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FTransform& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FVector& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FMatureJsonValue& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FMatureJsonObject& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const FMatureJsonList& Value)
- {
- AddKey(*Key).SetValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const TArray<FMatureJsonValue>& Value)
- {
- AddKey(*Key).ToList().AddValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::AddValue(const FString& Key, const TMap<FString, FMatureJsonValue>& Value)
- {
- AddKey(*Key).ToObject().AddValue(Value);
- return *this;
- }
- FMatureJsonObject& FMatureJsonObject::operator=(const FMatureJsonObject& rhs) {
- ObjectPtr = rhs.ObjectPtr;
- return *this;
- }
- TSharedPtr<mature::Document> FMatureJsonObject::Document() {
- return ObjectPtr->Document;
- }
- TSharedPtr<mature::Document> FMatureJsonObject::Document()const {
- return ObjectPtr->Document;
- }
- inline mature::Object& FMatureJsonObject::Object(){
- return ObjectPtr->Object;
- }
- inline mature::Object& FMatureJsonObject::Object() const {
- return ObjectPtr->Object;
- }
- inline mature::Allocator& FMatureJsonObject::GetAllocator() {
- return ObjectPtr->Document->GetAllocator();
- }
- inline mature::Allocator& FMatureJsonObject::GetAllocator()const {
- return ObjectPtr->Document->GetAllocator();
- }
- FMatureJsonObjectIterator::FMatureJsonObjectIterator()
- : ObjectPtr(nullptr), Iterator()
- {
- }
- FMatureJsonObjectIterator::FMatureJsonObjectIterator(const FMatureJsonObject& Value)
- : ObjectPtr(Value.ObjectPtr), Iterator(ObjectPtr->Begin())
- {
- }
- FMatureJsonObjectIterator& FMatureJsonObjectIterator::Begin() {
- if (nullptr != ObjectPtr)
- Iterator = ObjectPtr->Begin();
- return *this;
- }
- FMatureJsonObjectIterator& FMatureJsonObjectIterator::End() {
- if (nullptr != ObjectPtr)
- Iterator = ObjectPtr->End();
- return *this;
- }
- bool FMatureJsonObjectIterator::IsValid()const {
- if (nullptr == ObjectPtr)return false;
- if (Iterator == ObjectPtr->End())return false;
- return ObjectPtr->Begin() <= Iterator;
- }
- void FMatureJsonObjectIterator::Next(int step) {
- Iterator = Iterator + step;
- }
- FString FMatureJsonObjectIterator::Key() {
- return Iterator->name.GetString();
- }
- FMatureJsonValue FMatureJsonObjectIterator::Value() {
- return FMatureJsonValue(ObjectPtr->Document, Iterator->value);
- }
- FString FMatureJsonObjectIterator::Key() const {
- return Iterator->name.GetString();
- }
- FMatureJsonValue FMatureJsonObjectIterator::Value() const {
- return FMatureJsonValue(ObjectPtr->Document, Iterator->value);
- }
- FMatureJsonObjectIterator& FMatureJsonObjectIterator::operator++() {
- Iterator++;
- return *this;
- }
- FMatureJsonObjectIterator& FMatureJsonObjectIterator::operator--() {
- Iterator--;
- return *this;
- }
- FMatureJsonObjectIterator& FMatureJsonObjectIterator::operator++(int) {
- ++Iterator;
- return *this;
- }
- FMatureJsonObjectIterator& FMatureJsonObjectIterator::operator--(int) {
- --Iterator;
- return *this;
- }
- FMatureJsonObjectIterator& FMatureJsonObjectIterator::operator=(const FMatureJsonObject& Value) {
- ObjectPtr = Value.ObjectPtr;
- Iterator = ObjectPtr->Begin();
- return *this;
- }
- FMatureJsonObjectIterator& FMatureJsonObjectIterator::operator=(const FMatureJsonObjectIterator& Value) {
- ObjectPtr = Value.ObjectPtr;
- Iterator = Value.Iterator;
- return *this;
- }
|