v1.8.0
-
CastXMLis now the default XML generator (instead ofGCCXML)
find_xml_generatorwill now look forCastXMLfirst too. -
Do not allow to use the GCCXML provided by newer gccxml debian packages.
It is a wrapper around CastXML which can confuse pygccxml.
You should use the castxml package and the CastXML binary instead.
If you really want to use gccxml, the gccxml.real binary from the
gccxml debian package can still be used. -
Fix parsing of
boost/locale.hppcode.
Templated class instantiations with specializations are now better supported,
specifically when containing parentheses:
myClass<std::vector<char>(const std::string &, const std::string &)> obj; -
When using the
remove_pointerfunction on a function pointer, the
remove_pointerfunction now correctly returns acalldef_type_t. -
declarations.is_string,declarations.is_std_wstring,
declarations.is_std_ostreamanddeclarations.is_std_wostreamnow
correctly work when a the type is also a reference.
Example:declarations.is_stringreturned false for
typedef std::string& x3;; it will return true now. -
General code style overhaul (with the help of quantifiedcode.com)
-
Added a bunch of new examples and documentation update and cleanup
-
[Removals] Remove
compilerattribute in declarations.py and
gccxml_pathfrom config.py
These were deprecated in pygccxml v1.7.0, and definitively removed for v1.8.0 -
[Deprecations]
-
The
binary_parsersmodule was deprecated. It seems that this module is not
used by other third-party projects, at least a quick search on GitHub
did not give any interesting usage. Also, this code is not tested, and
there seem to be some undefined variables, so it is highly probable that this
module is not working anyway.
I do not want to put much efforts in maintaining this module, but concentrate
on improving pygccxml's core features. If somebody wants to revive this
module it can still be done in a separate project.
Thus, the 3 following functions are now deprecated and will be removed in
pygccxml 1.9.0:merge_information,undecorate_blobandformat_decl.
Theundname_creator_tclass is also deprecated for the same reason. -
A bunch of attributes and methods were deprecated.
They will throw a warning when used with pygccxml 1.8.0, and will be removed
in version 1.9.0.-
In
class_declaration_tandclass_t:- decl.container_traits attribute => declarations.find_container_traits(decl)
-
In
class_t- decl.find_noncopyable_vars() method => declarations.find_noncopyable_vars(decl)
- decl.find_copy_constructor() method => declarations.find_copy_constructor(decl)
- decl.has_vtable argument => declarations.has_vtable(decl)
-
In
constructor_t- ctor.is_copy_constructor attribute => declarations.is_copy_constructor(ctor)
- ctor.is_trivial_constructor attribute => declarations.is_trivial_constructor(ctor)
-
Deprecate the
ns()method. Thenamespace()method can be used instead. -
Deprecate
etree_scanner_tandetree_saxifier_tclasses.
The most efficient xml scanner class is theietree_scanner_tclass, which
is the one used since many years now. -
The
[gccxml]section used in the configuration file is now deprecated.
Please use[xml_generator]instead.
-
-
native_compilerandenumclasses from theutilsmodule. These were
not used inpygccxml, and can easily be implemented in your own project if you
need and equivalent