00001 #ifndef FWCore_Framework_GroupSelector_h
00002 #define FWCore_Framework_GroupSelector_h
00003
00005
00006
00007
00008
00009
00010
00011
00013
00014 #include <iosfwd>
00015 #include <string>
00016 #include <vector>
00017
00018 #include <boost/regex.hpp>
00019
00020 namespace edm {
00021 class BranchDescription;
00022 class GroupSelectorRules;
00023 class ParameterSet;
00024
00025 class GroupSelector {
00026 public:
00027 GroupSelector();
00028
00029
00030 void initialize(GroupSelectorRules const& rules,
00031 std::vector<BranchDescription const*> const& branchDescriptions);
00032
00033 bool selected(BranchDescription const& desc) const;
00034
00035
00036 void print(std::ostream& os) const;
00037
00038 bool initialized() const {return initialized_;}
00039
00040 private:
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 std::vector<std::string> groupsToSelect_;
00052 bool initialized_;
00053 };
00054
00055 std::ostream&
00056 operator<< (std::ostream& os, const GroupSelector& gs);
00057
00058 }
00059
00060
00061
00062 #endif