tag:blogger.com,1999:blog-1810575588840367475.post327316873149341312..comments2023-10-08T22:11:44.506+01:00Comments on Helloworld922's Blog: Signals3 Source Code and Performance Testing UpdateUnknownnoreply@blogger.comBlogger2125tag:blogger.com,1999:blog-1810575588840367475.post-6661298689311201672013-10-21T02:04:53.518+01:002013-10-21T02:04:53.518+01:00When I was writing this library there wasn't a...When I was writing this library there wasn't any compiler+standard library package available to me which had the required C++11 features. I've tried to carefully write the library such that these dependencies will go away as the standard library supports them. The main notable exception is Boost::Optional, which is a part of the default collector class. There is a proposal as a technical specifications to have std::optional, but I haven't looked into the details of how compatible this is with boost::optional. I also originally wanted to back-port this to C++03, but I just don't have the time to work on this more.<br /><br />Things that I remember missing from compilers/standard libraries:<br /><br />cstdlib 4.8.1 (gcc) doesn't have "atomic" shared_ptr.<br /><br />On Windows, gcc 4.8.1 (mingw-w64) didn't have any thread-related libraries.<br /><br />VS2012 didn't support variadic templates. I don't know what library features were missing from VS2012.<br /><br />There is a compiler_support.hpp file which will automatically use standard features if they are available, which depends on Boost.Config. You can hard-code this to using standard C++11 features if you want to get rid of the Boost.Config dependency, or even direct Signals3 to use your own implementation (I tried to only assume C++11 standard-compliant usage of the Boost libraries).helloworld922https://www.blogger.com/profile/07702737927459340264noreply@blogger.comtag:blogger.com,1999:blog-1810575588840367475.post-68772250102284288392013-10-21T01:39:01.712+01:002013-10-21T01:39:01.712+01:00I love the work you have been doing on this. I wou...I love the work you have been doing on this. I would like to use it, but I am trying to not use boost. Do you think it is possible to remove the boost dependencies? And if so, could you point me in the right direction of how to remove the boost dependencies?Miningoldhttps://www.blogger.com/profile/05638334054622549865noreply@blogger.com