104    size_t  lastCmd= size_t( 
commands.size() - 1 );
 
  105    bool    lastWasAsterisk= 
false;
 
  107    for( actCmd= 0; actCmd <= lastCmd ; ++actCmd )
 
  114            if ( haystack.
Length() < cmd.first )
 
  116            haystack.template ConsumeChars<NC>( cmd.first );
 
  121        if( cmd.first == ASTERISK )
 
  123            if ( actCmd == lastCmd )
 
  126            lastWasAsterisk= 
true;
 
  131        if( cmd.second.Length() > haystack.
Length() )
 
  134        if( lastWasAsterisk )
 
  137                                                             :  haystack.template IndexOf<NC, lang::Case::Ignore   >( cmd.second, 0, haystack.
Length() - cmd.second.Length() + 1 );
 
  141            lastWasAsterisk= 
false;
 
  145        if( sensitivity==
lang::Case::Sensitive ? (!haystack.template StartsWith<NC, lang::Case::Sensitive>( cmd.second ) )
 
  146                                               : (!haystack.template StartsWith<NC, lang::Case::Ignore   >( cmd.second ) )  )
 
  149        haystack.template ConsumeChars<NC>( cmd.second.Length() );
 
  152    return haystack.
IsEmpty() || lastWasAsterisk;