refactor: rename shallow_copy -> shallow_move + streamline
Use RCollector.std_copy_for where appropriate
This commit is contained in:
parent
5950a45483
commit
4dc6739167
2 changed files with 6 additions and 0 deletions
|
|
@ -42,6 +42,11 @@ public:
|
||||||
/** @defgroup scm-numeric-methods **/
|
/** @defgroup scm-numeric-methods **/
|
||||||
///@{
|
///@{
|
||||||
// const methods
|
// const methods
|
||||||
|
/** An uninitialized ANumeric instance will have zero vtable pointer (per {linux,osx} abi).
|
||||||
|
* Use case for this is narrow. We go to some lengths to avoid null vtable pointers. For example
|
||||||
|
* obj<AFacet> will have non-null vtable (via IFacet_Any) with all methods terminating.
|
||||||
|
**/
|
||||||
|
bool _has_null_vptr() const noexcept { return *reinterpret_cast<const void * const *>(this) == nullptr; }
|
||||||
/** RTTI: unique id# for actual runtime data representation **/
|
/** RTTI: unique id# for actual runtime data representation **/
|
||||||
virtual typeseq _typeseq() const noexcept = 0;
|
virtual typeseq _typeseq() const noexcept = 0;
|
||||||
/** destroy instance @p d; calls c++ dtor only for actual runtime type; does not recover memory **/
|
/** destroy instance @p d; calls c++ dtor only for actual runtime type; does not recover memory **/
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ public:
|
||||||
///@{
|
///@{
|
||||||
|
|
||||||
// explicit injected content
|
// explicit injected content
|
||||||
|
static obj<ANumeric> multiply(obj<ANumeric> lhs, obj<ANumeric> rhs);
|
||||||
|
|
||||||
// builtin methods
|
// builtin methods
|
||||||
typeseq _typeseq() const noexcept { return O::iface()->_typeseq(); }
|
typeseq _typeseq() const noexcept { return O::iface()->_typeseq(); }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue