All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Private Attributes | List of all members
PLMD::ActionSet Class Reference

std::vector containing the sequence of Action to be done. More...

#include <ActionSet.h>

Inheritance diagram for PLMD::ActionSet:
Inheritance graph
[legend]

Public Member Functions

 ActionSet (PlumedMain &p)
 
 ~ActionSet ()
 
void clearDelete ()
 Clear and deletes all the included pointers. More...
 
template<class T >
std::vector< T > select () const
 Extract pointers to all Action's of type T To extract all Colvar , use select<Colvar*>();. More...
 
template<class T >
std::vector< Action * > selectNot () const
 Extract pointers to all Action's which are not of type T E.g., to extract all noncolvars, use selectNot<Colvar*>();. More...
 
template<class T >
selectWithLabel (const std::string &s) const
 Extract pointer to an action labeled s, only if it is of type T. More...
 
std::string getLabelList () const
 get the labels in the list of actions in form of a string (useful to debug) More...
 
std::vector< std::string > getLabelVector () const
 get the labels in the form of a vector of strings More...
 

Public Attributes

elements
 STL member. More...
 

Private Attributes

PlumedMainplumed
 

Detailed Description

std::vector containing the sequence of Action to be done.

It is a vector of Action*, and as such it has the entire std::vector interface. Moreover, it implements methods to extract Acion* of a given type (select<T>()), NOT of a given type (selectNot<T>()) or to find an Action with a given label (selectWithLabel()) Finally, since it holds pointers, there is a clearDelete() function which deletes the pointers before deleting the vector

Constructor & Destructor Documentation

PLMD::ActionSet::ActionSet ( PlumedMain p)
PLMD::ActionSet::~ActionSet ( )

Member Function Documentation

void PLMD::ActionSet::clearDelete ( )

Clear and deletes all the included pointers.

std::string PLMD::ActionSet::getLabelList ( ) const

get the labels in the list of actions in form of a string (useful to debug)

std::vector< std::string > PLMD::ActionSet::getLabelVector ( ) const

get the labels in the form of a vector of strings

template<class T >
std::vector< T > PLMD::ActionSet::select ( ) const

Extract pointers to all Action's of type T To extract all Colvar , use select<Colvar*>();.

template<class T >
std::vector< Action * > PLMD::ActionSet::selectNot ( ) const

Extract pointers to all Action's which are not of type T E.g., to extract all noncolvars, use selectNot<Colvar*>();.

template<class T >
T PLMD::ActionSet::selectWithLabel ( const std::string &  s) const

Extract pointer to an action labeled s, only if it is of type T.

E.g., to extract an action labeled "pippo", use selectWithLabel<Action*>("pippo") If you want it to be a Colvar, use selectWithLabel<Colvar*>(pippo). If it is not found, it returns NULL

Member Data Documentation

T std::vector< T >::elements
inherited

STL member.

PlumedMain& PLMD::ActionSet::plumed
private

The documentation for this class was generated from the following files: