1 // Boost.TypeErasure library 2 // 3 // Copyright 2012 Steven Watanabe 4 // 5 // Distributed under the Boost Software License Version 1.0. (See 6 // accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 // 9 // $Id$ 10 11 #ifndef BOOST_TYPE_ERASURE_IS_EMPTY_HPP_INCLUDED 12 #define BOOST_TYPE_ERASURE_IS_EMPTY_HPP_INCLUDED 13 14 #include <boost/type_erasure/detail/access.hpp> 15 16 namespace boost { 17 namespace type_erasure { 18 19 /** Returns true for an empty @ref any. */ 20 template<class T> is_empty(const T & arg)21bool is_empty(const T& arg) { 22 return ::boost::type_erasure::detail::access::data(arg).data == 0; 23 } 24 25 } 26 } 27 28 #endif 29