1 
2 // Copyright (C) 2009-2012 Lorenzo Caminiti
3 // Distributed under the Boost Software License, Version 1.0
4 // (see accompanying file LICENSE_1_0.txt or a copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6 // Home at http://www.boost.org/libs/functional/overloaded_function
7 
8 #ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_HPP_
9 #define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_HPP_
10 
11 /** @file
12 @brief Change the compile-time configuration of this library.
13 */
14 
15 /**
16 @brief Specify the maximum number of arguments of the functions being
17 overloaded.
18 
19 If this macro is left undefined by the user, it has a default value of 5
20 (increasing this number might increase compilation time).
21 When specified by the user, this macro must be a non-negative integer number.
22 
23 @See @RefSect{getting_started, Getting Started},
24 @RefClass{boost::overloaded_function}.
25 */
26 #ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_ARITY_MAX
27 #   define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_ARITY_MAX 5
28 #endif
29 
30 /**
31 @brief Specify the maximum number of functions that can be overloaded.
32 
33 If this macro is left undefined by the user, it has a default value of 5
34 (increasing this number might increase compilation time).
35 When defined by the user, this macro must be an integer number greater or
36 equal than 2 (because at least two distinct functions need to be specified in
37 order to define an overload).
38 
39 @See @RefSect{getting_started, Getting Started},
40 @RefClass{boost::overloaded_function}.
41 */
42 #ifndef BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX
43 #   define BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX 5
44 #endif
45 #if BOOST_FUNCTIONAL_OVERLOADED_FUNCTION_CONFIG_OVERLOAD_MAX < 2
46 #   error "maximum overload macro cannot be less than 2"
47 #endif
48 
49 #endif // #include guard
50 
51