33 #ifndef RGROUP_EVEN_SAMPLE_H 34 #define RGROUP_EVEN_SAMPLE_H 37 #ifdef RDK_USE_BOOST_SERIALIZATION 38 #include <boost/serialization/set.hpp> 40 #include <boost/cstdint.hpp> 55 boost::uint64_t m_numPermutationsProcessed;
57 std::vector<boost::int64_t> used_count;
58 std::vector<std::vector<size_t> > var_used;
59 std::vector<std::vector<size_t> > pair_used;
60 std::vector<std::vector<size_t> > pair_counts;
61 std::set<size_t> selected;
65 size_t nslack, min_nslack;
66 size_t rejected_period, rejected_unique;
67 size_t rejected_slack_condition, rejected_bb_sampling_condition;
72 m_numPermutationsProcessed(),
86 rejected_slack_condition(),
87 rejected_bb_sampling_condition() {}
91 m_numPermutationsProcessed(rhs.m_numPermutationsProcessed),
92 used_count(rhs.used_count),
93 var_used(rhs.var_used),
94 pair_used(rhs.pair_used),
95 pair_counts(rhs.pair_counts),
96 selected(rhs.selected),
102 min_nslack(rhs.min_nslack),
103 rejected_period(rhs.rejected_period),
104 rejected_unique(rhs.rejected_unique),
105 rejected_slack_condition(rhs.rejected_slack_condition),
106 rejected_bb_sampling_condition(rhs.rejected_bb_sampling_condition) {}
108 virtual const char *
type()
const {
return "EvenSamplePairsStrategy"; }
138 return m_numPermutationsProcessed;
141 virtual operator bool()
const {
return true; }
147 std::string
stats()
const;
161 bool try_add(
size_t seed);
164 #ifdef RDK_USE_BOOST_SERIALIZATION 165 template <
class Archive>
166 void serialize(Archive &ar,
const unsigned int ) {
168 ar &boost::serialization::base_object<EnumerationStrategyBase>(*this);
169 ar &m_numPermutationsProcessed;
186 ar &rejected_slack_condition;
187 ar &rejected_bb_sampling_condition;
void initialize(const ChemicalReaction &reaction, const EnumerationTypes::BBS &building_blocks)
This is a class for storing and applying general chemical reactions.
EnumerationTypes::RGROUPS m_permutation
std::vector< MOL_SPTR_VECT > BBS
std::vector< boost::uint64_t > RGROUPS
EnumerationTypes::RGROUPS m_permutationSizes