X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finclude%2Fcompare.hh;h=9822526e037dc001d00d66d021894da178dcb56f;hb=af60e9b57f205a3c2e044ac8db351b42ef3e26ad;hp=a9fde513a5ccc1ef597c937471b82a95c1ea2249;hpb=58bcc84c9480dae1b21bc24d8396b91fe19e0131;p=lilypond.git diff --git a/flower/include/compare.hh b/flower/include/compare.hh index a9fde513a5..9822526e03 100644 --- a/flower/include/compare.hh +++ b/flower/include/compare.hh @@ -1,49 +1,48 @@ /* - flowerlib + This file is part of LilyPond, the GNU music typesetter. - (c) 1996--2005 Han-Wen Nienhuys + Copyright (C) 1996--2012 Han-Wen Nienhuys + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef COMPARE_HH #define COMPARE_HH -#define ONE_OPERATOR(type, function, op) \ - inline bool \ - operator op (type t1, type t2) \ - { \ - return function (t1, t2) op 0; \ +#define ONE_OPERATOR(type, function, op) \ + inline bool \ + operator op (type t1, type t2) \ + { \ + return function (t1, t2) op 0; \ } -#define GPP_MINMAX_OPERATOR(type, op, opp) \ - inline type \ - operator op (type t1, type t2) \ - { \ - return (t1 opp t2) ? t1 : t2; \ - } - -#if defined (__GNUG__) && ! defined (__STRICT_ANSI__) -#define GPP_MINMAX(type, prefix) \ - prefix GPP_MINMAX_OPERATOR (type, ?, >) -#else -#define GPP_MINMAX (type, prefix) -#endif - /** handy notations for a signed comparison. make the operators{<,<=,==,>=,>} and the MAX and MIN of two. Please fill a & in the type argument if necessary. */ -#define TEMPLATE_INSTANTIATE_COMPARE(type, function, prefix) \ - prefix ONE_OPERATOR (type, function, >) \ - prefix ONE_OPERATOR (type, function, >=) \ - prefix ONE_OPERATOR (type, function, ==) \ - prefix ONE_OPERATOR (type, function, !=) \ - prefix ONE_OPERATOR (type, function, <) \ - prefix ONE_OPERATOR (type, function, <=) \ - GPP_MINMAX (type, prefix) \ - prefix inline type max (type t1, type t2) { return (t1 > t2)? t1 : t2; } \ - prefix inline type min (type t1, type t2) { return (t1 < t2)? t1 : t2; } \ - \ - prefix bool operator< (type t1, type t2) /* stupid fix to allow ; */ +#define TEMPLATE_INSTANTIATE_COMPARE(type, function, prefix) \ + prefix ONE_OPERATOR (type, function, >) \ + prefix ONE_OPERATOR (type, function, >=) \ + prefix ONE_OPERATOR (type, function, ==) \ + prefix ONE_OPERATOR (type, function, !=) \ + prefix ONE_OPERATOR (type, function, <) \ + prefix ONE_OPERATOR (type, function, <=) \ + /* namespace std { */ \ + prefix inline type max (type t1, type t2) { return (t1 > t2) ? t1 : t2; } \ + prefix inline type min (type t1, type t2) { return (t1 < t2) ? t1 : t2; } \ + /* } */ \ + /* stupid fix to allow ; */ \ + prefix bool operator < (type t1, type t2) #define INSTANTIATE_COMPARE(type, func) TEMPLATE_INSTANTIATE_COMPARE (type, func,)