9 #ifndef IMPDOMINO_SUBSET_H 
   10 #define IMPDOMINO_SUBSET_H 
   12 #include <IMP/domino/domino_config.h> 
   21 IMPDOMINO_BEGIN_NAMESPACE
 
   37     std::sort(ps.begin(), ps.end());
 
   46       for (
unsigned int i = 0; i < size(); ++i) {
 
   49       for (
unsigned int i = 1; i < ps.size(); ++i) {
 
   61       std::sort(ps.begin(), ps.end());
 
   63                       "Duplicate particles in set");
 
   64       for (
unsigned int i = 0; i < ps.size(); ++i) {
 
   69   Model *get_model()
 const { 
return operator[](0)->get_model(); }
 
   70   std::string get_name() 
const;
 
   71   bool get_contains(
const Subset &o)
 const {
 
   72     return std::includes(begin(), end(), o.begin(), o.end());
 
   81   set_union(a.begin(), a.end(), b.begin(), b.end(), std::back_inserter(pt));
 
   85 inline Subset get_intersection(
const Subset &a, 
const Subset &b) {
 
   87   set_intersection(a.begin(), a.end(), b.begin(), b.end(),
 
   88                    std::back_inserter(pt));
 
   92     return Subset(pt, 
true);
 
   96 inline Subset get_difference(
const Subset &a, 
const Subset &b) {
 
   98   std::set_difference(a.begin(), a.end(), b.begin(), b.end(),
 
   99                       std::back_inserter(rs));
 
  100   Subset ret(rs, 
true);
 
  104 IMPDOMINO_END_NAMESPACE
 
  106 #if !defined(IMP_DOXYGEN) && !defined(SWIG) 
  108   inline std::size_t hash_value(
const domino::Subset &t) {
 
#define IMP_IF_CHECK(level)
Execute the code block if a certain level checks are on. 
 
Store a list of ParticleIndexes. 
 
Store an array of values of the same type. 
 
#define IMP_CHECK_OBJECT(obj)
Perform some basic validity checks on the object for memory debugging. 
 
Helper functions for implementing hashes. 
 
Represent a subset of the particles being optimized. 
 
Various general useful macros for IMP. 
 
#define IMP_INTERNAL_CHECK(expr, message)
An assertion to check for internal errors in IMP. An IMP::ErrorException will be thrown. 
 
Class for storing model, its restraints, constraints, and particles. 
 
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values. 
 
A nullptr-initialized pointer to an IMP Object. 
 
Base class for a simple primitive-like type. 
 
Store an array of values of the same type. 
 
Class to handle individual particles of a Model object. 
 
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.