Construct, passing the specified argument to initialise the next layer.
template< typename Arg> buffered_read_stream( Arg && a, std::size_t buffer_size);