OSDN Git Service
(root)
/
ultramonkey-l7
/
ultramonkey-l7-v2.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Fixed chkconfig option
[ultramonkey-l7/ultramonkey-l7-v2.git]
/
logger
/
lexical_cast.h
1
#ifndef __LEXICAL_CAST_H__
2
#define __LEXICAL_CAST_H__
3
4
#include <string>
5
#include <sstream>
6
7
namespace l7vs
8
{
9
class bad_lexical_cast : public std::bad_cast
10
{
11
public:
12
bad_lexical_cast() {}
13
};
14
15
template <typename T>
16
T lexical_cast(const std::string& s)
17
{
18
std::stringstream ss;
19
T d;
20
ss << s.c_str();
21
while( !ss.eof() ){
22
ss >> d;
23
if(ss.fail()) {
24
throw bad_lexical_cast();
25
}
26
}
27
return d;
28
}
29
}
30
31
#endif //__LEXICAL_CAST_H__