21 vector<BranchSelectState> branchstates;
22 branchstates.reserve(descriptions.size());
23 for (
auto const& pr : descriptions) {
24 branchstates.push_back(BranchSelectState{&pr.second});
34 for (
auto const& state : branchstates) {
36 groupsToSelect_.push_back(state.desc);
51 os <<
"GroupSelector at: " <<
static_cast<void const*
>(
this) <<
" has " 52 << groupsToSelect_.size() <<
" groups to select:\n";
53 for (
auto const& bd_ptr : groupsToSelect_) {
54 os << bd_ptr->branchName() <<
'\n';
bool selected(BranchDescription const &desc) const
void print(std::ostream &os) const
GroupSelector(GroupSelectorRules const &rules, ProductDescriptionsByID const &descriptions)
void sort_all(RandCont &)
std::ostream & operator<<(std::ostream &os, const GroupSelector &gs)
void applyToAll(std::vector< BranchSelectState > &branchstates) const
bool binary_search_all(FwdCont const &, Datum const &)
std::map< ProductID, BranchDescription > ProductDescriptionsByID