/** * \file ListSingletonContainer.cpp \brief A list of ParticlesTemp. * * This file is generated by a script (core/tools/make-container). * Do not edit directly. * * Copyright 2007-2010 IMP Inventors. All rights reserved. * */ #include #include #include IMPCORE_BEGIN_INTERNAL_NAMESPACE unsigned int ListLikeSingletonContainer ::get_number_of_particles() const { IMP_CHECK_OBJECT(this); IMP_USAGE_CHECK(get_is_up_to_date(), "Attempting to use container " << get_name() << " that is not up to date." << " Call Model::evaluate() first, or something is broken."); return data_.size(); } bool ListLikeSingletonContainer ::get_contains_particle(Particle* vt) const { IMP_CHECK_OBJECT(this); update_index(); return std::binary_search(index_.begin(), index_.end(), vt); } Particle* ListLikeSingletonContainer ::get_particle(unsigned int i) const { IMP_CHECK_OBJECT(this); return data_[i]; } void ListLikeSingletonContainer ::do_show(std::ostream &out) const { out << "contains " << data_.size() << std::endl; } ParticlesTemp ListLikeSingletonContainer ::get_contained_particles() const { return IMP::internal::flatten(data_); } bool ListLikeSingletonContainer ::get_contained_particles_changed() const { return !get_added()->data_.empty() || !get_removed()->data_.empty(); } SingletonContainerPair ListLikeSingletonContainer ::get_added_and_removed_containers() const { return SingletonContainerPair(new ListLikeSingletonContainer(), new ListLikeSingletonContainer()); } IMPCORE_END_INTERNAL_NAMESPACE