IMP  2.0.1
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/Particle.h>
#include <IMP/Model.h>
#include <IMP/Decorator.h>
#include <IMP/decorator_macros.h>
#include <IMP/internal/utility.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 which applies a singleton modifier to each Particle in a hierarchy. More...
 

Namespaces

namespace  IMP
 All IMP::kernel code is brought into the IMP namespace.
 
namespace  IMP::core
 See IMP.core Overview for more information.
 

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.
 
template<class H , class Out , class F >
Out IMP::core::gather (H h, F f, Out out)
 Gather all the particles in the hierarchy which meet some criteria.
 
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.
 
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.
 
template<class H , class Out , class F >
Out IMP::core::gather_slice (H h, F f, Out out)
 Gather all the particles in the hierarchy which meet some criteria. More...
 
GenericHierarchies IMP::core::get_all_descendants (Hierarchy mhd)
 Get all the particles in the subtree.
 
GenericHierarchies IMP::core::get_internal (Hierarchy mhd)
 Get all the non-leaves of the bit of hierarchy.
 
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 as 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

Copyright 2007-2013 IMP Inventors. All rights reserved.

Definition in file core/Hierarchy.h.