Jetson Inference
DNN Vision Library
commandLine.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #ifndef __COMMAND_LINE_H_
24 #define __COMMAND_LINE_H_
25 
26 
27 #include <stdlib.h>
28 #include <stdint.h>
29 
30 
36 {
37 public:
41  commandLine( const int argc, char** argv, const char* extraFlag=NULL );
42 
46  commandLine( const int argc, char** argv, const char** extraArgs );
47 
60  bool GetFlag( const char* argName, bool allowOtherDelimiters=true ) const;
61 
73  float GetFloat( const char* argName, float defaultValue=0.0f, bool allowOtherDelimiters=true ) const;
74 
86  int GetInt( const char* argName, int defaultValue=0, bool allowOtherDelimiters=true ) const;
87 
99  uint32_t GetUnsignedInt( const char* argName, uint32_t defaultValue=0, bool allowOtherDelimiters=true ) const;
100 
113  const char* GetString( const char* argName, const char* defaultValue=NULL, bool allowOtherDelimiters=true ) const;
114 
125  const char* GetPosition( unsigned int position, const char* defaultValue=NULL ) const;
126 
131  unsigned int GetPositionArgs() const;
132 
136  void AddArg( const char* arg );
137 
141  void AddArgs( const char** args );
142 
146  void AddFlag( const char* flag );
147 
151  void Print() const;
152 
156  int argc;
157 
161  char** argv;
162 };
163 
164 
169 #define ARG_POSITION(x) x
170 
171 
172 #endif
173 
commandLine::AddArgs
void AddArgs(const char **args)
Add arguments to the command line.
commandLine::GetPosition
const char * GetPosition(unsigned int position, const char *defaultValue=NULL) const
Get positional string argument.
commandLine::GetFlag
bool GetFlag(const char *argName, bool allowOtherDelimiters=true) const
Checks to see whether the specified flag was included on the command line.
commandLine::AddFlag
void AddFlag(const char *flag)
Add a flag to the command line.
commandLine::GetUnsignedInt
uint32_t GetUnsignedInt(const char *argName, uint32_t defaultValue=0, bool allowOtherDelimiters=true) const
Get unsigned integer argument.
commandLine::GetPositionArgs
unsigned int GetPositionArgs() const
Get the number of positional arguments in the command line.
commandLine::GetInt
int GetInt(const char *argName, int defaultValue=0, bool allowOtherDelimiters=true) const
Get integer argument.
commandLine::GetFloat
float GetFloat(const char *argName, float defaultValue=0.0f, bool allowOtherDelimiters=true) const
Get float argument.
commandLine::AddArg
void AddArg(const char *arg)
Add an argument to the command line.
commandLine::commandLine
commandLine(const int argc, char **argv, const char *extraFlag=NULL)
Constructor, takes the command line from main()
commandLine::argv
char ** argv
The argument strings that the object was created with from main()
Definition: commandLine.h:161
commandLine::argc
int argc
The argument count that the object was created with from main()
Definition: commandLine.h:156
commandLine::GetString
const char * GetString(const char *argName, const char *defaultValue=NULL, bool allowOtherDelimiters=true) const
Get string argument.
commandLine::Print
void Print() const
Print out the command line for reference.
commandLine
Command line parser for extracting flags, values, and strings.
Definition: commandLine.h:35