PhoenixMock  1.8.7
Tools to split/merge/print mock used in Phoenix
get_argument_list.cpp
Go to the documentation of this file.
1 /***************************************
2  Auteur : Pierre Aubert
3  Mail : pierre.aubert@lapp.in2p3.fr
4  Licence : CeCILL-C
5 ****************************************/
6 
7 #include "string_function.h"
8 #include "get_argument_list.h"
9 
10 
12 
16 std::list<std::string> phoenix_getArgumentList(int argc, char** argv){
17  std::list<std::string> argList;
18  for(int i(0); i < argc; ++i){
19  argList.push_back(std::string(argv[i]));
20  }
21  return argList;
22 }
23 
25 
29 bool phoenix_isOptionExist(const std::list<std::string> & listArg, const std::list<std::string> & argCheckList){
30  bool isSearch(true);
31  std::list<std::string>::const_iterator itArg(listArg.begin());
32  while(itArg != listArg.end() && isSearch){
33  std::list<std::string>::const_iterator itCheck(argCheckList.begin());
34  while(itCheck != argCheckList.end() && isSearch){
35  isSearch = *itArg != *itCheck;
36  ++itCheck;
37  }
38  ++itArg;
39  }
40  return !isSearch;
41 }
42 
44 
48 bool phoenix_isOptionExist(const std::list<std::string> & listArg, const std::string & arg1){
49  std::list<std::string> argCheckList;
50  argCheckList.push_back(arg1);
51  return phoenix_isOptionExist(listArg, argCheckList);
52 }
53 
55 
60 bool phoenix_isOptionExist(const std::list<std::string> & listArg, const std::string & arg1, const std::string & arg2){
61  std::list<std::string> argCheckList;
62  argCheckList.push_back(arg1);
63  argCheckList.push_back(arg2);
64  return phoenix_isOptionExist(listArg, argCheckList);
65 }
66 
68 
71 std::string phoenix_listArgToString(const std::list<std::string> & listArg){
72  std::string body("");
73  for(std::list<std::string>::const_iterator itArg(listArg.begin()); itArg != listArg.end(); ++itArg){
74  body += phoenix_escapeStr(*itArg, " '\"", "\\") + " ";
75  }
76  return body;
77 }
78 
80 
83 std::string phoenix_getProgramCall(const std::list<std::string> & listArg){
84  if(listArg.size() != 0lu){return listArg.front();}
85  else{return "";}
86 }
87 
89 
91 void phoenix_rmProgramCall(std::list<std::string> & listArg){
92  if(listArg.size() != 0lu){
93  listArg.pop_front();
94  }
95 }
96 
97 
98 
phoenix_rmProgramCall
void phoenix_rmProgramCall(std::list< std::string > &listArg)
Remove the program call from the list of argument.
Definition: get_argument_list.cpp:91
get_argument_list.h
string_function.h
phoenix_listArgToString
std::string phoenix_listArgToString(const std::list< std::string > &listArg)
Convert the given list of arguement into a string.
Definition: get_argument_list.cpp:71
phoenix_getProgramCall
std::string phoenix_getProgramCall(const std::list< std::string > &listArg)
Get the program call.
Definition: get_argument_list.cpp:83
phoenix_escapeStr
std::string phoenix_escapeStr(const std::string &src, const std::string &strCharToEscape, const std::string &escapeStr)
Escape given string with passed characters.
Definition: string_function.cpp:411
phoenix_isOptionExist
bool phoenix_isOptionExist(const std::list< std::string > &listArg, const std::list< std::string > &argCheckList)
Check if one of the two passed arguments are in the list of arguments.
Definition: get_argument_list.cpp:29
phoenix_getArgumentList
std::list< std::string > phoenix_getArgumentList(int argc, char **argv)
Convert the list of given arguments to the program into a list of string.
Definition: get_argument_list.cpp:16