
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 05/01/2010 01:09 PM, vicente.botet wrote:
Couldn't you add a template parameter stating the thread model? This parameter can be by default single_threaded, and the user can set it also to multi_threaded. In this way you let the user of each xint::integer to decide if the library must ensure thread safety or not.
That would solve the speed problem, but the dependency problem would remain -- the library would have to use Boost.Move and Boost.Thread always. (See the previous message in this thread for my reasons why that isn't desirable.)
I don't think the dependency is a problem.
If I were using a library, I'd prefer that it didn't have an unnecessary dependency on another library that would require me to add that other library to my build system (which, at least under Linux, would be necessary), or that would require me to hunt down an unofficial library before I could use it.
BTW you have not answered yet to another post I did today. "" you forget to say in the documentation that your library needs to be built and included on the user program. Ths is inportant to know for a lot of people.
I saw it and noted it. I didn't think it needed a response, especially as there was a suggestion to make XInt a header-only library.
If your library needs already to be linked, I dont see a problem to link with lib thread also.
Another approach is to have two libraries one working with classes that are not thread safe and more efficient and the other thread safe, depending on Boost.Thread and less efficient.
I'm confused... what is the difference between having two separate libraries and having a compile-time option? The compile-time option leads directly to having two separate compiled versions of the library. - -- Chad Nelson Oak Circle Software, Inc. * * * -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkvcbvMACgkQp9x9jeZ9/wTcSQCgtOPlzKLy+ekweUCLv8OTV611 YMgAn0zhUayioZm35CdkZpfyvQiKhX+M =guQi -----END PGP SIGNATURE-----