IMP  2.3.0
The Integrative Modeling Platform
core/Hierarchy.h File Reference

Decorator for helping deal with a hierarchy. More...

#include <IMP/core/core_config.h>
#include "internal/hierarchy_helpers.h"
#include <IMP/SingletonModifier.h>
#include <IMP/kernel/Particle.h>
#include <IMP/kernel/Model.h>
#include <IMP/Decorator.h>
#include <IMP/decorator_macros.h>
#include <IMP/kernel/internal/utility.h>
#include <IMP/base/Pointer.h>
#include <boost/tuple/tuple.hpp>
#include <limits>
#include <vector>
#include <deque>
+ Include dependency graph for core/Hierarchy.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  IMP::core::Hierarchy
 A decorator for helping deal with a hierarchy. More...
 
struct  IMP::core::HierarchyCounter
 A simple functor to count the number of particles in a hierarchy. More...
 
class  IMP::core::HierarchyTraits
 Define the type for a type of hierarchy. More...
 
class  IMP::core::HierarchyVisitor
 A visitor for traversal of a hierarchy. More...
 
class  IMP::core::ModifierVisitor
 A visitor which applies a modifier to each kernel::Particle in a hierarchy. More...
 

Namespaces

 IMP
 Synonym for IMP::kernel.
 
 IMP::core
 Basic functionality that is expected to be used by a wide variety of IMP users.
 

Typedefs

typedef IMP::base::Vector
< HierarchyCounter > 
IMP::core::HierarchyCounters
 
typedef IMP::base::Vector
< HierarchyTraits > 
IMP::core::HierarchyTraitsList
 

Functions

template<class HD , class F >
HD IMP::core::find_breadth_first (HD h, F f)
 Find the first node which matches some criteria. More...
 
template<class H , class Out , class F >
Out IMP::core::gather (H h, F f, Out out)
 Gather all the particles in the hierarchy that meet some criteria. More...
 
template<class H , class Out , class K , class V >
Out IMP::core::gather_by_attribute (H h, K k, V v, Out out)
 Gather all the particles in the hierarchy which match on an attribute. More...
 
template<class H , class Out , class K0 , class V0 , class K1 , class V1 >
Out IMP::core::gather_by_attributes (H h, K0 k0, V0 v0, K1 k1, V1 v1, Out out)
 Gather all the particles in the hierarchy which match on two attributes. More...
 
template<class H , class Out , class F >
Out IMP::core::gather_slice (H h, F f, Out out)
 Gather all the uppermost particles in the hierarchy that meet some criteria. More...
 
GenericHierarchies IMP::core::get_all_descendants (Hierarchy mhd)
 Get all the particles in the subtree. More...
 
GenericHierarchies IMP::core::get_internal (Hierarchy mhd)
 Get all the non-leaves of the bit of hierarchy. More...
 
GenericHierarchies IMP::core::get_leaves (Hierarchy mhd)
 Get all the leaves of the bit of hierarchy. More...
 
Hierarchy IMP::core::get_root (Hierarchy h)
 Return the root of the hierarchy. More...
 
template<class ND >
std::ostream & IMP::core::show (Hierarchy h, std::ostream &out=std::cout)
 Print the hierarchy using a given decorator to display each node. More...
 
template<class HD , class F >
IMP::core::visit_breadth_first (HD d, F f)
 Apply the visitor to each particle, breadth first. More...
 
template<class HD , class F >
IMP::core::visit_breadth_first_with_data (HD d, F f, typename F::result_type i)
 Apply functor F to each particle, traversing the hierarchy breadth first. More...
 
template<class HD , class F >
IMP::core::visit_depth_first (HD d, F &f)
 Apply functor F to each particle, traversing the hierarchy depth first. More...
 
template<class HD , class F >
IMP::core::visit_depth_first_with_data (HD d, F f, typename F::result_type i)
 Apply functor F to each particle, traversing the hierarchy depth first. More...
 

Detailed Description

Decorator for helping deal with a hierarchy.

Copyright 2007-2014 IMP Inventors. All rights reserved.

Definition in file core/Hierarchy.h.