// Boost.Function library

//  Copyright Douglas Gregor 2003. Use, modification and
//  distribution is subject to the Boost Software License, Version
//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
//  http://www.boost.org/LICENSE_1_0.txt)

// For more information, see http://www.boost.org

#if NDNBOOST_FUNCTION_NUM_ARGS == 0
#  ifndef NDNBOOST_FUNCTION_0
#    define NDNBOOST_FUNCTION_0
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 1
#  ifndef NDNBOOST_FUNCTION_1
#    define NDNBOOST_FUNCTION_1
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 2
#  ifndef NDNBOOST_FUNCTION_2
#    define NDNBOOST_FUNCTION_2
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 3
#  ifndef NDNBOOST_FUNCTION_3
#    define NDNBOOST_FUNCTION_3
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 4
#  ifndef NDNBOOST_FUNCTION_4
#    define NDNBOOST_FUNCTION_4
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 5
#  ifndef NDNBOOST_FUNCTION_5
#    define NDNBOOST_FUNCTION_5
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 6
#  ifndef NDNBOOST_FUNCTION_6
#    define NDNBOOST_FUNCTION_6
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 7
#  ifndef NDNBOOST_FUNCTION_7
#    define NDNBOOST_FUNCTION_7
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 8
#  ifndef NDNBOOST_FUNCTION_8
#    define NDNBOOST_FUNCTION_8
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 9
#  ifndef NDNBOOST_FUNCTION_9
#    define NDNBOOST_FUNCTION_9
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 10
#  ifndef NDNBOOST_FUNCTION_10
#    define NDNBOOST_FUNCTION_10
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 11
#  ifndef NDNBOOST_FUNCTION_11
#    define NDNBOOST_FUNCTION_11
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 12
#  ifndef NDNBOOST_FUNCTION_12
#    define NDNBOOST_FUNCTION_12
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 13
#  ifndef NDNBOOST_FUNCTION_13
#    define NDNBOOST_FUNCTION_13
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 14
#  ifndef NDNBOOST_FUNCTION_14
#    define NDNBOOST_FUNCTION_14
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 15
#  ifndef NDNBOOST_FUNCTION_15
#    define NDNBOOST_FUNCTION_15
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 16
#  ifndef NDNBOOST_FUNCTION_16
#    define NDNBOOST_FUNCTION_16
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 17
#  ifndef NDNBOOST_FUNCTION_17
#    define NDNBOOST_FUNCTION_17
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 18
#  ifndef NDNBOOST_FUNCTION_18
#    define NDNBOOST_FUNCTION_18
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 19
#  ifndef NDNBOOST_FUNCTION_19
#    define NDNBOOST_FUNCTION_19
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 20
#  ifndef NDNBOOST_FUNCTION_20
#    define NDNBOOST_FUNCTION_20
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 21
#  ifndef NDNBOOST_FUNCTION_21
#    define NDNBOOST_FUNCTION_21
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 22
#  ifndef NDNBOOST_FUNCTION_22
#    define NDNBOOST_FUNCTION_22
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 23
#  ifndef NDNBOOST_FUNCTION_23
#    define NDNBOOST_FUNCTION_23
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 24
#  ifndef NDNBOOST_FUNCTION_24
#    define NDNBOOST_FUNCTION_24
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 25
#  ifndef NDNBOOST_FUNCTION_25
#    define NDNBOOST_FUNCTION_25
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 26
#  ifndef NDNBOOST_FUNCTION_26
#    define NDNBOOST_FUNCTION_26
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 27
#  ifndef NDNBOOST_FUNCTION_27
#    define NDNBOOST_FUNCTION_27
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 28
#  ifndef NDNBOOST_FUNCTION_28
#    define NDNBOOST_FUNCTION_28
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 29
#  ifndef NDNBOOST_FUNCTION_29
#    define NDNBOOST_FUNCTION_29
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 30
#  ifndef NDNBOOST_FUNCTION_30
#    define NDNBOOST_FUNCTION_30
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 31
#  ifndef NDNBOOST_FUNCTION_31
#    define NDNBOOST_FUNCTION_31
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 32
#  ifndef NDNBOOST_FUNCTION_32
#    define NDNBOOST_FUNCTION_32
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 33
#  ifndef NDNBOOST_FUNCTION_33
#    define NDNBOOST_FUNCTION_33
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 34
#  ifndef NDNBOOST_FUNCTION_34
#    define NDNBOOST_FUNCTION_34
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 35
#  ifndef NDNBOOST_FUNCTION_35
#    define NDNBOOST_FUNCTION_35
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 36
#  ifndef NDNBOOST_FUNCTION_36
#    define NDNBOOST_FUNCTION_36
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 37
#  ifndef NDNBOOST_FUNCTION_37
#    define NDNBOOST_FUNCTION_37
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 38
#  ifndef NDNBOOST_FUNCTION_38
#    define NDNBOOST_FUNCTION_38
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 39
#  ifndef NDNBOOST_FUNCTION_39
#    define NDNBOOST_FUNCTION_39
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 40
#  ifndef NDNBOOST_FUNCTION_40
#    define NDNBOOST_FUNCTION_40
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 41
#  ifndef NDNBOOST_FUNCTION_41
#    define NDNBOOST_FUNCTION_41
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 42
#  ifndef NDNBOOST_FUNCTION_42
#    define NDNBOOST_FUNCTION_42
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 43
#  ifndef NDNBOOST_FUNCTION_43
#    define NDNBOOST_FUNCTION_43
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 44
#  ifndef NDNBOOST_FUNCTION_44
#    define NDNBOOST_FUNCTION_44
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 45
#  ifndef NDNBOOST_FUNCTION_45
#    define NDNBOOST_FUNCTION_45
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 46
#  ifndef NDNBOOST_FUNCTION_46
#    define NDNBOOST_FUNCTION_46
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 47
#  ifndef NDNBOOST_FUNCTION_47
#    define NDNBOOST_FUNCTION_47
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 48
#  ifndef NDNBOOST_FUNCTION_48
#    define NDNBOOST_FUNCTION_48
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 49
#  ifndef NDNBOOST_FUNCTION_49
#    define NDNBOOST_FUNCTION_49
#    include <ndnboost/function/function_template.hpp>
#  endif
#elif NDNBOOST_FUNCTION_NUM_ARGS == 50
#  ifndef NDNBOOST_FUNCTION_50
#    define NDNBOOST_FUNCTION_50
#    include <ndnboost/function/function_template.hpp>
#  endif
#else
#  error Cannot handle Boost.Function objects that accept more than 50 arguments!
#endif
