]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | |
2 | // (C) Copyright Tobias Schwinger | |
3 | // | |
4 | // Use modification and distribution are subject to the boost Software License, | |
5 | // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). | |
6 | ||
7 | //------------------------------------------------------------------------------ | |
8 | ||
9 | // no include guards, this file is guarded externally | |
10 | ||
11 | // this file has been generated from the master.hpp file in the same directory | |
12 | namespace boost { namespace function_types { | |
13 | typedef detail::property_tag<0x00000200,0x00000300> non_variadic; | |
14 | typedef detail::property_tag<0x00000100,0x00000300> variadic; | |
15 | typedef detail::property_tag<0,0x00000400> non_const; | |
16 | typedef detail::property_tag<0x00000400,0x00000400> const_qualified; | |
17 | typedef detail::property_tag<0,0x00000800> non_volatile; | |
18 | typedef detail::property_tag<0x00000800,0x00000800> volatile_qualified; | |
19 | typedef detail::property_tag<0x00008000,0x00ff8000> default_cc; | |
20 | typedef detail::property_tag<0 , 3072> non_cv; | |
21 | typedef detail::property_tag<0x00000400 , 3072> const_non_volatile; | |
22 | typedef detail::property_tag<0x00000800, 3072> volatile_non_const; | |
23 | typedef detail::property_tag<3072 , 3072> cv_qualified; | |
24 | namespace detail { | |
25 | typedef constant<0x00ff0fff> full_mask; | |
26 | template <bits_t Flags, bits_t CCID> struct encode_bits_impl | |
27 | { | |
28 | BOOST_STATIC_CONSTANT( bits_t, value = | |
29 | Flags | (0x00008000 * CCID) << 1 ); | |
30 | }; | |
31 | template <bits_t Flags, bits_t CCID, std::size_t Arity> | |
32 | struct encode_charr_impl | |
33 | { | |
34 | BOOST_STATIC_CONSTANT(std::size_t, value = (std::size_t)(1+ | |
35 | Flags | (0x00008000 * CCID) << 1 | Arity << 24 | |
36 | )); | |
37 | }; | |
38 | template <bits_t Bits> struct decode_bits | |
39 | { | |
40 | BOOST_STATIC_CONSTANT(bits_t, flags = Bits & 0x00000fff); | |
41 | BOOST_STATIC_CONSTANT(bits_t, cc_id = | |
42 | ( (Bits & 0x00ff0fff) / 0x00008000) >> 1 | |
43 | ); | |
44 | BOOST_STATIC_CONSTANT(bits_t, tag_bits = (Bits & 0x00ff0fff)); | |
45 | BOOST_STATIC_CONSTANT(std::size_t, arity = (std::size_t) | |
46 | (Bits >> 24) | |
47 | ); | |
48 | }; | |
49 | template <bits_t LHS_bits, bits_t LHS_mask, bits_t RHS_bits, bits_t RHS_mask> | |
50 | struct tag_ice | |
51 | { | |
52 | BOOST_STATIC_CONSTANT(bool, match = | |
53 | RHS_bits == (LHS_bits & RHS_mask & (RHS_bits | ~0x000000ff)) | |
54 | ); | |
55 | BOOST_STATIC_CONSTANT(bits_t, combined_bits = | |
56 | (LHS_bits & ~RHS_mask) | RHS_bits | |
57 | ); | |
58 | BOOST_STATIC_CONSTANT(bits_t, combined_mask = | |
59 | LHS_mask | RHS_mask | |
60 | ); | |
61 | BOOST_STATIC_CONSTANT(bits_t, extracted_bits = | |
62 | LHS_bits & RHS_mask | |
63 | ); | |
64 | }; | |
65 | typedef property_tag<0x00000001,0x000000ff> callable_builtin_tag; | |
66 | typedef property_tag<0x00000003,0x000000ff> nonmember_callable_builtin_tag; | |
67 | typedef property_tag<0x00000007,0x000000ff> function_tag; | |
68 | typedef property_tag<0x00000013,0x000000ff> reference_tag; | |
69 | typedef property_tag<0x0000000b,0x000000ff> pointer_tag; | |
70 | typedef property_tag<0x00000061,0x000000ff> member_function_pointer_tag; | |
71 | typedef property_tag<0x000000a3,0x000000ff> member_object_pointer_tag; | |
72 | typedef property_tag<0x000002a3,0x00ff0fff> member_object_pointer_base; | |
73 | typedef property_tag<0x00000020,0x000000ff> member_pointer_tag; | |
74 | typedef property_tag< 33287 , 16745471 > nv_dcc_func; | |
75 | typedef property_tag< 33377 , 16745471 > nv_dcc_mfp; | |
76 | } | |
77 | } } |