• Philipp A. Hartmann's avatar
    GenericValue: add copy constructor and CopyFrom · 8bde3be1
    Philipp A. Hartmann authored
    To allow deep copying from an existing GenericValue, an
    explicit "copy constructor" (with required Allocator param)
    and an "CopyFrom" assignment function are added.
    
      Document d; Document::AllocatorType& a = d.GetAllocator();
      Value v1("foo");
      // Value v2(v1); // not allowed
    
      Value v2(v1,a);                             // make a copy
      RAPIDJSON_ASSERT(v1.IsString());            // v1 untouched
      d.SetArray().PushBack(v1,a).PushBack(v2,a);
      RAPIDJSON_ASSERT(v1.Empty() && v2.Empty());
    
      v2.CopyFrom(d,a);                           // copy whole document
      RAPIDJSON_ASSERT(d.IsArray() && d.Size());  // d untouched
      v1.SetObject().AddMember( "array", v2, a );
      d.PushBack(v1,a);
    
    Additionally, the Handler implementation in GenericDocument is made
    private again, restricting access to GenericReader and GenericValue.
    8bde3be1
Name
Last commit
Last update
bin Loading commit data...
build Loading commit data...
example Loading commit data...
include/rapidjson Loading commit data...
test Loading commit data...
thirdparty Loading commit data...
.gitignore Loading commit data...
license.txt Loading commit data...
readme.txt Loading commit data...