encoding: Allow creation of a Block from EncodingBuffer

Change-Id: Ifed719e30b9bc04c2e056ac07d6bcf713e8a2bf0
diff --git a/src/encoding/encoding-buffer.hpp b/src/encoding/encoding-buffer.hpp
index 8bf6d2c..eac26f9 100644
--- a/src/encoding/encoding-buffer.hpp
+++ b/src/encoding/encoding-buffer.hpp
@@ -48,7 +48,7 @@
    * otherwise behavior is undefined.
    */
   EncodingImpl (size_t totalReserve = 8800,
-                  size_t reserveFromBack = 400)
+                size_t reserveFromBack = 400)
     : m_buffer (new Buffer (totalReserve))
   {
     m_begin = m_end = m_buffer->end () - (reserveFromBack < totalReserve ? reserveFromBack : 0);
@@ -66,6 +66,9 @@
   inline const uint8_t*
   buf () const;
 
+  inline Block
+  block () const;
+
   inline void
   resize (size_t sz, bool addInFront);
 
@@ -111,6 +114,18 @@
   inline size_t
   appendVarNumber (uint64_t varNumber);
 
+  // inline void
+  // removeByteFromFront ();
+
+  // inline void
+  // removeByteFromEnd ();
+
+  // inline void
+  // removeVarNumberFromFront (uint64_t varNumber);
+
+  // inline void
+  // removeVarNumberFromBack (uint64_t varNumber);
+  
 private:
   BufferPtr m_buffer;
 
@@ -204,7 +219,14 @@
 {
   return &(*m_begin);
 }
-  
+
+inline Block
+EncodingImpl<encoding::Buffer>::block () const
+{
+  return Block(m_buffer,
+               m_begin, m_end);
+}
+
 inline void
 EncodingImpl<encoding::Buffer>::resize (size_t sz, bool addInFront)
 {