-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backport of no_unique_address #7
Comments
Both libc++ and libstdc++ implement EBO for empty types in a tuple. One way to accomplish this is to use tuple and write private const and non-const getters to return references to the various members. Just a thought... |
Unfortunately, not all of the things we would want to use |
Also, this strategy doesn't work transitively, since some of the uses of
|
@dhollman yes and yes. |
Done and merged (#19). There is still a bug with some things not being recognized as empty by some implementations, but I'll open a separate issue for this. |
Right now, on non-C++20 compilers,
mdspan
and other parts of the implementation are space inefficient because the[[no_unique_address]]
(written as_MDSPAN_NO_UNIQUE_ADDRESS
) does nothing. We need to find a way to backport to the EBO version ofno_unique_address
without introducing overhead on the newer compilers (and without going crazy with bifurcating the implementation using#ifdef
s).The text was updated successfully, but these errors were encountered: