blob: ebb092626fc5fd4d08ac63910cc9eb6186adb5a0 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001// Boost.Function library
2
3// Copyright Douglas Gregor 2001-2003. Use, modification and
4// distribution is subject to the Boost Software License, Version
5// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6// http://www.boost.org/LICENSE_1_0.txt)
7
8// For more information, see http://www.boost.org/libs/function
9
10// William Kempf, Jesse Jones and Karl Nelson were all very helpful in the
11// design of this library.
12
13#include <functional> // unary_function, binary_function
14
15#include <ndnboost/preprocessor/iterate.hpp>
16#include <ndnboost/detail/workaround.hpp>
17
Jeff Thompson3d613fd2013-10-15 15:39:04 -070018#ifndef NDNBOOST_FUNCTION_MAX_ARGS
19# define NDNBOOST_FUNCTION_MAX_ARGS 10
20#endif // NDNBOOST_FUNCTION_MAX_ARGS
Jeff Thompsona28eed82013-08-22 16:21:10 -070021
22// Include the prologue here so that the use of file-level iteration
23// in anything that may be included by function_template.hpp doesn't break
24#include <ndnboost/function/detail/prologue.hpp>
25
26// Older Visual Age C++ version do not handle the file iteration well
Jeff Thompson3d613fd2013-10-15 15:39:04 -070027#if NDNBOOST_WORKAROUND(__IBMCPP__, >= 500) && NDNBOOST_WORKAROUND(__IBMCPP__, < 800)
28# if NDNBOOST_FUNCTION_MAX_ARGS >= 0
Jeff Thompsona28eed82013-08-22 16:21:10 -070029# include <ndnboost/function/function0.hpp>
30# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070031# if NDNBOOST_FUNCTION_MAX_ARGS >= 1
Jeff Thompsona28eed82013-08-22 16:21:10 -070032# include <ndnboost/function/function1.hpp>
33# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070034# if NDNBOOST_FUNCTION_MAX_ARGS >= 2
Jeff Thompsona28eed82013-08-22 16:21:10 -070035# include <ndnboost/function/function2.hpp>
36# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070037# if NDNBOOST_FUNCTION_MAX_ARGS >= 3
Jeff Thompsona28eed82013-08-22 16:21:10 -070038# include <ndnboost/function/function3.hpp>
39# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070040# if NDNBOOST_FUNCTION_MAX_ARGS >= 4
Jeff Thompsona28eed82013-08-22 16:21:10 -070041# include <ndnboost/function/function4.hpp>
42# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070043# if NDNBOOST_FUNCTION_MAX_ARGS >= 5
Jeff Thompsona28eed82013-08-22 16:21:10 -070044# include <ndnboost/function/function5.hpp>
45# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070046# if NDNBOOST_FUNCTION_MAX_ARGS >= 6
Jeff Thompsona28eed82013-08-22 16:21:10 -070047# include <ndnboost/function/function6.hpp>
48# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070049# if NDNBOOST_FUNCTION_MAX_ARGS >= 7
Jeff Thompsona28eed82013-08-22 16:21:10 -070050# include <ndnboost/function/function7.hpp>
51# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070052# if NDNBOOST_FUNCTION_MAX_ARGS >= 8
Jeff Thompsona28eed82013-08-22 16:21:10 -070053# include <ndnboost/function/function8.hpp>
54# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070055# if NDNBOOST_FUNCTION_MAX_ARGS >= 9
Jeff Thompsona28eed82013-08-22 16:21:10 -070056# include <ndnboost/function/function9.hpp>
57# endif
Jeff Thompson3d613fd2013-10-15 15:39:04 -070058# if NDNBOOST_FUNCTION_MAX_ARGS >= 10
Jeff Thompsona28eed82013-08-22 16:21:10 -070059# include <ndnboost/function/function10.hpp>
60# endif
61#else
62// What is the '3' for?
Jeff Thompson3d613fd2013-10-15 15:39:04 -070063# define NDNBOOST_PP_ITERATION_PARAMS_1 (3,(0,NDNBOOST_FUNCTION_MAX_ARGS,<ndnboost/function/detail/function_iterate.hpp>))
64# include NDNBOOST_PP_ITERATE()
65# undef NDNBOOST_PP_ITERATION_PARAMS_1
Jeff Thompsona28eed82013-08-22 16:21:10 -070066#endif