Leonetienne/Hazelnupp
Simple, easy to use, command line parameter interface
Hazelnupp
main.cpp
Go to the documentation of this file.
1
#include <iostream>
2
#include "
Hazelnupp.h
"
3
#include "
IntValue.h
"
4
5
using namespace
Hazelnp
;
6
7
int
main
(
int
argc,
char
** argv)
8
{
9
Hazelnupp
nupp;
10
11
nupp.
SetBriefDescription
(
"This is the testing application for Hazelnupp."
);
12
13
nupp.
RegisterDescription
(
"--help"
,
"This will display the parameter documentation."
);
14
nupp.
RegisterDescription
(
"--force"
,
"Just forces it."
);
15
nupp.
RegisterDescription
(
"--width"
,
"The width of something..."
);
16
nupp.
RegisterDescription
(
"--name"
,
"The names to target"
);
17
nupp.
RegisterDescription
(
"--fruit"
,
"The fruit to use"
);
18
19
nupp.
RegisterAbbreviation
(
"-f"
,
"--force"
);
20
nupp.
RegisterAbbreviation
(
"-w"
,
"--width"
);
21
nupp.
RegisterAbbreviation
(
"-h"
,
"--height"
);
22
23
nupp.
RegisterConstraint
(
"--width"
,
ParamConstraint::TypeSafety
(
DATA_TYPE::FLOAT
));
24
nupp.
RegisterConstraint
(
"--name"
,
ParamConstraint
(
true
,
DATA_TYPE::LIST
, {
"peter"
,
"hannes"
},
true
));
25
nupp.
RegisterConstraint
(
"--fruit"
,
ParamConstraint
(
true
,
DATA_TYPE::STRING
, {},
true
));
26
27
nupp.
Parse
(argc, argv);
28
29
return
0;
30
}
Hazelnp
Definition:
DataType.h:4
Hazelnp::Hazelnupp
The main class to interface with.
Definition:
Hazelnupp.h:11
IntValue.h
main
int main(int argc, char **argv)
Definition:
main.cpp:7
Hazelnp::Hazelnupp::SetBriefDescription
void SetBriefDescription(const std::string &description)
Sets a brief description of the application to be automatically added to the documentation.
Definition:
Hazelnupp.cpp:313
Hazelnp::DATA_TYPE::LIST
@ LIST
Hazelnp::ParamConstraint
Definition:
ParamConstraint.h:8
Hazelnp::Hazelnupp::Parse
void Parse(const int argc, const char *const *argv)
Will parse command line arguments.
Definition:
Hazelnupp.cpp:36
Hazelnp::Hazelnupp::RegisterAbbreviation
void RegisterAbbreviation(const std::string &abbrev, const std::string &target)
Will register an abbreviation (like -f for –force)
Definition:
Hazelnupp.cpp:527
Hazelnupp.h
Hazelnp::Hazelnupp::RegisterConstraint
void RegisterConstraint(const std::string &key, const ParamConstraint &constraint)
Will register a constraint for a parameter.
Definition:
Hazelnupp.cpp:558
Hazelnp::DATA_TYPE::FLOAT
@ FLOAT
Hazelnp::DATA_TYPE::STRING
@ STRING
Hazelnp::Hazelnupp::RegisterDescription
void RegisterDescription(const std::string ¶meter, const std::string &description)
Willl register a short description for a parameter.
Definition:
Hazelnupp.cpp:324
Hazelnp::ParamConstraint::TypeSafety
static ParamConstraint TypeSafety(DATA_TYPE wantedType, bool constrainType=true)
Constructs a type-safety constraint.
Definition:
ParamConstraint.h:26
Generated on Sat Jun 5 2021 12:40:11 for Leonetienne/Hazelnupp by
1.8.17