Überprüfen Sie NOExceptness beim Anwenden der Funktion auf ein PaketC++

Programme in C++. Entwicklerforum
Anonymous
 Überprüfen Sie NOExceptness beim Anwenden der Funktion auf ein Paket

Post by Anonymous »

Ich habe die folgende C ++ 26-Funktion, die einen Code für jedes Feld einer Struktur ausführt: < /p>

Code: Select all

template 
constexpr auto for_each_field(S&& s, F&& f)
{
auto&& [... elts] = static_cast(s);
((static_cast(f)(std::forward_like(elts))), ...);
}
< /code>
Ich möchte noexcept bedingt aktivieren, basierend darauf, ob f selbst eine Ausnahme auswerfen kann. Der "theoretische" Code müsste irgendwie wie < /p>
 aussehentemplate 
constexpr auto for_each_field(S&& s, F&& f) noexcept(noexcept(
auto&& [... elts] = static_cast(s);
((static_cast(f)(std::forward_like(elts))), ...);
))
{
auto&& [... elts] = static_cast(s);
((static_cast(f)(std::forward_like(elts))), ...);
}
Aber das ist natürlich nicht möglich.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post