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::string getLabelList () const
 get the labels in the list of actions in form of a string (useful to debug) Only classes that can be dynamic casted to T are reported More...
 
template<class T >
std::vector< std::string > getLabelVector () const
 get the labels in the form of a vector of strings Only classes that can be dynamic casted to T are reported More...
 
ActionShortcutgetShortcutActionWithLabel (const std::string &s) const
 Get any shortcuts with this shortcut label. 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 >
selectLatest (const Action *action) const
 Extract pointer to last action of type T located before action. 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...
 

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

◆ ActionSet()

PLMD::ActionSet::ActionSet ( PlumedMain p)
explicit

◆ ~ActionSet()

PLMD::ActionSet::~ActionSet ( )

Member Function Documentation

◆ clearDelete()

void PLMD::ActionSet::clearDelete ( )

Clear and deletes all the included pointers.

◆ getLabelList()

template<class T >
std::string PLMD::ActionSet::getLabelList

get the labels in the list of actions in form of a string (useful to debug) Only classes that can be dynamic casted to T are reported

◆ getLabelVector()

template<class T >
std::vector< std::string > PLMD::ActionSet::getLabelVector

get the labels in the form of a vector of strings Only classes that can be dynamic casted to T are reported

◆ getShortcutActionWithLabel()

ActionShortcut * PLMD::ActionSet::getShortcutActionWithLabel ( const std::string &  s) const

Get any shortcuts with this shortcut label.

◆ select()

template<class T >
std::vector< T > PLMD::ActionSet::select

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

◆ selectLatest()

template<class T >
T PLMD::ActionSet::selectLatest ( const Action action) const

Extract pointer to last action of type T located before action.

If action is not in ActionSet or if there is no action of type T returns NULL. Typically to be used as selectLatest<Type>(this);

◆ selectNot()

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

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

◆ selectWithLabel()

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

◆ elements

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

STL member.

◆ plumed

PlumedMain& PLMD::ActionSet::plumed
private

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