Dear list,
Ahmed has volunteered to review manage AFIO (thanks Ahmed!), however
I wanted to get the list's feedback on some things first.
1. After collecting feedback at C++ Now from members of WG21 on the
shape and preferred future of a race free Filesystem TS, the next
iteration of AFIO will have a radically different API consisting of
the form:
std::vector afio::batch(...)
afio::future<T> afio::async_io_handle::operation(inputs)
noexcept(is_nothrow_move_constructible<T>)
T afio::io_handle::operation(inputs)
T afio::io_handle::operation(error_code &ec, inputs)
The internal engine is the same very well tested code, just the API
is very different from before. The current API was forced by VS2010's
limitations and the lack of constexpr in MSVC - now VS2015 RTM has
C++ 11 constexpr, I can adopt the custom future based API I always
originally wanted. This new API will require C++ 14 in the compiler.
Question: Given the API will so radically change, is now the time for
a community review? Do note that APIBind allows me to support the
existing API and the new API concurrently without issue.
2. AFIO requires APIBind which is a separate library. APIBind is not
yet in the review queue and it is pending me writing up its
documentation and a more useful unit test suite. Is this a problem?
Do note that you the user of AFIO will never need to know about
APIBind, it is entirely an internal implementation detail.
Comments appreciated.
Niall
--
ned Productions Limited Consulting
http://www.nedproductions.biz/
http://ie.linkedin.com/in/nialldouglas/