| 123456789101112131415161718192021222324252627282930313233 |
- // Copyright Daniel Wallin 2008. 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 LUABIND_PROPERTY_081020_HPP
- # define LUABIND_PROPERTY_081020_HPP
- namespace luabind { namespace detail {
- template <class Class, class T, class Result = T>
- struct access_member_ptr
- {
- access_member_ptr(T Class::* mem_ptr)
- : mem_ptr(mem_ptr)
- {}
- Result operator()(Class const& x) const
- {
- return const_cast<Class&>(x).*mem_ptr;
- }
- void operator()(Class& x, T const& value) const
- {
- x.*mem_ptr = value;
- }
- T Class::* mem_ptr;
- };
- }} // namespace luabind::detail
- #endif // LUABIND_PROPERTY_081020_HPP
|