ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/utils/StringTokenizer.cpp
(Generate patch)

Comparing trunk/src/utils/StringTokenizer.cpp (file contents):
Revision 1782 by gezelter, Wed Aug 22 02:28:28 2012 UTC vs.
Revision 2045 by gezelter, Fri Nov 28 20:10:17 2014 UTC

# Line 35 | Line 35
35   *                                                                      
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38 < * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
38 > * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).          
39   * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40   * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
# Line 52 | Line 52 | namespace OpenMD {
52      : tokenString_(str), delim_(delim), returnTokens_(false),
53        currentPos_(tokenString_.begin()), end_(tokenString_.end()){
54  
55 <    }
55 >  }
56  
57    StringTokenizer::StringTokenizer(std::string::const_iterator& first, std::string::const_iterator& last,
58                                     const std::string & delim)  
59      : tokenString_(first, last) , delim_(delim), returnTokens_(false),
60        currentPos_(tokenString_.begin()), end_(tokenString_.end()) {
61  
62 <    }
62 >  }
63  
64    StringTokenizer::StringTokenizer(const std::string&str, const std::string&delim,
65                                     bool returnTokens)
66      : tokenString_(str), delim_(delim), returnTokens_(returnTokens),
67        currentPos_(tokenString_.begin()), end_(tokenString_.end()) {
68  
69 <    }
69 >  }
70  
71    bool StringTokenizer::isDelimiter(const char c) {
72      return delim_.find(c) == std::string::npos ? false : true;
# Line 114 | Line 114 | namespace OpenMD {
114      } else {
115        std::string::const_iterator i = currentPos_;
116  
117 <      //walk through the remaining string to check whether it contains non-delimeter or not
117 >      //walk through the remaining string to check whether it contains
118 >      //non-delimeter or not
119        while(i != end_ && isDelimiter(*i)) {
120          ++i;
121        }
# Line 206 | Line 207 | namespace OpenMD {
207      return result;    
208    }
209  
210 < std::vector<std::string>  StringTokenizer::getAllTokens() {
210 >  std::vector<std::string>  StringTokenizer::getAllTokens() {
211      std::vector<std::string> tokens;
212      while (hasMoreTokens()) {
213 <        tokens.push_back(nextToken());
213 >      tokens.push_back(nextToken());
214      }
215      return tokens;
216 < }
216 >  }
217    void StringTokenizer::convertFortranNumber(std::string& fortranNumber) {
218      std::string::iterator i;
219      for(i = fortranNumber.begin(); i != fortranNumber.end(); ++i) {
# Line 222 | Line 223 | namespace OpenMD {
223      }
224    }
225  
226 +  std::string  StringTokenizer::getRemainingString() {
227 +    std::string result;
228 +    std::string::const_iterator tmpIter = currentPos_;
229 +    if(tmpIter != end_) {
230 +      std::insert_iterator<std::string> insertIter(result, result.begin());
231 +      
232 +      while (tmpIter != end_) {
233 +        *insertIter++ = *tmpIter++;
234 +      }
235 +    }
236 +    
237 +    return result;
238 +  }
239 +
240 +  
241   }//end namespace OpenMD
242  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines