Merge branch 'dw/recursive-dispatcher'
commit2dbce1b42a55f6487b44de002004d5ea2b4dcb94
authorDaniel Wallin <daniel@boostpro.com>
Mon, 17 Aug 2009 12:39:40 +0000 (17 14:39 +0200)
committerDaniel Wallin <daniel@boostpro.com>
Mon, 17 Aug 2009 12:39:40 +0000 (17 14:39 +0200)
tree2ef14e796a7b1b6e8ea96e74ef2f0e6489c7de9f
parent2be3bf2237c48775e62b46ab97b030cafbddbc48
parenteda18643df22ddcb524ab7b370f6678e35327db6
Merge branch 'dw/recursive-dispatcher'

* dw/recursive-dispatcher:
  Fix tests. Need to contain subconverters.
  Fix builtin converter test. All converters need both conversion stages.
  Make shared_ptr_converter stateful.
  Make const_pointer_converter stateful.
  Make adopt_policy::match() stateful.
  Use lua_rawgeti() instead of lua_pushnumber, lua_rawget pair.
  Reduce the number of API calls for numeric converters.
  Cache conversion result from the scoring stage.
  Inline more calls when invoking functions. Improves code on GCC.
  Test user defined converter that consumes 2 parameters.
  Automatically convert lua_State* arguments.
  Compute argument indices with converters.
  New recursive overload resolver.
  Don't try to return void* from Lua in test.
  Use luaL_ref/luaL_unref instead of old ref() mechanism.
  Add default converter for boost::shared_ptr<>.
  New instance storage implementation. Cleaner and faster.
  New instance holders. Can hold instance by any pointer type.
  Replace include with forward declaration.