Is there a correct way to handle APIs that invent their own types?
For example, WinAPI, QT, Boost.
Many frameworks have their own integer and boolean types, along with more complicated data-types.
So, is it better to use native C/C++ type like bool or alternatives like QBool/BOOL/etc., and native container types like std::map/std::set/std::vector vs reinvented ones like QList/boost::something/ATL::map/etc.
And how do those choices respond to cross platform portability.
TL;DR
Which one QBool IsInteresting(const QString &str) vs bool IsInteresting(const std::string &str)?