block: Add constructor to create sub-blocks using the underlying buffer

Change-Id: Ic25f82526228dbe7aa3222bc6b1e68ac0e35cea1
Refs: #3100
diff --git a/src/encoding/block.hpp b/src/encoding/block.hpp
index 0552755..0c83149 100644
--- a/src/encoding/block.hpp
+++ b/src/encoding/block.hpp
@@ -81,6 +81,15 @@
         const Buffer::const_iterator& begin, const Buffer::const_iterator& end,
         bool verifyLength = true);
 
+  /** @brief Create a Block from existing block (reusing the underlying buffer), directly
+   *         specifying boundaries of the block within the buffer
+   *
+   *  This overload will automatically detect type and position of the value within the block
+   */
+  Block(const Block& block,
+        const Buffer::const_iterator& begin, const Buffer::const_iterator& end,
+        bool verifyLength = true);
+
   /** @brief Create a Block from the raw buffer with Type-Length parsing
    */
   Block(const uint8_t* buffer, size_t maxlength);