| 127 |  | } | 
| 128 |  | return result; | 
| 129 |  | } | 
| 130 | + |  | 
| 131 | + |  | 
| 132 | + | template<typename T> | 
| 133 | + | bool isType(const std::string& str) { | 
| 134 | + | T result; | 
| 135 | + | std::istringstream iss(str); | 
| 136 | + | bool ret = true; | 
| 137 | + | if (!(iss >> result)) { | 
| 138 | + | ret = false; | 
| 139 | + | } | 
| 140 | + | return ret; | 
| 141 | + | } | 
| 142 | + |  | 
| 143 | + | bool isInteger(const std::string& str); | 
| 144 |  |  | 
| 145 |  | std::string OOPSE_itoa(int value, unsigned int base = 10); | 
| 146 |  |  | 
| 150 |  | /**@todo need implementation */ | 
| 151 |  | std::string getSuffix(const std::string& str); | 
| 152 |  |  | 
| 139 | – |  | 
| 153 |  |  | 
| 154 | + | template<class ContainerType> | 
| 155 | + | std::string containerToString(const ContainerType& cont) { | 
| 156 | + | std::ostringstream oss; | 
| 157 | + | oss << "("; | 
| 158 | + | typename ContainerType::const_iterator i = cont.begin(); | 
| 159 | + | if (i != cont.end()) { | 
| 160 | + | oss << *i; | 
| 161 | + | ++i; | 
| 162 | + | } | 
| 163 | + | for (; i != cont.end();++i) { | 
| 164 | + | oss << ", "; | 
| 165 | + | oss << *i; | 
| 166 | + | } | 
| 167 | + | oss << ")"; | 
| 168 | + | return oss.str(); | 
| 169 | + | } | 
| 170 | + |  | 
| 171 |  |  | 
| 172 |  | } | 
| 173 |  | #endif |