ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/utils/StringUtils.hpp
(Generate patch)

Comparing trunk/OOPSE-4/src/utils/StringUtils.hpp (file contents):
Revision 1945 by tim, Fri Jan 14 16:49:46 2005 UTC vs.
Revision 2544 by tim, Wed Jan 11 19:01:20 2006 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 55 | Line 55 | namespace oopse {
55  
56   namespace oopse {
57  
58
58    /**
59     * Converts a string to UPPER CASE
60     * @param S
# Line 110 | Line 109 | namespace oopse {
109     * @param v data to be converted
110     * @return a string
111     */
112 <    template<typename T>
113 <    std::string toString(const T& v) {
114 <        std::ostringstream oss;        
115 <        oss << v;
116 <        return oss.str();
112 >  template<typename T>
113 >  std::string toString(const T& v) {
114 >    std::ostringstream oss;        
115 >    if (!oss << v) {
116 >      std::cerr << "toString Error" << std::endl;
117      }
118 +    return oss.str();
119 +  }
120 +  
121 +  template<typename T>
122 +  T lexi_cast(const std::string& str) {
123 +    T result;
124 +    std::istringstream iss(str);        
125 +    if (!(iss >> result)) {
126 +      std::cerr << "lexi_cast Error" << std::endl;
127 +    }
128 +    return result;
129 +  }
130  
120    /**@todo need implementation */
121    std::string getPrefix(const std::string& str);
131  
132 <    /**@todo need implementation */
133 <    std::string getSuffix(const std::string& str);
134 <    
135 < }
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 +  
147 +  /**@todo need implementation */
148 +  std::string getPrefix(const std::string& str);
149 +  
150 +  /**@todo need implementation */
151 +  std::string getSuffix(const std::string& str);
152 +  
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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines