Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
PhysicsTools
FWLite
interface
CommandLineParser.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
#if !defined(CommandLineParser_H)
4
#define CommandLineParser_H
5
6
#include "
PhysicsTools/FWLite/interface/VariableMapCont.h
"
7
8
namespace
optutl {
9
10
class
CommandLineParser
:
public
VariableMapCont
{
11
public
:
13
// Public Constants //
15
16
static
const
std::string
kSpaces
;
17
18
enum
{
kEventContOpt
= 1 << 0 };
19
21
// friends //
23
// tells particle data how to print itself out
24
friend
std::ostream &
operator<<
(std::ostream &o_stream,
const
CommandLineParser
&rhs);
25
27
// _ //
28
// |\/| |_ //
29
// | |EMBER | UNCTIONS //
30
// //
32
34
// Constructors and Destructor //
36
CommandLineParser
(
const
std::string
&
usage
,
unsigned
int
optionsType =
kEventContOpt
);
37
39
// One Liners //
41
42
// turn on (true) or off (false) printing of options by default
43
void
setPrintOptoins
(
bool
print
) {
m_printOptions
=
print
; }
44
45
// return vector calling arguments
46
const
SVec
argVec
()
const
{
return
m_fullArgVec
; }
47
49
// Regular Member Functions //
51
52
// parse the command line arguments. If 'returnArgs' is true, then
53
// any non-assignments and non-options will be returned.
54
void
parseArguments
(
int
argc
,
char
**
argv
,
bool
allowArgs =
false
);
55
56
// prints out '--help' screen, then exits.
57
void
help
();
58
59
// print out all of the variables hooked up
60
void
printOptionValues
();
61
62
// Not called by users anymore. Finish evaluating default options.
63
// Pass in 'tag' if you want to modify the output name based on
64
// options the user has passed in. 'tag' is not passed by const
65
// reference because it may be modified.
66
void
_finishDefaultOptions
(
std::string
tag
=
""
);
67
69
// Static Member Functions //
71
72
// remove an ending (e.g., '.root') from a string
73
static
std::string
removeEnding
(
const
std::string
&
input
,
const
std::string
&ending);
74
75
// splits a line into words
76
static
void
split
(
SVec
&retval,
std::string
line
,
std::string
match
=
" \t"
,
bool
ignoreComments =
true
);
77
78
// removes '# ....' comment
79
static
void
removeComment
(
std::string
&
line
);
80
81
// removes leading and trailing spaces
82
static
void
removeLeadingAndTrailingSpaces
(
std::string
&
line
);
83
84
// given a line, finds first non-space word and rest of line
85
static
void
findCommand
(
const
std::string
&
line
,
std::string
&
command
,
std::string
&rest);
86
87
private
:
89
// Private Member Functions //
91
92
// Sets a variable 'varname' to a 'value' from a string
93
// 'varname=value'. If 'dontOverrideChange' is set true, then the
94
// function will NOT set a variable that has been already set.
95
// This will allow you to read in a file to set most variables and
96
// still be allowed to make changes from the command line. If you
97
// want to ignore the first 'n' characters, simply set 'offset=n'.
98
bool
_setVariableFromString
(
const
std::string
&
arg
,
bool
dontOverrideChange =
false
,
int
offset
= 0);
99
100
// sets variable options from file where lines are formatted as
101
// - var=value
102
bool
_setVariablesFromFile
(
const
std::string
&
filename
);
103
104
// runs command embedded in arg
105
bool
_runVariableCommandFromString
(
const
std::string
&
arg
);
106
107
// given a section number (1..N) and totalsection (N), fills output
108
// list with correct files.
109
void
_getSectionFiles
(
const
SVec
&inputList,
SVec
&
outputList
,
int
section
,
int
totalSection);
110
112
// Private Member Data //
114
SVec
m_fullArgVec
;
115
std::string
m_argv0
;
116
std::string
m_usageString
;
117
bool
m_printOptions
;
118
unsigned
int
m_optionsType
;
119
};
120
121
}
// namespace optutl
122
123
#endif // CommandLineParser_H
optutl::CommandLineParser::_runVariableCommandFromString
bool _runVariableCommandFromString(const std::string &arg)
Definition:
CommandLineParser.cc:461
optutl::CommandLineParser::_getSectionFiles
void _getSectionFiles(const SVec &inputList, SVec &outputList, int section, int totalSection)
Definition:
CommandLineParser.cc:545
optutl::CommandLineParser::m_optionsType
unsigned int m_optionsType
Definition:
CommandLineParser.h:118
optutl::CommandLineParser::_finishDefaultOptions
void _finishDefaultOptions(std::string tag="")
Definition:
CommandLineParser.cc:583
optutl::CommandLineParser::_setVariablesFromFile
bool _setVariablesFromFile(const std::string &filename)
Definition:
CommandLineParser.cc:413
optutl::CommandLineParser::removeEnding
static std::string removeEnding(const std::string &input, const std::string &ending)
Definition:
CommandLineParser.cc:174
optutl::CommandLineParser::m_usageString
std::string m_usageString
Definition:
CommandLineParser.h:116
optutl::CommandLineParser::help
void help()
Definition:
CommandLineParser.cc:104
optutl::CommandLineParser::operator<<
friend std::ostream & operator<<(std::ostream &o_stream, const CommandLineParser &rhs)
optutl::CommandLineParser::CommandLineParser
CommandLineParser(const std::string &usage, unsigned int optionsType=kEventContOpt)
Definition:
CommandLineParser.cc:19
optutl::CommandLineParser::kEventContOpt
Definition:
CommandLineParser.h:18
optutl::CommandLineParser::parseArguments
void parseArguments(int argc, char **argv, bool allowArgs=false)
Definition:
CommandLineParser.cc:45
optutl::CommandLineParser::removeLeadingAndTrailingSpaces
static void removeLeadingAndTrailingSpaces(std::string &line)
Definition:
CommandLineParser.cc:157
optutl::CommandLineParser::split
static void split(SVec &retval, std::string line, std::string match=" \t", bool ignoreComments=true)
Definition:
CommandLineParser.cc:115
optutl::CommandLineParser
Definition:
CommandLineParser.h:10
optutl::VariableMapCont::SVec
std::vector< std::string > SVec
Definition:
VariableMapCont.h:21
optutl::CommandLineParser::setPrintOptoins
void setPrintOptoins(bool print)
Definition:
CommandLineParser.h:43
funct::arg
A arg
Definition:
Factorize.h:31
VariableMapCont.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
input
static std::string const input
Definition:
EdmProvDump.cc:47
geometryCSVtoXML.line
tuple line
Definition:
geometryCSVtoXML.py:16
optutl::CommandLineParser::m_fullArgVec
SVec m_fullArgVec
Definition:
CommandLineParser.h:114
GlobalPosition_Frontier_DevDB_cff.tag
tuple tag
Definition:
GlobalPosition_Frontier_DevDB_cff.py:11
optutl::CommandLineParser::kSpaces
static const std::string kSpaces
Definition:
CommandLineParser.h:16
optutl::CommandLineParser::printOptionValues
void printOptionValues()
Definition:
CommandLineParser.cc:202
print
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition:
Utilities.cc:47
optutl::CommandLineParser::_setVariableFromString
bool _setVariableFromString(const std::string &arg, bool dontOverrideChange=false, int offset=0)
Definition:
CommandLineParser.cc:313
optutl::VariableMapCont
Definition:
VariableMapCont.h:12
optutl::CommandLineParser::removeComment
static void removeComment(std::string &line)
Definition:
CommandLineParser.cc:149
optutl::CommandLineParser::argVec
const SVec argVec() const
Definition:
CommandLineParser.h:46
submitPVResolutionJobs.outputList
tuple outputList
Definition:
submitPVResolutionJobs.py:86
dir2webdir.argc
tuple argc
Definition:
dir2webdir.py:39
cmsStageWithFailover.argv
list argv
Definition:
cmsStageWithFailover.py:18
hltrates_dqm_sourceclient-live_cfg.offset
tuple offset
Definition:
hltrates_dqm_sourceclient-live_cfg.py:83
vertexPlots.section
string section
Definition:
vertexPlots.py:496
mps_check.command
list command
Definition:
mps_check.py:25
optutl::CommandLineParser::findCommand
static void findCommand(const std::string &line, std::string &command, std::string &rest)
Definition:
CommandLineParser.cc:184
optutl::CommandLineParser::m_argv0
std::string m_argv0
Definition:
CommandLineParser.h:115
lut2db_cfg.filename
tuple filename
Definition:
lut2db_cfg.py:20
usage
void usage()
Definition:
array2xmlEB.cc:14
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition:
Utils.h:10
optutl::CommandLineParser::m_printOptions
bool m_printOptions
Definition:
CommandLineParser.h:117
Generated for CMSSW Reference Manual by
1.8.5