text: //Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
  
  //Distributed under the Boost Software License, Version 1.0. (See accompanying
  //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  
  #include <boost/exception/get_error_info.hpp>
  #include <boost/exception/info.hpp>
  #include <boost/detail/lightweight_test.hpp>
  #include <boost/detail/workaround.hpp>
  #include <errno.h>
  
  typedef boost::error_info<struct tag_errno,int> info_errno;
  
  class
  my_exception:
      public boost::exception
      {
      };
  
  int
  main()
      {
      try
          {
          errno=1;
          throw my_exception() << info_errno(errno);
          }
      catch(
      my_exception & x )
          {
          BOOST_TEST(1==*boost::get_error_info<info_errno>(x));
          }
      return boost::report_errors();
      }
  