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 806820 : ActionSet::ActionSet(PlumedMain&p): 27 806820 : plumed(p) { 28 : (void) plumed; // to suppress warning about "unused plumed" 29 806820 : } 30 : 31 806820 : ActionSet::~ActionSet() { 32 : // required in order to deallocate in reverse order: 33 857699 : for(int i=size()-1; i>=0; i--) { 34 50879 : (*this)[i].reset(); 35 : } 36 806820 : } 37 : 38 3 : void ActionSet::clearDelete() { 39 48 : for(int i=size()-1; i>=0; i--) { 40 45 : (*this)[i].reset(); 41 : } 42 3 : clear(); 43 3 : } 44 : 45 6516 : ActionShortcut* ActionSet::getShortcutActionWithLabel( const std::string& s ) const { 46 : ActionShortcut* scf = NULL; 47 274502 : for(const auto & p : (*this)) { 48 267986 : ActionShortcut* sc=dynamic_cast<ActionShortcut*>(p.get()); 49 267986 : if( sc && sc->shortcutlabel==s ) { 50 : scf = sc; 51 : } 52 : } 53 6516 : if( scf ) { 54 2193 : return scf; 55 : } 56 : return NULL; 57 : } 58 : 59 : }