149 if( !context.
atEnd() )
154 if( details::isArgument( arg ) || details::isFlag( arg ) )
155 m_printer->print( arg, g_argsOutStream );
159 auto * tmp = m_printer->findArgument( arg );
164 bool printed =
false;
166 auto * cmd =
static_cast< Command*
> ( tmp );
168 while( !context.
atEnd() )
170 arg = *context.
next();
174 cmd =
static_cast< Command*
> ( tmp );
177 if( details::isArgument( arg ) || details::isFlag( arg ) )
179 m_printer->print( arg, g_argsOutStream, cmd );
187 tmp = cmd->findChild( arg );
196 m_printer->print( tmp->name(), g_argsOutStream,
197 ( cmd != tmp ? cmd : nullptr ) );
199 m_printer->print( g_argsOutStream );
203 m_printer->print( g_argsOutStream );
207 m_printer->print( g_argsOutStream );
211 if( m_throwExceptionOnPrint )
Context is a list of words in the command line that user presented with interface for interacting wit...
ContextInternal::iterator next()