DataVectorWithAlloc< DV, ALLOC >::ContainerUniquePtr Node1 DataVectorWithAlloc < DV, ALLOC >::ContainerUniquePtr + operator std::unique _ptr< const DV >() Node2 std::unique_ptr< DataVector WithAlloc > + operator->() Node2->Node1 Node3 T Node3->Node2 +ptr