1 /* 2 * cAnalyzeCommand.h 3 * Avida 4 * 5 * Called "analyze_command.hh" prior to 12/1/05. 6 * Copyright 1999-2011 Michigan State University. All rights reserved. 7 * Copyright 1993-2003 California Institute of Technology. 8 * 9 * 10 * This file is part of Avida. 11 * 12 * Avida is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License 13 * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 14 * 15 * Avida is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public License along with Avida. 19 * If not, see <http://www.gnu.org/licenses/>. 20 * 21 */ 22 23 #ifndef cAnalyzeCommand_h 24 #define cAnalyzeCommand_h 25 26 #ifndef cString_h 27 #include "cString.h" 28 #endif 29 30 // cAnalyzeCommand : A command in a loaded program 31 32 template <class T> class tList; 33 34 class cAnalyzeCommand 35 { 36 protected: 37 cString m_command; 38 cString m_args; 39 40 41 private: 42 cAnalyzeCommand(); // @not_implemented 43 cAnalyzeCommand(const cAnalyzeCommand&); // @not_implemented 44 cAnalyzeCommand& operator=(const cAnalyzeCommand&); // @not_implemented 45 46 47 public: cAnalyzeCommand(const cString & command,const cString & args)48 cAnalyzeCommand(const cString& command, const cString& args) : m_command(command), m_args(args) { ; } ~cAnalyzeCommand()49 virtual ~cAnalyzeCommand() { ; } 50 GetCommand()51 const cString& GetCommand() { return m_command; } GetArgs()52 const cString& GetArgs() const { return m_args; } GetArgs()53 cString GetArgs() { return m_args; } GetCommandList()54 virtual tList<cAnalyzeCommand>* GetCommandList() { return NULL; } 55 56 /* 57 added to satisfy Boost.Python; the semantics are fairly useless -- 58 equality of two references means that they refer to the same object. 59 */ 60 bool operator==(const cAnalyzeCommand &in) const { return &in == this; } 61 }; 62 63 #endif 64