Skip to content

Commit c9582ce

Browse files
committed
Add support for long long.
Fixes tests on MSVC x64, where lua_Integer == ptrdiff_t == long long.
1 parent b7f97d6 commit c9582ce

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

luabind/detail/policy.hpp

+11-2
Original file line numberDiff line numberDiff line change
@@ -754,17 +754,26 @@ struct default_converter<type const&> \
754754

755755
#endif
756756

757+
// TODO: The preprocessor does not have access to enough information to
758+
// relieably determine which of lua_tointeger or lua_tonumber would be better.
759+
// Convert to using template metaprogramming (could use boost::is_arithmetic).
760+
757761
LUABIND_NUMBER_CONVERTER(char, integer)
758762
LUABIND_NUMBER_CONVERTER(signed char, integer)
759763
LUABIND_NUMBER_CONVERTER(unsigned char, integer)
760764
LUABIND_NUMBER_CONVERTER(signed short, integer)
761765
LUABIND_NUMBER_CONVERTER(unsigned short, integer)
762-
LUABIND_NUMBER_CONVERTER(signed int, integer)
763766

767+
LUABIND_NUMBER_CONVERTER(signed int, integer)
764768
LUABIND_NUMBER_CONVERTER(unsigned int, number)
765769
LUABIND_NUMBER_CONVERTER(unsigned long, number)
766-
767770
LUABIND_NUMBER_CONVERTER(signed long, integer)
771+
772+
#ifndef BOOST_NO_LONG_LONG
773+
LUABIND_NUMBER_CONVERTER(signed long long, number)
774+
LUABIND_NUMBER_CONVERTER(unsigned long long, number)
775+
#endif
776+
768777
LUABIND_NUMBER_CONVERTER(float, number)
769778
LUABIND_NUMBER_CONVERTER(double, number)
770779
LUABIND_NUMBER_CONVERTER(long double, number)

0 commit comments

Comments
 (0)