From: SourceForge.net <no...@so...> - 2010-03-17 11:26:29
|
Bugs item #2971885, was opened at 2010-03-17 12:26 Message generated for change (Tracker Item Submitted) made by wolff3 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=2971885&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: lua Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: sebastian (wolff3) Assigned to: Mark Gossage (mgossage) Summary: Lua: C++ typename check fails for equally named classes Initial Comment: Suggest you have two SWIG modules, "A" and "B". Also suggest you use different namespaces in both modules with equally named classes, say: library A: namespace A { class classname { //! constructor classname(const std::string & ident); ... }; } and library B: namespace B { class classname { //! constructor classname(const int & id); ... }; } Then both libraries will be wrapped by SWIG into 2 different modules and linked together. In Lua, you expect to be able to call: a = A.classname("hello") -- call constructor of A::classname b = B.classname( 3 ) -- call constructor of B::classname SWIG actually merges equally class names from different namespaces into one. That is, if the load_module routine of module A was called before B, then it expects the syntax of A::classname, if B.classname( ... ) is called. I am using latest SWIG 1.3.40 Best regards Sebastian ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=2971885&group_id=1645 |