
First of Boost I didn't proposed Booster to be replacement of boost as I don't really care about full Windows support. So don't take a look on Booster as what Boost should be.
I don't think that Booster is the way to go because I
my partial needs rather needs of Boost community.
For example:
- Booster.Thread is just wrapper of
created it for pthreads/pthreads-win32 with boost
like API.
Oh please no!!!
Why should I be forced to use a GPL'ed external library rather than a "first class citisen" that talks to the platform API's directly.
1. pthreads-win32 is LESSER GPL library (not GPL) and many-many project use it 2. Boost.Thread is just C++ implementation of Pthreads standard. Every function that exists in Boost.Threads exists in pthreads and other way. Boost thread is designed AFTER pthreads concepts and API.
- Booster.Regex is just a wrapper of PCRE.
Oh heavens. So lets see... no wide character support,
IMHO wide characters should be vanished from C++ it is the worst way to represent Unicode (and I know thing or two about Unicode). See: - http://stackoverflow.com/questions/1049947/should-utf-16-be-considered-harmf... - http://cppcms.sourceforge.net/boost_locale/html/tutorial.html#myths And PCRE supports Unicode quite well with UTF-8 support. And if you really want Unicode - only ICU can help you.
no support for segmented containers (think really large texts stored in discontinous memory - I've had people using this support to search multi-gigabyte texts that could never be stored in memory or searched via a C interface).
Ahhhhh... Are you running regex over multi-gigabyte texts? Then something wrong with your design.
BTW do you realise that Boost.Regex has had an ABI stable POSIX-standard compatible C interface for the last um.... 12 years.... and yes that's since before Boost existed.
No I do not. To be honest I'm glad to hear it (really...) I'll take a look of I can extract Boost.Regex as is for Booster. And it would be easy to put it into boost-abi
I'll end with this thought: "templates generate no more code bloat than non-templates unless they are used gratuitously". For example instantiating vector<int> and vector<long> in the same program on a platform where int and long are the same size should probably be considered a mistake. But that's no reason to ditch std::vector, just to be sensible in ones usage.
Nobody tells you make vector non-template or non-inlined as vector is just type-safe array with iterators just wrappers of pointers. But I do not think that networking library should be inlined (for example) It is the point of design. Best, Artyom