indirect_value
indirect_value copied to clipboard
An indirect value-type for C++
I can see that `unique_ptr` can be replaced by `indirect_value`. But what about `shared_ptr` ? `shared_ptr` deserves to keep const-ness 😃 I tried `propagate_const` few years ago and const-ness worked...
Work in progress, does not compile.
See https://github.com/carbon-language/carbon-lang/blob/trunk/common/indirect_value.h
See: https://sourceware.org/gdb/onlinedocs/gdb/Pretty-Printing.html
[p1636r2](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1636r2.pdf) proposed formatter for numerous types missing in the STL. If this is accepted, then future types added to the STL should also provide this customisations.
See: https://stackoverflow.com/questions/58339165/why-can-a-t-be-passed-in-register-but-a-unique-ptrt-cannot for more context.
To keep the reference implementation simple we should not attempt to support using SFINAE to enable default construction based on the copier type. Static asserts should be provided to make...
Some references on fast pimpl: http://www.gotw.ca/gotw/028.htm https://www.bfilipek.com/2018/01/pimpl.html https://github.com/oliora/samples/blob/master/spimpl.h In a post-C++ 11 world, this will need to handle meeting the alignment requirements of over-aligned type when alignment information is not...