39 #ifndef PCL_CONSOLE_PARSE_H_
40 #define PCL_CONSOLE_PARSE_H_
46 #include <boost/algorithm/string.hpp>
65 find_switch (
int argc,
char** argv,
const char* argument_name);
74 find_argument (
int argc,
char** argv,
const char* argument_name);
83 template<
typename Type>
int
84 parse (
int argc,
char** argv,
const char* argument_name, Type& value)
88 if (index > 0 && index < argc)
90 std::istringstream stream;
92 stream.str (argv[index]);
107 parse_argument (
int argc,
char** argv,
const char* str, std::string &val);
117 parse_argument (
int argc,
char** argv,
const char* str,
bool &val);
127 parse_argument (
int argc,
char** argv,
const char* str,
float &val);
137 parse_argument (
int argc,
char** argv,
const char* str,
double &val);
147 parse_argument (
int argc,
char** argv,
const char* str,
int &val);
157 parse_argument (
int argc,
char** argv,
const char* str,
unsigned int &val);
167 parse_argument (
int argc,
char** argv,
const char* str,
char &val);
179 parse_2x_arguments (
int argc,
char** argv,
const char* str,
float &f,
float &s,
bool debug =
true);
191 parse_2x_arguments (
int argc,
char** argv,
const char* str,
double &f,
double &s,
bool debug =
true);
203 parse_2x_arguments (
int argc,
char** argv,
const char* str,
int &f,
int &s,
bool debug =
true);
216 parse_3x_arguments (
int argc,
char** argv,
const char* str,
float &f,
float &s,
float &t,
bool debug =
true);
229 parse_3x_arguments (
int argc,
char** argv,
const char* str,
double &f,
double &s,
double &t,
bool debug =
true);
242 parse_3x_arguments (
int argc,
char** argv,
const char* str,
int &f,
int &s,
int &t,
bool debug =
true);
252 parse_x_arguments (
int argc,
char** argv,
const char* str, std::vector<double>& v);
262 parse_x_arguments (
int argc,
char** argv,
const char* str, std::vector<float>& v);
325 std::vector<double> &values_f,
326 std::vector<double> &values_s);
340 std::vector<double> &values_f,
341 std::vector<double> &values_s,
342 std::vector<double> &values_t);
355 #endif // PCL_CONSOLE_PARSE_H_