# /* **************************************************************************
#  *                                                                          *
#  *     (C) Copyright Paul Mensonides 2002.
#  *     Distributed under 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)
#  *                                                                          *
#  ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# include <ndnboost/preprocessor/slot/detail/shared.hpp>
#
# undef NDNBOOST_PP_SLOT_3
#
# undef NDNBOOST_PP_SLOT_3_DIGIT_1
# undef NDNBOOST_PP_SLOT_3_DIGIT_2
# undef NDNBOOST_PP_SLOT_3_DIGIT_3
# undef NDNBOOST_PP_SLOT_3_DIGIT_4
# undef NDNBOOST_PP_SLOT_3_DIGIT_5
# undef NDNBOOST_PP_SLOT_3_DIGIT_6
# undef NDNBOOST_PP_SLOT_3_DIGIT_7
# undef NDNBOOST_PP_SLOT_3_DIGIT_8
# undef NDNBOOST_PP_SLOT_3_DIGIT_9
# undef NDNBOOST_PP_SLOT_3_DIGIT_10
#
# if NDNBOOST_PP_SLOT_TEMP_10 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 0
# elif NDNBOOST_PP_SLOT_TEMP_10 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 1
# elif NDNBOOST_PP_SLOT_TEMP_10 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 2
# elif NDNBOOST_PP_SLOT_TEMP_10 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 3
# elif NDNBOOST_PP_SLOT_TEMP_10 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 4
# elif NDNBOOST_PP_SLOT_TEMP_10 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 5
# elif NDNBOOST_PP_SLOT_TEMP_10 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 6
# elif NDNBOOST_PP_SLOT_TEMP_10 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 7
# elif NDNBOOST_PP_SLOT_TEMP_10 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 8
# elif NDNBOOST_PP_SLOT_TEMP_10 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_10 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_9 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 0
# elif NDNBOOST_PP_SLOT_TEMP_9 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 1
# elif NDNBOOST_PP_SLOT_TEMP_9 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 2
# elif NDNBOOST_PP_SLOT_TEMP_9 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 3
# elif NDNBOOST_PP_SLOT_TEMP_9 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 4
# elif NDNBOOST_PP_SLOT_TEMP_9 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 5
# elif NDNBOOST_PP_SLOT_TEMP_9 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 6
# elif NDNBOOST_PP_SLOT_TEMP_9 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 7
# elif NDNBOOST_PP_SLOT_TEMP_9 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 8
# elif NDNBOOST_PP_SLOT_TEMP_9 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_9 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_8 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 0
# elif NDNBOOST_PP_SLOT_TEMP_8 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 1
# elif NDNBOOST_PP_SLOT_TEMP_8 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 2
# elif NDNBOOST_PP_SLOT_TEMP_8 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 3
# elif NDNBOOST_PP_SLOT_TEMP_8 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 4
# elif NDNBOOST_PP_SLOT_TEMP_8 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 5
# elif NDNBOOST_PP_SLOT_TEMP_8 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 6
# elif NDNBOOST_PP_SLOT_TEMP_8 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 7
# elif NDNBOOST_PP_SLOT_TEMP_8 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 8
# elif NDNBOOST_PP_SLOT_TEMP_8 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_8 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_7 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 0
# elif NDNBOOST_PP_SLOT_TEMP_7 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 1
# elif NDNBOOST_PP_SLOT_TEMP_7 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 2
# elif NDNBOOST_PP_SLOT_TEMP_7 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 3
# elif NDNBOOST_PP_SLOT_TEMP_7 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 4
# elif NDNBOOST_PP_SLOT_TEMP_7 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 5
# elif NDNBOOST_PP_SLOT_TEMP_7 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 6
# elif NDNBOOST_PP_SLOT_TEMP_7 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 7
# elif NDNBOOST_PP_SLOT_TEMP_7 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 8
# elif NDNBOOST_PP_SLOT_TEMP_7 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_7 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_6 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 0
# elif NDNBOOST_PP_SLOT_TEMP_6 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 1
# elif NDNBOOST_PP_SLOT_TEMP_6 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 2
# elif NDNBOOST_PP_SLOT_TEMP_6 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 3
# elif NDNBOOST_PP_SLOT_TEMP_6 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 4
# elif NDNBOOST_PP_SLOT_TEMP_6 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 5
# elif NDNBOOST_PP_SLOT_TEMP_6 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 6
# elif NDNBOOST_PP_SLOT_TEMP_6 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 7
# elif NDNBOOST_PP_SLOT_TEMP_6 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 8
# elif NDNBOOST_PP_SLOT_TEMP_6 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_6 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_5 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 0
# elif NDNBOOST_PP_SLOT_TEMP_5 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 1
# elif NDNBOOST_PP_SLOT_TEMP_5 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 2
# elif NDNBOOST_PP_SLOT_TEMP_5 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 3
# elif NDNBOOST_PP_SLOT_TEMP_5 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 4
# elif NDNBOOST_PP_SLOT_TEMP_5 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 5
# elif NDNBOOST_PP_SLOT_TEMP_5 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 6
# elif NDNBOOST_PP_SLOT_TEMP_5 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 7
# elif NDNBOOST_PP_SLOT_TEMP_5 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 8
# elif NDNBOOST_PP_SLOT_TEMP_5 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_5 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_4 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 0
# elif NDNBOOST_PP_SLOT_TEMP_4 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 1
# elif NDNBOOST_PP_SLOT_TEMP_4 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 2
# elif NDNBOOST_PP_SLOT_TEMP_4 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 3
# elif NDNBOOST_PP_SLOT_TEMP_4 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 4
# elif NDNBOOST_PP_SLOT_TEMP_4 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 5
# elif NDNBOOST_PP_SLOT_TEMP_4 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 6
# elif NDNBOOST_PP_SLOT_TEMP_4 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 7
# elif NDNBOOST_PP_SLOT_TEMP_4 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 8
# elif NDNBOOST_PP_SLOT_TEMP_4 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_4 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_3 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 0
# elif NDNBOOST_PP_SLOT_TEMP_3 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 1
# elif NDNBOOST_PP_SLOT_TEMP_3 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 2
# elif NDNBOOST_PP_SLOT_TEMP_3 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 3
# elif NDNBOOST_PP_SLOT_TEMP_3 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 4
# elif NDNBOOST_PP_SLOT_TEMP_3 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 5
# elif NDNBOOST_PP_SLOT_TEMP_3 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 6
# elif NDNBOOST_PP_SLOT_TEMP_3 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 7
# elif NDNBOOST_PP_SLOT_TEMP_3 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 8
# elif NDNBOOST_PP_SLOT_TEMP_3 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_3 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_2 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 0
# elif NDNBOOST_PP_SLOT_TEMP_2 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 1
# elif NDNBOOST_PP_SLOT_TEMP_2 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 2
# elif NDNBOOST_PP_SLOT_TEMP_2 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 3
# elif NDNBOOST_PP_SLOT_TEMP_2 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 4
# elif NDNBOOST_PP_SLOT_TEMP_2 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 5
# elif NDNBOOST_PP_SLOT_TEMP_2 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 6
# elif NDNBOOST_PP_SLOT_TEMP_2 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 7
# elif NDNBOOST_PP_SLOT_TEMP_2 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 8
# elif NDNBOOST_PP_SLOT_TEMP_2 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_2 9
# endif
#
# if NDNBOOST_PP_SLOT_TEMP_1 == 0
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 0
# elif NDNBOOST_PP_SLOT_TEMP_1 == 1
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 1
# elif NDNBOOST_PP_SLOT_TEMP_1 == 2
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 2
# elif NDNBOOST_PP_SLOT_TEMP_1 == 3
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 3
# elif NDNBOOST_PP_SLOT_TEMP_1 == 4
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 4
# elif NDNBOOST_PP_SLOT_TEMP_1 == 5
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 5
# elif NDNBOOST_PP_SLOT_TEMP_1 == 6
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 6
# elif NDNBOOST_PP_SLOT_TEMP_1 == 7
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 7
# elif NDNBOOST_PP_SLOT_TEMP_1 == 8
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 8
# elif NDNBOOST_PP_SLOT_TEMP_1 == 9
#    define NDNBOOST_PP_SLOT_3_DIGIT_1 9
# endif
#
# if NDNBOOST_PP_SLOT_3_DIGIT_10
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_10(NDNBOOST_PP_SLOT_3_DIGIT_10, NDNBOOST_PP_SLOT_3_DIGIT_9, NDNBOOST_PP_SLOT_3_DIGIT_8, NDNBOOST_PP_SLOT_3_DIGIT_7, NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# elif NDNBOOST_PP_SLOT_3_DIGIT_9
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_9(NDNBOOST_PP_SLOT_3_DIGIT_9, NDNBOOST_PP_SLOT_3_DIGIT_8, NDNBOOST_PP_SLOT_3_DIGIT_7, NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# elif NDNBOOST_PP_SLOT_3_DIGIT_8
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_8(NDNBOOST_PP_SLOT_3_DIGIT_8, NDNBOOST_PP_SLOT_3_DIGIT_7, NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# elif NDNBOOST_PP_SLOT_3_DIGIT_7
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_7(NDNBOOST_PP_SLOT_3_DIGIT_7, NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# elif NDNBOOST_PP_SLOT_3_DIGIT_6
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_6(NDNBOOST_PP_SLOT_3_DIGIT_6, NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# elif NDNBOOST_PP_SLOT_3_DIGIT_5
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_5(NDNBOOST_PP_SLOT_3_DIGIT_5, NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# elif NDNBOOST_PP_SLOT_3_DIGIT_4
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_4(NDNBOOST_PP_SLOT_3_DIGIT_4, NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# elif NDNBOOST_PP_SLOT_3_DIGIT_3
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_3(NDNBOOST_PP_SLOT_3_DIGIT_3, NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# elif NDNBOOST_PP_SLOT_3_DIGIT_2
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_CC_2(NDNBOOST_PP_SLOT_3_DIGIT_2, NDNBOOST_PP_SLOT_3_DIGIT_1)
# else
#    define NDNBOOST_PP_SLOT_3() NDNBOOST_PP_SLOT_3_DIGIT_1
# endif
