Changeset 2879
- Timestamp:
- Nov 16, 2012, 2:47:56 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/split.cc
r2370 r2879 2 2 3 3 /* 4 Copyright (C) 2010 Peter Johansson4 Copyright (C) 2010, 2012 Peter Johansson 5 5 6 6 This file is part of the yat library, http://dev.thep.lu.se/yat … … 29 29 using namespace theplu::yat; 30 30 31 template<typename T> 31 32 void test_split(const std::vector<std::string>& correct, const std::string& str, 32 chardelim, test::Suite& suite);33 T delim, test::Suite& suite); 33 34 34 35 int main(int argc, char* argv[]) … … 53 54 test_split(correct, "banan", 'n', suite); 54 55 56 correct[0]="split"; 57 correct[1]="me"; 58 correct[2]="please"; 59 test_split(correct, "split,me;please", ";,", suite); 60 61 55 62 return suite.return_value(); 56 63 } 57 64 65 template<typename T> 58 66 void test_split(const std::vector<std::string>& correct, const std::string& str, 59 chardelim, test::Suite& suite)67 T delim, test::Suite& suite) 60 68 { 61 69 suite.out() << "split(vec, \"" << str << "\", '" << delim << "')\n"; -
trunk/yat/utility/split.cc
r2434 r2879 2 2 3 3 /* 4 Copyright (C) 2010 Peter Johansson4 Copyright (C) 2010, 2012 Peter Johansson 5 5 6 6 This file is part of the yat library, http://dev.thep.lu.se/yat … … 29 29 namespace utility { 30 30 31 void split(std::vector<std::string>& vec, const std::string& str, char delim) 31 namespace detail { 32 33 /* 34 implementation of split functions is declared in private namespace 35 and only available in this file. 36 */ 37 template<typename T> 38 void split(std::vector<std::string>& vec, const std::string& str, T delim) 32 39 { 33 40 size_t pos=0; … … 40 47 } 41 48 } 49 } // end of namespace detail 50 51 52 void split(std::vector<std::string>& vec, const std::string& str, char delim) 53 { 54 detail::split(vec, str, delim); 55 } 56 57 58 void split(std::vector<std::string>& vec, const std::string& str, 59 const std::string& delim) 60 { 61 detail::split(vec, str, delim); 62 } 42 63 43 64 }}} // of namespace utility, yat, and theplu -
trunk/yat/utility/split.h
r2434 r2879 1 1 #ifndef _theplu_yat_utility_split_ 2 #define _theplu_yat_utility_split_ 2 #define _theplu_yat_utility_split_ 3 3 4 4 // $Id$ 5 5 6 6 /* 7 Copyright (C) 2010 Peter Johansson7 Copyright (C) 2010, 2012 Peter Johansson 8 8 9 9 This file is part of the yat library, http://dev.thep.lu.se/yat … … 41 41 \since New in yat 0.7 42 42 */ 43 void split(std::vector<std::string>& result, const std::string& str, 43 void split(std::vector<std::string>& result, const std::string& str, 44 44 char delim); 45 46 /** 47 \brief split a string into substrings 48 49 Same as 50 void split(std::vector<std::string>&, const std::string&,char delim); 51 but split if character matches any in delims, i.e., 52 split(vec,"split,me;please", ",;") will be split into "split", 53 "me", and "please". 54 55 \since New in yat 0.10 56 */ 57 void split(std::vector<std::string>& result, const std::string& str, 58 const std::string& delim); 45 59 46 60 }}} // of namespace utility, yat, and theplu
Note: See TracChangeset
for help on using the changeset viewer.