Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights 1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 2 // See the file tools.license for terms. 3 3 4 #ifndef tools_b2s 4 #ifndef tools_b2s 5 #define tools_b2s 5 #define tools_b2s 6 6 7 #include <string> 7 #include <string> 8 8 9 namespace tools { 9 namespace tools { 10 10 11 inline void b2s(bool a_value,std::string& a_s) 11 inline void b2s(bool a_value,std::string& a_s){ 12 a_s = a_value?"true":"false"; 12 a_s = a_value?"true":"false"; 13 } 13 } 14 14 15 inline void bas(bool a_value,std::string& a_s) 15 inline void bas(bool a_value,std::string& a_s){ 16 a_s += (a_value?"true":"false"); 16 a_s += (a_value?"true":"false"); 17 } 17 } 18 18 19 } 19 } 20 20 21 #include <vector> 21 #include <vector> 22 22 23 namespace tools { 23 namespace tools { 24 24 25 inline void b2s(const std::vector<bool>& a_val 25 inline void b2s(const std::vector<bool>& a_vals,std::string& a_s,const std::string& a_sep = "\n",bool a_sep_at_end = false) { 26 a_s.clear(); 26 a_s.clear(); 27 size_t number = a_vals.size(); 27 size_t number = a_vals.size(); 28 if(number<=0) return; 28 if(number<=0) return; 29 number--; 29 number--; 30 std::string stmp; 30 std::string stmp; 31 for(size_t index=0;index<number;index++) { 31 for(size_t index=0;index<number;index++) { 32 b2s(a_vals[index],stmp); 32 b2s(a_vals[index],stmp); 33 a_s += stmp; 33 a_s += stmp; 34 a_s += a_sep; 34 a_s += a_sep; 35 } 35 } 36 b2s(a_vals[number],stmp); 36 b2s(a_vals[number],stmp); 37 a_s += stmp; 37 a_s += stmp; 38 if(a_sep_at_end) a_s += a_sep; 38 if(a_sep_at_end) a_s += a_sep; 39 } 39 } 40 40 41 } 41 } 42 42 43 #endif 43 #endif