is_empty.hpp 605 B

12345678910111213141516171819202122232425262728
  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. #ifndef BOOST_TYPE_ERASURE_IS_EMPTY_HPP_INCLUDED
  11. #define BOOST_TYPE_ERASURE_IS_EMPTY_HPP_INCLUDED
  12. #include <boost/type_erasure/detail/access.hpp>
  13. namespace boost {
  14. namespace type_erasure {
  15. /** Returns true for an empty @ref any. */
  16. template<class T>
  17. bool is_empty(const T& arg) {
  18. return ::boost::type_erasure::detail::access::data(arg).data == 0;
  19. }
  20. }
  21. }
  22. #endif