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