@@ -425,50 +425,6 @@ bool appendPredIfNeeded(
425
425
return true ;
426
426
}
427
427
428
- template <typename TFlags>
429
- bool chainFiltersCore (
430
- PredicateFilter *pf,
431
- const po::variables_map &vm,
432
- const TFlags flags)
433
- {
434
- return appendPredIfNeeded<AnnotPredicate> (pf, vm, flags, " annot" )
435
- && appendPredIfNeeded<CheckerPredicate> (pf, vm, flags, " checker" )
436
- && appendPredIfNeeded<ErrorPredicate> (pf, vm, flags, " error" )
437
- && appendPredIfNeeded<KeyEventPredicate> (pf, vm, flags, " event" )
438
- && appendPredIfNeeded<MsgPredicate> (pf, vm, flags, " msg" )
439
- && appendPredIfNeeded<PathPredicate> (pf, vm, flags, " path" )
440
- && appendPredIfNeeded<SrcAnnotPredicate> (pf, vm, flags, " src-annot" )
441
- && appendPredIfNeeded<ToolPredicate> (pf, vm, flags, " tool" );
442
- }
443
-
444
- bool chainFilters (
445
- AbstractWriter **pEng,
446
- const po::variables_map &vm)
447
- {
448
- // insert a filter predicate into the chain
449
- PredicateFilter *pf = new PredicateFilter (*pEng);
450
- *pEng = pf;
451
-
452
- // common matching flags
453
- boost::regex_constants::syntax_option_type flags = 0 ;
454
- if (vm.count (" ignore-case" ))
455
- flags |= boost::regex_constants::icase;
456
-
457
- if (vm.count (" invert-match" ))
458
- pf->setInvertMatch ();
459
-
460
- if (vm.count (" invert-regex" ))
461
- pf->setInvertEachMatch ();
462
-
463
- if (chainFiltersCore (pf, vm, flags))
464
- return true ;
465
-
466
- // failed to create the chain of filters
467
- delete pf;
468
- *pEng = 0 ;
469
- return false ;
470
- }
471
-
472
428
template <class TDesc , class TStream >
473
429
void printUsage (TStream &str, const TDesc &desc)
474
430
{
@@ -528,6 +484,50 @@ bool chainDecoratorIntArg(
528
484
return true ;
529
485
}
530
486
487
+ template <typename TFlags>
488
+ bool chainFiltersCore (
489
+ PredicateFilter *pf,
490
+ const po::variables_map &vm,
491
+ const TFlags flags)
492
+ {
493
+ return appendPredIfNeeded<AnnotPredicate> (pf, vm, flags, " annot" )
494
+ && appendPredIfNeeded<CheckerPredicate> (pf, vm, flags, " checker" )
495
+ && appendPredIfNeeded<ErrorPredicate> (pf, vm, flags, " error" )
496
+ && appendPredIfNeeded<KeyEventPredicate> (pf, vm, flags, " event" )
497
+ && appendPredIfNeeded<MsgPredicate> (pf, vm, flags, " msg" )
498
+ && appendPredIfNeeded<PathPredicate> (pf, vm, flags, " path" )
499
+ && appendPredIfNeeded<SrcAnnotPredicate> (pf, vm, flags, " src-annot" )
500
+ && appendPredIfNeeded<ToolPredicate> (pf, vm, flags, " tool" );
501
+ }
502
+
503
+ bool chainFilters (
504
+ AbstractWriter **pEng,
505
+ const po::variables_map &vm)
506
+ {
507
+ // insert a filter predicate into the chain
508
+ PredicateFilter *pf = new PredicateFilter (*pEng);
509
+ *pEng = pf;
510
+
511
+ // common matching flags
512
+ boost::regex_constants::syntax_option_type flags = 0 ;
513
+ if (vm.count (" ignore-case" ))
514
+ flags |= boost::regex_constants::icase;
515
+
516
+ if (vm.count (" invert-match" ))
517
+ pf->setInvertMatch ();
518
+
519
+ if (vm.count (" invert-regex" ))
520
+ pf->setInvertEachMatch ();
521
+
522
+ if (chainFiltersCore (pf, vm, flags))
523
+ return true ;
524
+
525
+ // failed to create the chain of filters
526
+ delete pf;
527
+ *pEng = 0 ;
528
+ return false ;
529
+ }
530
+
531
531
int main (int argc, char *argv[])
532
532
{
533
533
using std::string;
0 commit comments