text: /*=============================================================================
      Copyright (c) 2003 Martin Wille
      http://spirit.sourceforge.net/
  
      Use, modification and distribution is subject to 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)
  =============================================================================*/
  #ifndef BOOST_SPIRIT_TEST_IMPL_VAR_HPP
  #define BOOST_SPIRIT_TEST_IMPL_VAR_HPP
  
  #include <boost/ref.hpp>
  
  namespace test
  {
      template <typename T>
      struct var_wrapper
          : public ::boost::reference_wrapper<T>
      {
          typedef ::boost::reference_wrapper<T> parent;
  
          explicit inline var_wrapper(T& t) : parent(t) {}
  
          inline T& operator()() const { return parent::get(); }
      };
  
      template <typename T>
      inline var_wrapper<T>
      var(T& t)
      {
          return var_wrapper<T>(t);
      }
  }
  #endif // BOOST_SPIRIT_TEST_IMPL_VAR_HPP
  