This small patch ensures that template type names generated by Bindgen in some places do not contain >>, to match the Clang parser's output; for example, std::vector<std::vector<int> > would be used instead of std::vector<std::vector<int>>. It seems this is all it takes to support those nested container types; before this the integration test would fail with an invalid lib alias.
The other alternative is to alter the parser itself so that it doesn't add spaces between the >s, which are no longer required in C++11. Clang provides clang::PrintingPolicy::SplitTemplateClosers, but this doesn't seem to be available on Clang 9 (which I use).
This small patch ensures that template type names generated by Bindgen in some places do not contain
>>
, to match the Clang parser's output; for example,std::vector<std::vector<int> >
would be used instead ofstd::vector<std::vector<int>>
. It seems this is all it takes to support those nested container types; before this the integration test would fail with an invalidlib
alias.The other alternative is to alter the parser itself so that it doesn't add spaces between the
>
s, which are no longer required in C++11. Clang providesclang::PrintingPolicy::SplitTemplateClosers
, but this doesn't seem to be available on Clang 9 (which I use).