1 /** 2 * 3 * Copyright (c) 2005-2021 by Pierre-Henri WUILLEMIN(_at_LIP6) & Christophe GONZALES(_at_AMU) 4 * info_at_agrum_dot_org 5 * 6 * This library is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU Lesser General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public License 17 * along with this library. If not, see <http://www.gnu.org/licenses/>. 18 * 19 */ 20 21 22 /** 23 * @file 24 * @brief Class of gum::Signaler6. 25 * 26 * @author Pierre-Henri WUILLEMIN(_at_LIP6) & Christophe GONZALES(_at_AMU) 27 * 28 */ 29 30 #ifndef GUM_SIGNALER_H 31 #define GUM_SIGNALER_H 32 33 #include <agrum/tools/core/signal/signaler.h> 34 35 #define MAKE_NAME(nom) nom##6 36 #define LIST_DECL_CLASSES \ 37 class type1, class type2, class type3, class type4, class type5, class type6 38 #define LIST_CLASSES type1, type2, type3, type4, type5, type6 39 #define LIST_DECL_ARGS type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6 40 #define LIST_ARGS arg1, arg2, arg3, arg4, arg5, arg6 41 42 #define GUM_EMIT6(signal, arg1, arg2, arg3, arg4, arg5, arg6) \ 43 this->signal(this, arg1, arg2, arg3, arg4, arg5, arg6) 44 45 #define SIGNALER_PATRON_ACCEPTED 46 #include <agrum/tools/core/signal/signaler_with_args.pattern.h> 47 48 #endif // GUM_SIGNALER_H 49