GDriveFolder::createDocument()
is slightly inefficient. A GDriveDocument
object is created and given to a shared_ptr<Document>
(i.e. an upcast to the base pointer type) and then dynamic_pointer_cast
is used to downcast to another shared_ptr
.
If the object is just stored in the right type in the first place then there is no need for an expensive dynamic_cast
and an additional reference-count increment inside the shared_ptr
.
Patch in master. Thanks for the fix.