Blame view

3rdparty/boost_1_81_0/boost/function/function_fwd.hpp 2.53 KB
63e88f80   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  // Boost.Function library
  //  Copyright (C) Douglas Gregor 2008
  //
  //  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
  #ifndef BOOST_FUNCTION_FWD_HPP
  #define BOOST_FUNCTION_FWD_HPP
  #include <boost/config.hpp>
  
  #if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG)
  // Work around a compiler bug.
  // boost::python::objects::function has to be seen by the compiler before the
  // boost::function class template.
  namespace boost { namespace python { namespace objects {
    class function;
  }}}
  #endif
  
  #if defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG)                         \
   || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540)
  #  define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX
  #endif
  
  namespace boost {
    class bad_function_call;
  
  #if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
    // Preferred syntax
    template<typename Signature> class function;
  
    template<typename Signature>
    inline void swap(function<Signature>& f1, function<Signature>& f2)
    {
      f1.swap(f2);
    }
  #endif // have partial specialization
  
    // Portable syntax
    template<typename R> class function0;
    template<typename R, typename T1> class function1;
    template<typename R, typename T1, typename T2> class function2;
    template<typename R, typename T1, typename T2, typename T3> class function3;
    template<typename R, typename T1, typename T2, typename T3, typename T4> 
      class function4;
    template<typename R, typename T1, typename T2, typename T3, typename T4,
             typename T5> 
      class function5;
    template<typename R, typename T1, typename T2, typename T3, typename T4,
             typename T5, typename T6> 
      class function6;
    template<typename R, typename T1, typename T2, typename T3, typename T4,
             typename T5, typename T6, typename T7> 
      class function7;
    template<typename R, typename T1, typename T2, typename T3, typename T4,
             typename T5, typename T6, typename T7, typename T8> 
      class function8;
    template<typename R, typename T1, typename T2, typename T3, typename T4,
             typename T5, typename T6, typename T7, typename T8, typename T9> 
      class function9;
    template<typename R, typename T1, typename T2, typename T3, typename T4,
             typename T5, typename T6, typename T7, typename T8, typename T9,
             typename T10> 
      class function10;
  }
  
  #endif