Line data Source code
1 : /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 : Copyright (c) 2011-2023 The plumed team 3 : (see the PEOPLE file at the root of the distribution for a list of names) 4 : 5 : See http://www.plumed.org for more information. 6 : 7 : This file is part of plumed, version 2. 8 : 9 : plumed is free software: you can redistribute it and/or modify 10 : it under the terms of the GNU Lesser General Public License as published by 11 : the Free Software Foundation, either version 3 of the License, or 12 : (at your option) any later version. 13 : 14 : plumed is distributed in the hope that it will be useful, 15 : but WITHOUT ANY WARRANTY; without even the implied warranty of 16 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 : GNU Lesser General Public License for more details. 18 : 19 : You should have received a copy of the GNU Lesser General Public License 20 : along with plumed. If not, see <http://www.gnu.org/licenses/>. 21 : +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ 22 : #include "ActionSet.h" 23 : 24 : namespace PLMD { 25 : 26 806698 : ActionSet::ActionSet(PlumedMain&p): 27 806698 : plumed(p) { 28 : (void) plumed; // to suppress warning about "unused plumed" 29 806698 : } 30 : 31 806698 : ActionSet::~ActionSet() 32 : { 33 : // required in order to deallocate in reverse order: 34 857804 : for(int i=size()-1; i>=0; i--) (*this)[i].reset(); 35 806698 : } 36 : 37 3 : void ActionSet::clearDelete() { 38 48 : for(int i=size()-1; i>=0; i--) (*this)[i].reset(); 39 3 : clear(); 40 3 : } 41 : 42 6372 : ActionShortcut* ActionSet::getShortcutActionWithLabel( const std::string& s ) const { 43 : ActionShortcut* scf = NULL; 44 273396 : for(const auto & p : (*this)) { 45 267024 : ActionShortcut* sc=dynamic_cast<ActionShortcut*>(p.get()); 46 267024 : if( sc && sc->shortcutlabel==s ) scf = sc; 47 : } 48 6372 : if( scf ) return scf; 49 : return NULL; 50 : } 51 : 52 : }