g4tools  5.4.0
argcv
Go to the documentation of this file.
1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
2 // See the file tools.license for terms.
3 
4 #ifndef tools_argcv
5 #define tools_argcv
6 
7 #include <vector>
8 #include <string>
9 #include "cstr"
10 
11 namespace tools {
12 
13 inline void new_argcv(const std::vector<std::string>& a_args,int& a_argc,char**& a_argv){
14  // delete with delete_argcv
15  a_argc = (int)a_args.size();
16  if(a_argc<=0) {
17  a_argc = 0;
18  a_argv = 0;
19  return;
20  }
21  typedef char* cstring;
22  a_argv = new cstring[a_argc];
23  for(int index=0;index<a_argc;index++) {
24  const std::string& arg = a_args[index];
25  a_argv[index] = new char[arg.size()+1];
26  ::strcpy(a_argv[index],arg.c_str());
27  }
28 }
29 
30 inline void delete_argcv(int& a_argc,char**& a_argv) {
31  for(int index=0;index<a_argc;index++) delete [] a_argv[index];
32  delete [] a_argv;
33  a_argc = 0;
34  a_argv = 0;
35 }
36 
37 }
38 
39 #endif
tools::delete_argcv
void delete_argcv(int &a_argc, char **&a_argv)
Definition: argcv:30
cstr
tools::new_argcv
void new_argcv(const std::vector< std::string > &a_args, int &a_argc, char **&a_argv)
Definition: argcv:13
tools
inlined C code : ///////////////////////////////////
Definition: aida_ntuple:26