64 #include "rnr/rnrconfig.h" 96 CmdFormDef::CmdFormDef()
104 CmdFormDef::CmdFormDef(
const string &strSyntax) :
105 m_strSyntax(strSyntax)
123 CmdFormDef::~CmdFormDef()
137 bool CmdFormDef::isDefined()
const 139 return (m_nIndex >= 0) &&
140 !m_strSyntax.empty() &&
141 (m_argDefs.size() > 0) &&
142 m_argDefs[0].isDefined();
145 void CmdFormDef::reset()
152 void CmdFormDef::setParent(
const int nCmdUid)
157 void CmdFormDef::setIndex(
const int nIndex)
162 void CmdFormDef::setSyntax(
const string &strSyntax)
164 m_strSyntax = strSyntax;
169 int nIndex = numOfArgs();
173 m_argDefs.push_back(argdef);
178 if( (nIndex >= 0) && (nIndex < m_argDefs.size()) )
180 return m_argDefs[nIndex];
190 if( (nIndex >= 0) && (nIndex < m_argDefs.size()) )
192 return m_argDefs[nIndex];
202 return m_argDefs.empty()?
noargdef: m_argDefs.back();
209 os <<
indent() <<
"{" << endl;
222 os <<
indent() <<
"{" << endl;
226 for(
size_t i = 0; i < formdef.
m_argDefs.size(); ++i)
238 os <<
indent() <<
"}" << endl;
osManipIndent indent()
Left indent at current stream indentation level.
Command argument compiled definition class.
const int NoUid
Special values.
void setParent(const int nCmdUid, const int nFormIndex)
Set parent's command and form id's.
Stream I/O manipulators and helpers.
const int NoIndex
no index
Command line argument definition class interface.
Command line core data types.
static CmdArgDef noargdef
constant "no arg def" argument definition
osManipIndent deltaindent(const long nDelta)
Set relative delta indentation level.
void setIndex(const int nIndex)
Set arguments's command line index.
std::ostream & operator<<(std::ostream &os, const timespec &obj)
A timespec insertion operator.