This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++17 status.
2724. The protected virtual member functions ofmemory_resource
should be private
Section: 20.5.2 [mem.res.class] Status: C++17 Submitter: Ville Voutilainen Opened: 2016-06-04 Last modified: 2017-07-30
Priority: 4
View all other issues in [mem.res.class].
View all issues with C++17 status.
Discussion:
memory_resource
doesn't define any behavior, it's just an interface. Furthermore, we don't say whether the functions at [memory.resource.prot] should or should not be defined by implementations. Presumably they should not. Those functions are not designed to be called by derived classes, and thus should not be protected.
[2016-06 Oulu]
Looks fine, check with Pablo to make sure that was his intent.
Pablo replied that this was correct.
Friday: status to Immediate
Proposed resolution:
This wording is relative to N4582.
Modify [memory.resource.class] as indicated:
class memory_resource { […] protectedprivate: virtual void* do_allocate(size_t bytes, size_t alignment) = 0; virtual void do_deallocate(void* p, size_t bytes, size_t alignment) = 0; virtual bool do_is_equal(const memory_resource& other) const noexcept = 0; };
Modify [memory.resource.prot] as indicated:
[Drafting note: I don't know whether it's too late to change the section mnemonic [memory.resource.prot] to e.g. [memory.resource.priv] or perhaps [memory.resource.virt].]
memory_resource
protected private virtual member functions [memory.resource.prot]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4