Halide 20.0.0
Halide compiler and libraries
|
#include <Error.h>
Public Types | |
using | Base = ReportBase< ErrorReport > |
Public Member Functions | |
ErrorReport (const char *file, const char *function, int line, const char *condition_string) | |
~ErrorReport () noexcept(false) | |
When you're done using << on the object, and let it fall out of scope, this errors out, or throws an exception if they are enabled. | |
![]() | |
ReportBase (const char *file, const char *function, int line, const char *condition_string, const char *prefix) | |
HALIDE_ALWAYS_INLINE ErrorReport< Exception > & | ref () |
HALIDE_ALWAYS_INLINE ErrorReport< Exception > & | operator<< (const S &x) |
Additional Inherited Members | |
![]() | |
std::ostringstream | msg |
![]() | |
std::string | finalize_message () |
using Halide::Internal::ErrorReport< Exception >::Base = ReportBase<ErrorReport> |
|
inline |
When you're done using << on the object, and let it fall out of scope, this errors out, or throws an exception if they are enabled.
This is a little dangerous because the destructor will also be called if there's an exception in flight due to an error in one of the arguments passed to operator<<. We handle this by only actually throwing if there isn't an exception in flight already.
Definition at line 174 of file Error.h.
References Halide::Internal::throw_error().