12345678910111213141516171819202122232425262728293031323334 |
- /*=============================================================================
- 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
|