BoostAssertionHandler.cpp
Go to the documentation of this file.
1/*
2* This file is part of ArmarX.
3*
4* Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5*
6* ArmarX is free software; you can redistribute it and/or modify
7* it under the terms of the GNU General Public License version 2 as
8* published by the Free Software Foundation.
9*
10* ArmarX is distributed in the hope that it will be useful, but
11* WITHOUT ANY WARRANTY; without even the implied warranty of
12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13* GNU General Public License for more details.
14*
15* You should have received a copy of the GNU General Public License
16* along with this program. If not, see <http://www.gnu.org/licenses/>.
17*
18* @package ArmarXCore::core
19* @author Jan Issac (jan dot issac at gmx dot de)
20* @author Kai Welke (welke at kit dot edu)
21* @date 2011
22* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
23* GNU General Public License
24*/
25
27
29{
30 BoostAssertException::BoostAssertException(const std::string& reason) :
31 _what{"A boost exception was raised: " + reason}
32 {
33 }
34
35 const char*
37 {
38 return _what.c_str();
39 }
40} // namespace armarx::exceptions::local
41
42#include <sstream>
43
44namespace boost
45{
46 void
47 assertion_failed(char const* expr, char const* function, char const* file, long line)
48 {
49 std::stringstream str;
50 str << "At " << file << ":" << line << " in function " << function
51 << " the following expression evaluted to false: " << expr;
53 }
54
55 void
56 assertion_failed_msg(char const* expr,
57 char const* msg,
58 char const* function,
59 char const* file,
60 long line)
61 {
62 std::stringstream str;
63 str << "At " << file << ":" << line << " in function " << function
64 << " the following expression evaluted to false:" << expr << "\n"
65 << msg;
67 }
68} // namespace boost
std::string str(const T &t)
void assertion_failed_msg(char const *expr, char const *msg, char const *function, char const *file, long line)
void assertion_failed(char const *expr, char const *function, char const *file, long line)
const char * what() const noexcept override