Line data Source code
1 : // Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland.
2 : //
3 : // Use, modification and distribution is subject to the Boost Software License,
4 : // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 : // http://www.boost.org/LICENSE_1_0.txt)
6 :
7 : #ifndef BOOST_CORE_IGNORE_UNUSED_HPP
8 : #define BOOST_CORE_IGNORE_UNUSED_HPP
9 :
10 : #include <boost/config.hpp>
11 :
12 : namespace boost {
13 :
14 : #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
15 :
16 : #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
17 :
18 : template <typename... Ts>
19 26576 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(Ts&& ...)
20 26576 : {}
21 :
22 : #else
23 :
24 : template <typename... Ts>
25 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(Ts const& ...)
26 : {}
27 :
28 : #endif
29 :
30 : template <typename... Ts>
31 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
32 : {}
33 :
34 : #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
35 :
36 : template <typename T1>
37 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&)
38 : {}
39 :
40 : template <typename T1>
41 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&)
42 : {}
43 :
44 : template <typename T1, typename T2>
45 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&, T2&)
46 : {}
47 :
48 : template <typename T1, typename T2>
49 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&)
50 : {}
51 :
52 : template <typename T1, typename T2, typename T3>
53 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&, T2&, T3&)
54 : {}
55 :
56 : template <typename T1, typename T2, typename T3>
57 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&)
58 : {}
59 :
60 : template <typename T1, typename T2, typename T3, typename T4>
61 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&, T2&, T3&, T4&)
62 : {}
63 :
64 : template <typename T1, typename T2, typename T3, typename T4>
65 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&)
66 : {}
67 :
68 : template <typename T1, typename T2, typename T3, typename T4, typename T5>
69 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&, T2&, T3&, T4&, T5&)
70 : {}
71 :
72 : template <typename T1, typename T2, typename T3, typename T4, typename T5>
73 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&)
74 : {}
75 :
76 : template <typename T1>
77 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
78 : {}
79 :
80 : template <typename T1, typename T2>
81 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
82 : {}
83 :
84 : template <typename T1, typename T2, typename T3>
85 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
86 : {}
87 :
88 : template <typename T1, typename T2, typename T3, typename T4>
89 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
90 : {}
91 :
92 : template <typename T1, typename T2, typename T3, typename T4, typename T5>
93 : BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
94 : {}
95 :
96 : #endif
97 :
98 : } // namespace boost
99 :
100 : #endif // BOOST_CORE_IGNORE_UNUSED_HPP
|