HEBench
error_handling.cpp
Go to the documentation of this file.
1 
2 // Copyright (C) 2021 Intel Corporation
3 // SPDX-License-Identifier: Apache-2.0
4 
5 #include <sstream>
6 
8 
9 namespace hebench {
10 namespace cpp {
11 
12 std::string HEBenchError::generateMessage(const std::string &message,
13  const std::string &function,
14  const std::string &container,
15  const std::string &filename,
16  int line_no)
17 {
18  std::stringstream ss_retval;
19  // prepare message
20  bool bheader = (!filename.empty() || !container.empty() || !function.empty() || line_no >= 0);
21  if (!filename.empty())
22  ss_retval << filename << ":";
23  if (line_no >= 0)
24  ss_retval << line_no << ":";
25  if (!container.empty())
26  {
27  ss_retval << container;
28  if (!function.empty())
29  ss_retval << "::";
30  } // end if
31  if (!function.empty())
32  ss_retval << function << "()";
33  if (!message.empty())
34  {
35  if (bheader)
36  ss_retval << ": ";
37  ss_retval << message;
38  } // end if
39 
40  return ss_retval.str();
41 }
42 
43 } // namespace cpp
44 } // namespace hebench
static std::string generateMessage(const std::string &message, const std::string &function, const std::string &container, const std::string &filename, int line_no)