These are chat archives for symengine/symengine
RCPis a similar to
UniquePtris similar to
std::unique_ptr. Both has its uses
shared_ptrimplementations have some form of external storage?
In a typical implementation, std::shared_ptr holds only two pointers:
the stored pointer (one returned by get());
a pointer to control block.
The control block is a dynamically-allocated object that holds:
either a pointer to the managed object or the managed object itself;
the deleter (type-erased);
the allocator (type-erased);
the number of shared_ptrs that own the managed object;
the number of weak_ptrs that refer to the managed object.
shared_ptrrather sparingly, possibly only in multithreaded scenarios
b = x*a+awhere
Addwith lots of terms, then shared_ptrs avoid copying
shared_ptris going to be a problem when you start doing parallel stuff
WITH_SYMENGINE_RCPthough. And on what I should do next, since I can clearly get the FFI to work :)