
// (C) Copyright Tobias Schwinger
//
// Use modification and distribution are subject to the boost Software License,
// Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).

//------------------------------------------------------------------------------

// this file has been generated from the master.hpp file in the same directory
# define NDNBOOST_FT_mfp 0
# define NDNBOOST_FT_syntax NDNBOOST_FT_type_function
# if ! ! (4 & (NDNBOOST_FT_variations))
# if (519 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv 
# define NDNBOOST_FT_flags 519
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (4 & (NDNBOOST_FT_variations))
# if (263 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv 
# define NDNBOOST_FT_flags 263
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if !NDNBOOST_FT_NO_CV_FUNC_SUPPORT
# if ! ! (4 & (NDNBOOST_FT_variations))
# if (1543 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv const
# define NDNBOOST_FT_flags 1543
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (4 & (NDNBOOST_FT_variations))
# if (1287 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv const
# define NDNBOOST_FT_flags 1287
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (4 & (NDNBOOST_FT_variations))
# if (2567 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv volatile
# define NDNBOOST_FT_flags 2567
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (4 & (NDNBOOST_FT_variations))
# if (2311 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv volatile
# define NDNBOOST_FT_flags 2311
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (4 & (NDNBOOST_FT_variations))
# if (3591 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv const volatile
# define NDNBOOST_FT_flags 3591
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (4 & (NDNBOOST_FT_variations))
# if (3335 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv const volatile
# define NDNBOOST_FT_flags 3335
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# endif
# undef NDNBOOST_FT_syntax
# define NDNBOOST_FT_syntax NDNBOOST_FT_type_function_pointer
# if ! ! (8 & (NDNBOOST_FT_variations))
# if (523 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv 
# define NDNBOOST_FT_flags 523
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (8 & (NDNBOOST_FT_variations))
# if (267 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv 
# define NDNBOOST_FT_flags 267
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# undef NDNBOOST_FT_syntax
# define NDNBOOST_FT_syntax NDNBOOST_FT_type_function_reference
# if ! ! (16 & (NDNBOOST_FT_variations))
# if (531 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv 
# define NDNBOOST_FT_flags 531
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (16 & (NDNBOOST_FT_variations))
# if (275 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv 
# define NDNBOOST_FT_flags 275
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# undef NDNBOOST_FT_syntax
# undef NDNBOOST_FT_mfp
# define NDNBOOST_FT_mfp 1
# define NDNBOOST_FT_syntax NDNBOOST_FT_type_member_function_pointer
# if ! ! (96 & (NDNBOOST_FT_variations))
# if (609 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv 
# define NDNBOOST_FT_flags 609
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (96 & (NDNBOOST_FT_variations))
# if (353 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv 
# define NDNBOOST_FT_flags 353
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (96 & (NDNBOOST_FT_variations))
# if (1633 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv const
# define NDNBOOST_FT_flags 1633
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (96 & (NDNBOOST_FT_variations))
# if (1377 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv const
# define NDNBOOST_FT_flags 1377
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (96 & (NDNBOOST_FT_variations))
# if (2657 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv volatile
# define NDNBOOST_FT_flags 2657
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (96 & (NDNBOOST_FT_variations))
# if (2401 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv volatile
# define NDNBOOST_FT_flags 2401
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (96 & (NDNBOOST_FT_variations))
# if (3681 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell
# define NDNBOOST_FT_nullary_param NDNBOOST_FT_NULLARY_PARAM
# define NDNBOOST_FT_cv const volatile
# define NDNBOOST_FT_flags 3681
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# if ! ! (96 & (NDNBOOST_FT_variations))
# if (3425 & (NDNBOOST_FT_cond)) == (NDNBOOST_FT_cond)
# define NDNBOOST_FT_ell ...
# define NDNBOOST_FT_nullary_param
# define NDNBOOST_FT_cv const volatile
# define NDNBOOST_FT_flags 3425
# include NDNBOOST_FT_variate_file
# undef NDNBOOST_FT_cv
# undef NDNBOOST_FT_ell
# undef NDNBOOST_FT_nullary_param
# undef NDNBOOST_FT_flags
# endif
# endif
# undef NDNBOOST_FT_syntax
# undef NDNBOOST_FT_mfp
