From 7aec0e45bda6e80385c99aadcb420b034f7eccd5 Mon Sep 17 00:00:00 2001 From: Adam Wulkiewicz Date: Sun, 12 Apr 2015 15:08:55 +0200 Subject: [PATCH] [core] Add/improve ignore_unused() function specifiers. Add C++14 constexpr by BOOST_CXX14_CONSTEXPR. Replace inline with BOOST_FORCEINLINE. --- include/boost/core/ignore_unused.hpp | 24 ++++++++++++------------ test/ignore_unused_test.cpp | 11 +++++++++++ 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/include/boost/core/ignore_unused.hpp b/include/boost/core/ignore_unused.hpp index 22047c2..994e5f6 100644 --- a/include/boost/core/ignore_unused.hpp +++ b/include/boost/core/ignore_unused.hpp @@ -14,53 +14,53 @@ namespace boost { #ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES template -inline void ignore_unused(Ts const& ...) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(Ts const& ...) {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} #else template -inline void ignore_unused(T1 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&) {} template -inline void ignore_unused(T1 const&, T2 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&) {} template -inline void ignore_unused(T1 const&, T2 const&, T3 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&) {} template -inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&) {} template -inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&) {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} #endif diff --git a/test/ignore_unused_test.cpp b/test/ignore_unused_test.cpp index 4c81aaf..67bdd80 100644 --- a/test/ignore_unused_test.cpp +++ b/test/ignore_unused_test.cpp @@ -6,6 +6,12 @@ #include +BOOST_CXX14_CONSTEXPR int test_fun(int a) +{ + boost::ignore_unused(a); + return 0; +} + int main() { { @@ -60,5 +66,10 @@ int main() boost::ignore_unused(); } + { + BOOST_CXX14_CONSTEXPR const int a = test_fun(0); + boost::ignore_unused(a); + } + return 0; }