14 Create( a_pchCommandLine );
19 m_szCommandLine[ 0 ] =
'\0';
25 if ( a_pchCommandLine )
27 TSIZE uiCommandLineLength = a_pchCommandLine.
Length();
28 m_szCommandLine.Copy( a_pchCommandLine );
29 m_bInitialised =
TTRUE;
31 m_Parser.SetBuffer( a_pchCommandLine, uiCommandLineLength );
34 m_ParsedParams.Clear();
37 while ( !m_Parser.IsOver() )
39 TBOOL bReadToken = m_Parser.ReadToken( szToken,
sizeof( szToken ) );
42 m_ParsedParams.Push( szToken );
56 if ( it.Get() == a_pszParameter )
59 *a_pIndex = it.Index();
77 return a_pszDefaultValue;
85 if ( bHasParam && iParamIndex + 1 < m_ParsedParams.Size() )
87 return m_ParsedParams[ iParamIndex + 1 ];
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
T2StringViewBase< T2StringTraits< TCHAR > > T2StringView
#define TARRAY_FOREACH(vecName, iteratorName)
Command line parsing and processing for Toshi tools.
TFORCEINLINE TSIZE Length() const
const TCHAR * GetNextParameter(const TCHAR *a_pszParameter) const
void Create(T2StringView a_pchCommandLine)
TBOOL HasParameter(const TCHAR *a_pszParameter, TINT *a_pIndex=nullptr) const
TString8 GetParameterValue(const TCHAR *a_pszParameter, const TCHAR *a_pszDefaultValue=nullptr) const