YARP
Yet Another Robot Platform
utility.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef YARP_MANAGER_UTILITY
7 #define YARP_MANAGER_UTILITY
8 
9 #include <algorithm>
10 #include <cctype>
11 #include <string>
12 #include <vector>
13 #include <cstring>
14 #include <iostream>
15 #include <sstream>
16 
17 #include <yarp/manager/ymm-types.h>
18 
19 namespace yarp {
20 namespace manager {
21 
22 
23 class StrStream
24 {
25 public:
27  StrStream(const std::string str);
29  std::string str();
31  StrStream& operator<<(const std::string &str);
32  StrStream& operator<<(int n);
33  StrStream& operator<<(double n);
34  StrStream& operator = (const char* sz);
35  StrStream& operator = (char* sz);
36  StrStream& operator = (const std::string &str);
38  StrStream& operator = (int n);
39  friend std::ostream& operator << (std::ostream &os , StrStream& sstr);
40 
41 private:
42  std::string dummyStr;
43 };
44 
45 
46 #if defined(_MSC_VER) && (_MSC_VER == 1600)
47  typedef StrStream OSTRINGSTREAM;
48 #else
49  typedef std::stringstream OSTRINGSTREAM;
50 #endif
51 
52 
57 {
58 public:
59  static ErrorLogger* Instance();
60 
61  void addWarning(const char* szWarning);
62  void addWarning(const std::string &str);
63  void addWarning(OSTRINGSTREAM &stream);
64  void addError(const char* szError);
65  void addError(const std::string &str);
66  void addError(OSTRINGSTREAM &stream);
67  const char* getLastError();
68  const char* getLastWarning();
69  const char* getFormatedErrorString();
70  const char* getFormatedWarningString();
71  void clear();
72  int errorCount();
73  int warningCount();
74 
75 private:
76  ErrorLogger(){}
77  ErrorLogger(ErrorLogger const&){}
78  std::vector<std::string> errors;
79  std::vector<std::string> warnings;
80 };
81 
82 
83 bool compareString(const char* szFirst, const char* szSecond);
84 void trimString(std::string& str);
85 OS strToOS(const char* szOS);
86 
87 class Graph;
88 bool exportDotGraph(Graph& graph, const char* szFileName);
89 
90 } // namespace yarp
91 } // namespace manager
92 
93 
94 #endif // __YARP_MANAGER_UTILITY__
Singleton class ErrorLogger.
Definition: utility.h:57
const char * getLastError()
Definition: utility.cpp:132
const char * getFormatedErrorString()
Definition: utility.cpp:142
void addError(const char *szError)
Definition: utility.cpp:118
void addWarning(const char *szWarning)
Definition: utility.cpp:104
static ErrorLogger * Instance()
Singleton class ErrorLogger.
Definition: utility.cpp:98
const char * getLastWarning()
Definition: utility.cpp:151
const char * getFormatedWarningString()
Definition: utility.cpp:161
Class Graph.
Definition: graph.h:28
StrStream & operator<<(StrStream &oss)
Definition: utility.cpp:33
std::string str()
Definition: utility.cpp:29
StrStream & operator=(const char *sz)
Definition: utility.cpp:58
bool compareString(const char *szFirst, const char *szSecond)
Definition: utility.cpp:310
void trimString(std::string &str)
Definition: utility.cpp:331
std::stringstream OSTRINGSTREAM
Definition: utility.h:49
OS strToOS(const char *szOS)
Definition: utility.cpp:292
bool exportDotGraph(Graph &graph, const char *szFileName)
Definition: utility.cpp:347
enum yarp::manager::__OS OS
The main, catch-all namespace for YARP.
Definition: dirs.h:16