title: Bidirectional iterator from char * buffer with size
body: <p>I can't seem to be able to find an easy simple solution, how to get bidirectional iterator from <code>char *buffer</code> with defined <code>bufferSize</code>. I don't want to copy the buffer to <code>std::string</code> (too expensive), I just want something like <code>std_whatever::buffer_wrapper myWrappedBuffer(myBuffer, mySize);</code> and then use <code>myWrappedBuffer.begin()</code> and <code>myWrappedBuffer.end()</code> in <code>&lt;algorithm&gt;</code> functions. What is the simplest way to do that? I really don't want to implement the iterator myself. I know there is <code>boost::string_ref</code> and maybe <code>std::string_view</code>, but I don't want to use boost just for this and can't use c++17.</p>