xo-alloc / xo-refcnt: feature flags for easy tests.
This commit is contained in:
parent
de3b27629d
commit
cfca87ee44
2 changed files with 10 additions and 0 deletions
|
|
@ -39,6 +39,11 @@ namespace xo {
|
|||
template <typename S>
|
||||
gc_ptr(const gc_ptr<S> & x) : ptr_{x.ptr()} {}
|
||||
|
||||
/** convenience for static asserts **/
|
||||
static constexpr bool is_gc_ptr = true;
|
||||
/** see also: xo/refcnt/Refcounted.hpp **/
|
||||
static constexpr bool is_rc_ptr = false;
|
||||
|
||||
static bool is_eq(gc_ptr x1, gc_ptr x2) {
|
||||
std::uintptr_t u1 = reinterpret_cast<std::uintptr_t>(x1.ptr());
|
||||
std::uintptr_t u2 = reinterpret_cast<std::uintptr_t>(x2.ptr());
|
||||
|
|
|
|||
|
|
@ -80,6 +80,11 @@ namespace xo {
|
|||
x.ptr_ = nullptr;
|
||||
}
|
||||
|
||||
/** convenience tests for static_assert() **/
|
||||
static constexpr bool is_rc_ptr = true;
|
||||
/** see also: xo/alloc/Object.hpp **/
|
||||
static constexpr bool is_gc_ptr = false;
|
||||
|
||||
/* aliasing ctor. see ctor (8) here:
|
||||
* [[https://en.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr]]
|
||||
* and this dicsussion:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue