1 /* 2 GUIDO Library 3 Copyright (C) 2006 Grame 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 19 Grame Research Laboratory, 9 rue du Garet, 69001 Lyon - France 20 research@grame.fr 21 22 */ 23 24 #ifndef __operation__ 25 #define __operation__ 26 27 #include "arexport.h" 28 #include "ARTypes.h" 29 30 namespace guido 31 { 32 33 /*! 34 \addtogroup operations 35 @{ 36 */ 37 38 //______________________________________________________________________________ 39 /*! 40 \brief A visitor to print the gmn description 41 */ 42 class gar_export operation 43 { 44 public: operation()45 operation() {} ~operation()46 virtual ~operation() {} 47 48 virtual SARMusic operator() ( const SARMusic& score1, const SARMusic& score2 ) = 0; 49 }; 50 51 /*! @} */ 52 53 } // namespace 54 55 #endif 56