28#define _RWSTD_TEST_SRC
45_rw_format (
char** pbuf,
size_t* pbufsize,
const char* file,
int line,
46 const char* function,
const char* fmt, va_list va);
59 struct ExceptionString;
72 void format (
const char* file,
int line,
const char* function,
73 const char* fmt, va_list va);
75 const char*
what ()
const;
79 struct ExceptionString
90 void addref () { ++refs_; }
103 ExceptionString (
const ExceptionString&);
104 ExceptionString& operator= (
const ExceptionString&);
146 const char* function,
const char* fmt, va_list va)
154 _rw_format (&tmpbuf, &bufsize, file,
line, function, fmt, va);
184void ExceptionBase::free_ ()
211 return (
msg &&
msg[0]) ?
msg : std::bad_alloc::what ();
237_rw_format (
char** pbuf,
size_t* pbufsize,
const char* file,
int line,
238 const char* function,
const char* fmt, va_list va)
240 const int nchars1 = function ?
242 file,
line, function) :
251 const int nchars2 =
rw_vasnprintf (&tmpbuf, &tmpsize, fmt, va);
258 const int nchars3 =
rw_asnprintf (pbuf, pbufsize,
"%{+}%s", tmpbuf);
262 return 0 > nchars3 ? nchars1 : nchars1 + nchars3;
267 const char *function,
const char *fmt, ...)
273 base.format (file,
line, function, fmt, va);
#define va_start(va, name)
#define _RWSTD_STATIC_CAST(T, x)
_TEST_EXPORT int rw_asnprintf(char **pbuf, _RWSTD_SIZE_T *pbufsize, const char *fmt,...)
BadAlloc(const ExceptionBase &ex)
const char * what() const _THROWS(())
void format(const char *file, int line, const char *function, const char *fmt, va_list va)
const char * what() const
ExceptionBase & operator=(const ExceptionBase &)
ExceptionString * ex_str_
const char * what() const
StreamException(const ExceptionBase &ex)
_TEST_EXPORT void rw_throw(ExceptionId exid, const char *file, int line, const char *function, const char *fmt,...)
_TEST_EXPORT int rw_vasnprintf(char **, size_t *, const char *, va_list)