26#include "tl/expected.hpp"
36 StackTraceEntry(std::string file,
size_t line, std::string pretty_function,
37 std::string function);
39 StackTraceEntry(std::string file,
size_t line, std::string pretty_function,
40 std::string function, std::string expression);
50 message_ << std::forward<T>(message_ext);
55 message_ << std::forward<T>(message_ext);
56 return std::move(*
this);
61 operator tl::expected<T, StackTraceError>() &&;
65 const std::string&
File()
const;
82#define CF_STACK_TRACE_ENTRY(expression) \
83 StackTraceEntry(__FILE__, __LINE__, __PRETTY_FUNCTION__, __func__, expression)
89 const std::vector<StackTraceEntry>&
Stack()
const;
93 std::string
Trace()
const;
98 operator tl::expected<T, StackTraceError>() && {
111inline StackTraceEntry::operator tl::expected<T, StackTraceError>() && {
Definition: error_type.h:34
std::string pretty_function_
Definition: error_type.h:74
size_t Line() const
Definition: error_type.cc:361
const std::string & File() const
Definition: error_type.cc:356
StackTraceEntry & operator=(const StackTraceEntry &other)
Definition: error_type.cc:344
StackTraceEntry operator<<(T &&message_ext) &&
Definition: error_type.h:54
const std::string & Expression() const
Definition: error_type.cc:355
size_t line_
Definition: error_type.h:73
std::stringstream message_
Definition: error_type.h:77
std::string file_
Definition: error_type.h:72
bool HasMessage() const
Definition: error_type.cc:354
StackTraceEntry & operator=(StackTraceEntry &&)=default
StackTraceEntry(std::string file, size_t line, std::string pretty_function, std::string function)
Definition: error_type.cc:319
std::string Message() const
Definition: error_type.cc:362
const std::string & PrettyFunction() const
Definition: error_type.cc:358
std::string expression_
Definition: error_type.h:76
std::string function_
Definition: error_type.h:75
const std::string & Function() const
Definition: error_type.cc:357
StackTraceEntry(StackTraceEntry &&)=default
StackTraceEntry & operator<<(T &&message_ext) &
Definition: error_type.h:49
Definition: error_type.h:85
std::string Message() const
Definition: error_type.cc:377
std::vector< StackTraceEntry > stack_
Definition: error_type.h:103
const std::vector< StackTraceEntry > & Stack() const
Definition: error_type.cc:373
std::string Trace() const
Definition: error_type.cc:381
std::string FormatForEnv(bool color=ShouldColorStdout()) const
Definition: error_type.cc:385
StackTraceError & PushEntry(StackTraceEntry entry) &
Definition: error_type.cc:364
#define color
Definition: dict.c:54
Definition: alloc_driver.h:20
std::string ResultErrorFormat(bool color)
Definition: error_type.cc:389
bool ShouldColorStdout()
Definition: should_color.cc:40
std::ostream & operator<<(std::ostream &out, DeviceType device_type)
Definition: device_type.cpp:72
unexpected(E) -> unexpected< E >