We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Eric Niebler on twitter seems to have found an alternative to std::declval that compiles at least twice as fast under clang 17.
std::declval
template ‹class T> using identity_t = T; template ‹class, class = void> extern identity_t<void (*)() noexcept> declval; template <class T> extern identity_t<T && (*)() noexcept> declval<T, void_t<T &&>>;
As well as another implementation which is said to compile up to three time faster but cannot handle some function types:
template <class T> using identity_t = T; template <class T> extern identity_t<T&& (*)() noexcept> declval; template <> constexpr identity_t<void (*)() noexcept> declval<void>; template <> constexpr identity_t<void (*)() noexcept> declval<void const>; template <> constexpr identity_t<void (*)() noexcept> declval<void volatile>; template <> constexpr identity_t<void (*)() noexcept> declval<void const volatile>;
This might be something we want to look into.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Eric Niebler on twitter seems to have found an alternative to
std::declval
that compiles at least twice as fast under clang 17.As well as another implementation which is said to compile up to three time faster but cannot handle some function types:
This might be something we want to look into.
The text was updated successfully, but these errors were encountered: