};
Archive(std::unique_ptr<MemoryBuffer> Source, std::error_code &EC);
- static ErrorOr<Archive *> create(std::unique_ptr<MemoryBuffer> Source);
+ static ErrorOr<std::unique_ptr<Archive>>
+ create(std::unique_ptr<MemoryBuffer> Source);
enum Kind {
K_GNU,
return createBinary(std::move(*BuffOrErr), Context);
}
-ErrorOr<Archive *> Archive::create(std::unique_ptr<MemoryBuffer> Source) {
+ErrorOr<std::unique_ptr<Archive>>
+Archive::create(std::unique_ptr<MemoryBuffer> Source) {
std::error_code EC;
std::unique_ptr<Archive> Ret(new Archive(std::move(Source), EC));
if (EC)
return EC;
- return Ret.release();
+ return std::move(Ret);
}
Archive::Archive(std::unique_ptr<MemoryBuffer> Source, std::error_code &ec)
std::string ObjectName = Parent->getFileName().str();
std::unique_ptr<MemoryBuffer> ObjBuffer(
MemoryBuffer::getMemBuffer(ObjectData, ObjectName, false));
- ErrorOr<Archive *> Obj = Archive::create(std::move(ObjBuffer));
+ ErrorOr<std::unique_ptr<Archive>> Obj =
+ Archive::create(std::move(ObjBuffer));
if (std::error_code EC = Obj.getError())
return EC;
- Result.reset(Obj.get());
+ Result = std::move(Obj.get());
return object_error::success;
}
return object_error::parse_failed;