Botan 2.13.0 Crypto and TLS for C++11

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

assert.cpp
Go to the documentation of this file.
1 /*
2 * Runtime assertion checking
3 * (C) 2010,2012,2018 Jack Lloyd
4 *
5 * Botan is released under the Simplified BSD License (see license.txt)
6 */
7
8 #include <botan/exceptn.h>
9 #include <sstream>
10
11 namespace Botan {
12
13 void throw_invalid_argument(const char* message,
14 const char* func,
15 const char* file)
16 {
17 std::ostringstream format;
18 format << message << " in " << func << ":" << file;
19 throw Invalid_Argument(format.str());
20 }
21
22 void throw_invalid_state(const char* expr,
23 const char* func,
24 const char* file)
25 {
26 std::ostringstream format;
27 format << "Invalid state: " << expr << " was false in " << func << ":" << file;
28 throw Invalid_State(format.str());
29 }
30
31 void assertion_failure(const char* expr_str,
32 const char* assertion_made,
33 const char* func,
34 const char* file,
35 int line)
36 {
37 std::ostringstream format;
38
39 format << "False assertion ";
40
41 if(assertion_made && assertion_made[0] != 0)
42 format << "'" << assertion_made << "' (expression " << expr_str << ") ";
43 else
44 format << expr_str << " ";
45
46 if(func)
47 format << "in " << func << " ";
48
49 format << "@" << file << ":" << line;
50
51 throw Internal_Error(format.str());
52 }
53
54 }
Botan::Invalid_Argument
Definition: exceptn.h:136
Botan::Internal_Error
Definition: exceptn.h:341
Botan::throw_invalid_argument
void throw_invalid_argument(const char *message, const char *func, const char *file)
Definition: assert.cpp:13
Botan
Definition: alg_id.cpp:13
Botan::Invalid_State
Definition: exceptn.h:215
Botan::assertion_failure
void assertion_failure(const char *expr_str, const char *assertion_made, const char *func, const char *file, int line)
Definition: assert.cpp:31
Botan::throw_invalid_state
void throw_invalid_state(const char *expr, const char *func, const char *file)
Definition: assert.cpp:22