9 void convert_num_data(const string&input_vector_file){
10 vector<T>v = load_vector<T>(input_vector_file);
13 cout << std::setprecision(std::numeric_limits<T>::digits10+1) << x << '\n';
16 string replace_all_substrings(string subject, const string& search, const string& replace) {
18 while ((pos = subject.find(search, pos)) != std::string::npos) {
19 subject.replace(pos, search.length(), replace);
20 pos += replace.length();
22 return std::move(subject);
25 void convert_string_data(const string&input_vector_file){
26 vector<string>v = load_vector<string>(input_vector_file);
29 cout << replace_all_substrings(replace_all_substrings(s, "\\", "\\\\"), "\n", "\\n") << '\n';
32 int main(int argc, char*argv[]){
34 string data_type, input_vector_file;
37 << "Usage: "<< argv[0] << " data_type input_vector_file\n"
39 << "Reads binary data from input_vector_file and writes the data to the standard output. data_type can be one of\n"
50 << " * string" << endl;
54 input_vector_file = argv[2];
57 if(data_type == "int8")
58 convert_num_data<signed char>(input_vector_file);
59 else if(data_type == "uint8")
60 convert_num_data<unsigned char>(input_vector_file);
61 else if(data_type == "int16")
62 convert_num_data<signed short>(input_vector_file);
63 else if(data_type == "uint16")
64 convert_num_data<unsigned short>(input_vector_file);
65 else if(data_type == "int32")
66 convert_num_data<signed int>(input_vector_file);
67 else if(data_type == "uint32")
68 convert_num_data<unsigned int>(input_vector_file);
69 else if(data_type == "int64")
70 convert_num_data<signed long long>(input_vector_file);
71 else if(data_type == "uint64")
72 convert_num_data<unsigned long long>(input_vector_file);
73 else if(data_type == "float32")
74 convert_num_data<float>(input_vector_file);
75 else if(data_type == "float64")
76 convert_num_data<double>(input_vector_file);
77 else if(data_type == "string")
78 convert_string_data(input_vector_file);
80 throw runtime_error("Unknown data type \""+data_type+"\"");
81 }catch(exception&err){
82 cerr << "Stopped on exception : "<< err.what() << endl;