{ return do_is_equal(__other); }
// 8.5.3, memory.resource.priv
-protected:
+private:
virtual void* do_allocate(size_t, size_t) = 0;
virtual void do_deallocate(void*, size_t, size_t) = 0;
virtual bool do_is_equal(memory_resource const &) const _NOEXCEPT = 0;
{ return __alloc_; }
// 8.7.3, memory.resource.adaptor.mem
-protected:
+private:
virtual void * do_allocate(size_t __bytes, size_t)
{
if (__bytes > __max_size()) {
return __p ? __alloc_ == __p->__alloc_ : false;
}
-private:
_LIBCPP_INLINE_VISIBILITY
size_t __max_size() const _NOEXCEPT {
return numeric_limits<size_t>::max() - _MaxAlign;
// <experimental/memory_resource>
-// memory_resource::do_allocate(size_t, size_t); /* protected */
-// memory_resource::do_deallocate(void*, size_t, size_t); /* protected */
-// memory_resource::do_is_equal(memory_resource const&); /* protected */
+// memory_resource::do_allocate(size_t, size_t); /* private */
+// memory_resource::do_deallocate(void*, size_t, size_t); /* private */
+// memory_resource::do_is_equal(memory_resource const&); /* private */
#include <experimental/memory_resource>
int main(int, char**) {
ex::memory_resource *m = ex::new_delete_resource();
- m->do_allocate(0, 0); // expected-error{{'do_allocate' is a protected member}}
- m->do_deallocate(nullptr, 0, 0); // expected-error{{'do_deallocate' is a protected member}}
- m->do_is_equal(*m); // expected-error{{'do_is_equal' is a protected member}}
+ m->do_allocate(0, 0); // expected-error{{'do_allocate' is a private member}}
+ m->do_deallocate(nullptr, 0, 0); // expected-error{{'do_deallocate' is a private member}}
+ m->do_is_equal(*m); // expected-error{{'do_is_equal' is a private member}}
return 0;
}