Re: [ANN] luabind 0.9-rc1
liam mail <[email protected]>
| Newsgroups | gmane.comp.lang.lua.bind.user |
|---|---|
| Message-ID | <[email protected]> |
2009/12/10 liam mail <[email protected]> > > > 2009/12/10 Daniel Wallin <[email protected]> > > I'm happy to announce the first RC of luabind 0.9. There have been a lot >> of improvements since 0.8.1. Among the more interesting ones are the >> automatic handling of down casts, as well as better smart pointer >> support, and of course the improved performance. >> >> Many thanks to Athena Capital Research who funded a large part of the >> development for this release. >> >> Please test and report problems! >> >> Source packages available for download at: >> >> http://sourceforge.net/projects/luabind/files/ >> >> >> User visible changes since 0.8.1 >> -------------------------------- >> >> * Major optimizations. For example, calling member functions should be >> close to twice as fast. >> >> * Can now automatically handle conversion of any pointer like type >> that implements a get_pointer() overload. >> >> * Now handles virtual and multiple inheritance properly. >> >> * Automatically perform down-casts as well as up-casts when converting >> arguments from Lua to C++. >> >> * When converting from C++ to Lua, polymorphic instances are >> automatically cast to their most derived type. >> >> * Memory optimizations. >> >> * Added `table<>` object wrapper. Can be used to limit a function >> parameter to tables. >> >> Previously: >> >> void f(object const& x) >> { >> // assert that x is table >> } >> >> Now: >> >> void f(table<object> const& x) >> { >> } >> >> * Uses standard luaL_ref() and luaL_unref() functions. This should >> simplify integration with other libraries that make use of the >> registry. >> >> * Deprecated the `raw()` converter policy. lua_State* arguments are now >> automatically handled by the library. >> >> * Fixed common problem where objects would reference a garbage >> collected coroutine. >> >> Breaking changes >> ---------------- >> >> * Dropped support for using a custom type_info. >> >> * `get_const_holder()' was removed, and by extension the automatic >> smart_ptr<X> -> smart_ptr<X const>. >> >> >> Changes since 0.8.1: >> -------------------- >> >> Daniel Wallin (100): >> Remove a lot of unused code. >> Remove unnecessary dependency on Boost.Python. >> Don't use boost::function. >> Remove a bunch of dead code and unnecessary includes. >> Use mpl::vector instead of mpl::list in class_<>. >> Simplify parameter deduction code in class_<> template. >> Use partial specialization for is_bases<>. >> Move "bases<>" definition to class.hpp. >> Add missing <stdexcept> include. >> Replace ref/unref with luaL_ref/luaL_unref. >> Use luaL_ref/luaL_unref in weak_ref. >> Add type_info wrapper class. >> Add table<> object wrapper. >> Fix placeholder macro for GCC4.0. >> Replace include with forward declaration. >> New instance holders. Can hold instance by any pointer type. >> New instance storage implementation. Cleaner and faster. >> Add default converter for boost::shared_ptr<>. >> Use luaL_ref/luaL_unref instead of old ref() mechanism. >> Don't try to return void* from Lua in test. >> Add missing LUABIND_API to luabind::open(). >> Add test for creating instances in Lua threads. >> Add luabind::get_main_thread() API. >> Create instance table reference in the main thread. >> New recursive overload resolver. >> Compute argument indices with converters. >> Automatically convert lua_State* arguments. >> Test user defined converter that consumes 2 parameters. >> Inline more calls when invoking functions. Improves code on GCC. >> Cache conversion result from the scoring stage. >> Reduce the number of API calls for numeric converters. >> Use lua_rawgeti() instead of lua_pushnumber, lua_rawget pair. >> Make adopt_policy::match() stateful. >> Make const_pointer_converter stateful. >> Make shared_ptr_converter stateful. >> Fix builtin converter test. All converters need both conversion stages. >> Fix tests. Need to contain subconverters. >> Add missing detail/ref.hpp include. >> New inheritance graph code. >> Add make_instance() helper function. >> Add tests for new inheritance code. >> Add missing <luabind/wrapper_base.hpp> include. >> Use add_cast() for wrappers as well. >> Handle null pointer in shared_ptr_converter. >> Rework local_id allocation in class_id_map. >> Fix bug in id allocation. >> Make shared_ptr_converter public. >> Test object identity with shared_ptr_converter. >> Handle NULL smart pointers. >> Remove use of conversion_storage. >> Test that adopt() leaves a weak pointer in the Lua object. >> Hold a weak pointer in instance_holder when ownership is released. >> Use false : x : 0 idiom to avoid evaluating x. >> Suppress unused variable warning. >> Keep overload chain alive in function_object. >> Remove old unused table ref member from object_rep. >> Store dependency refs directly in the registry. >> Update version.hpp for v0.9. >> Silence uninitialized variable warning. >> Cache conversion result in value_converter. >> Update version for 0.9 in Jamroot. >> Add test for extending exported classes in Lua. >> Associate polymorphic wrapper back reference with the main thread. >> Remove some stale code. >> Handle returning references to smart pointers. >> Allocate storage for instances with object_rep::allocate(). >> Add missing LUABIND_API to invoke_context. >> Use boost::scoped_ptr<> for pimpl. >> Add missing LUABIND_API to class_id_map. >> Fix bug where local class ids would become incorrect. >> Supress int->bool warnings on MSVC. >> Add missing LUABIND_BUILDING define to inheritance.cpp. >> Use std::size_t instead of int for dependency count. >> Const holder conversion isn't supported any more. Don't test it. >> Use lua_tointeger() instead of casting the result of lua_tonumber(). >> Suppress a bunch of "unreferenced parameter" warnings. >> Suppress MSVC alignment warning (C4121). >> Suppress MSVC unreachable code warning. >> Suppress MSVC "assignment operator could not be generated" warning. >> Make object_rep noncopyable. >> Cast to lua_Integer and lua_Number explicitly in converter. >> Remove compute_arity(). This isn't used any more. >> Revert 5134297. This caused overload ambiguities. >> Fix leak in "super" upvalue. >> Store main thread lua_State* in shared_ptr_deleter. >> Fix class_info() calling lua_typename() with stack index. >> Kill old detail::is_class_object() function. >> Fix set_instance_value() bug that overwrote class values. >> Don't test smart ptr features that have been removed. >> docs: Rewrite section on smart pointers. >> docs: Remove note about library being in beta phase. >> Use lua_pushliteral() where possible. >> Don't use lua_tointeger() for unsigned int on MSVC. >> Suppress int->bool warnings on MSVC. >> Don't leak cast-graph objects. >> docs: Add note about functions returning smart pointers. >> Accept "nil" in char const* converter. >> Always use lua_tonumber() for unsigned int/long. >> cast_graph::cast() should return the score as int. >> Fix placeholder definitions to match changes in Boost 1.39. >> >> Evan Wies (3): >> Don't crash if class_info() is called on non-luabind objects. >> Add Lua function class_names() giving a list of registered types. >> Test that class_info() don't crash when passed non-luabind objects. >> >> Kenny Peng (1): >> Address a name conflict with termios.h. >> >> Nigel Atkinson (1): >> Don't use same name for parameter and type. >> >> -- >> Daniel Wallin >> BoostPro Computing >> http://www.boostpro.com >> >> >> >> ------------------------------------------------------------------------------ >> Return on Information: >> Google Enterprise Search pays you back >> Get the facts. >> http://p.sf.net/sfu/google-dev2dev >> _______________________________________________ >> luabind-user mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/luabind-user >> > Is there a packaging mistake for the 0.9rc1 zip file, I still see the > directory inside named luabind-0.8.1 and the speed it almost the same? > Liam > So I tried the tar.gz packaged download and "simply dropping the source files in a Visual Studio project" yet I get errors. find_best_match.hpp seems to have been removed form luabind/detail find_best_match.cpp .\src\find_best_match.cpp(31) : error C2039: 'find_best_match' : is not a member of 'luabind::detail' .\src\find_best_match.cpp(33) : error C2061: syntax error : identifier 'overload_rep_base' .\src\find_best_match.cpp(44) : error C2065: 'num_overloads' : undeclared identifier .\src\find_best_match.cpp(46) : error C2065: 'start' : undeclared identifier .\src\find_best_match.cpp(46) : error C2227: left of '->match' must point to class/struct/union/generic type type is ''unknown-type'' .\src\find_best_match.cpp(46) : error C2065: 'num_params' : undeclared identifier .\src\find_best_match.cpp(48) : error C2065: 'start' : undeclared identifier .\src\find_best_match.cpp(48) : error C2065: 'orep_size' : undeclared identifier .\src\find_best_match.cpp(51) : error C2065: 'min_match' : undeclared identifier .\src\find_best_match.cpp(54) : error C2065: 'match_index' : undeclared identifier .\src\find_best_match.cpp(55) : error C2065: 'min_match' : undeclared identifier .\src\find_best_match.cpp(56) : error C2065: 'min_match' : undeclared identifier .\src\find_best_match.cpp(64) : error C2065: 'ambiguous' : undeclared identifier .\src\find_best_match.cpp(64) : error C2065: 'min_match' : undeclared identifier .\src\find_best_match.cpp(65) : error C2065: 'min_match' : undeclared identifier .\src\find_best_match.cpp(69) : error C2039: 'find_exact_match' : is not a member of 'luabind::detail' .\src\find_best_match.cpp(71) : error C2061: syntax error : identifier 'overload_rep_base' .\src\find_best_match.cpp(78) : error C2065: 'num_overloads' : undeclared identifier .\src\find_best_match.cpp(80) : error C2065: 'start' : undeclared identifier .\src\find_best_match.cpp(80) : error C2227: left of '->match' must point to class/struct/union/generic type type is ''unknown-type'' .\src\find_best_match.cpp(80) : error C2065: 'num_params' : undeclared identifier .\src\find_best_match.cpp(81) : error C2065: 'cmp_match' : undeclared identifier .\src\find_best_match.cpp(81) : error C2065: 'dest' : undeclared identifier .\src\find_best_match.cpp(81) : error C2228: left of '.push_back' must have class/struct/union type is ''unknown-type'' .\src\find_best_match.cpp(81) : error C2065: 'start' : undeclared identifier .\src\find_best_match.cpp(82) : error C2065: 'start' : undeclared identifier .\src\find_best_match.cpp(82) : error C2065: 'orep_size' : undeclared identifier ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ luabind-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/luabind-user