Re: [Boost-users] [all libs] compatibility
I am using boost::asio on a small FPGA core running NIOS and uCos and having problems. After reading documentation I now understand that asio is only implemented for a number of platforms; albeit the bigger platforms. I see other messages on this forum about platform compatibility and am getting more and more disillusioned with Boost. I thought the whole point was that boost libraries only needed a compliant compiler. I understand that for TCP/IP and timers there needs to be some interoperability with the underlying operating system. I understand for example that timers can plug into posix or Windows timers but I can't understand why the boost libraries themselves have #ifdef WINVER statements in them. I could understand that to run libraries such as asio on my OS I need to implement a set of functionality and can imagine those being available for popular OSes such as Windows and Linux separately, ie outside the scope of Boost. Would it not be possible to have well defined OS interfaces for all libraries that are OS dependent and would that not be more in the spirit of Boost and ultimately C++ and STL? Many thanks for your thoughts. Ant [cid:image001.png@01CBEE31.17904490] Cranborne House, Cranborne Road, Potters Bar, Herts, EN6 3JN Phone: +44 1707 668025 Email: antony.pace@harman.com Skype: antony.pace.harman Web: www.harman.com ANTONY PACE Senior Software Engineer Soundcraft Studer R&D Confidentiality Notice: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorised review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.
On Tue, Mar 29, 2011 at 08:48, Pace, Antony [Harman Pro Group UK]
I see other messages on this forum about platform compatibility and am getting more and more disillusioned with Boost. I thought the whole point was that boost libraries only needed a compliant compiler.
There are two kinds of Boost libraries: 1) Compliant implementations of complex things possible in ISO C++, like Spirit for parsing 2) Libraries to access fundamentally OS-specific things not provided by ISO C++, like Filesystem and Asio It's impossible to write the latter category of things so you only need a compliant compiler, and the boost libraries *are* the platform-independant interfaces. Their implementations are usually not put behind some other interface because the efficient ways of doing things are often different between them, and hiding the differences inside another layer would lose some -- or most -- of that efficiency. ~ Scott
participants (2)
-
Pace, Antony [Harman Pro Group UK]
-
Scott McMurray