diff --git a/asio/src/doc/reference.xsl b/asio/src/doc/reference.xsl
index 69eefdd..ca5de0d 100644
--- a/asio/src/doc/reference.xsl
+++ b/asio/src/doc/reference.xsl
@@ -51,6 +51,7 @@
 [include requirements/ConvertibleToMutableBuffer.qbk]
 [include requirements/DatagramSocketService.qbk]
 [include requirements/DescriptorService.qbk]
+[include requirements/DynamicBufferSequence.qbk]
 [include requirements/Endpoint.qbk]
 [include requirements/Executor.qbk]
 [include requirements/GettableSerialPortOption.qbk]
diff --git a/asio/src/doc/requirements/DynamicBufferSequence.qbk b/asio/src/doc/requirements/DynamicBufferSequence.qbk
new file mode 100644
index 0000000..59bafff
--- /dev/null
+++ b/asio/src/doc/requirements/DynamicBufferSequence.qbk
@@ -0,0 +1,96 @@
+[/
+ / Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+ /
+ / Distributed under the Boost Software License, Version 1.0. (See accompanying
+ / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ /]
+
+[section:DynamicBufferSequence Dynamic buffer sequence requirements]
+
+A dynamic buffer sequence encapsulates memory storage that may be automatically
+resized as required, where the memory is divided into an input sequence
+followed by an output sequence. These memory regions are internal to the
+dynamic buffer sequence, but direct access to the elements is provided to
+permit them to be efficiently used with I/O operations, such as the `send` or
+`receive` operations of a socket. Data written to the output sequence of a
+dynamic buffer sequence object is appended to the input sequence of the same
+object.
+
+A dynamic buffer sequence type `X` shall satisfy the requirements of
+`MoveConstructible` (C++ Std, [moveconstructible]) types in addition to those
+listed below.
+
+In the table below, `X` denotes a dynamic buffer sequence class, `x` denotes a
+value of type `X&`, `x1` denotes values of type `const X&`, and `n` denotes a
+value of type `size_t`, and `u` denotes an identifier.
+
+[table DynamicBufferSequence requirements
+  [[expression] [type] [assertion/note\npre/post-conditions]]
+  [
+    [`X::const_buffers_type`]
+    [type meeting [link asio.reference.ConstBufferSequence ConstBufferSequence]
+     requirements.]
+    [This type represents the memory associated with the input sequence.]
+  ]
+  [
+    [`X::mutable_buffers_type`]
+    [type meeting [link asio.reference.MutableBufferSequence MutableBufferSequence]
+     requirements.]
+    [This type represents the memory associated with the output sequence.]
+  ]
+  [
+    [`x1.size()`]
+    [`size_t`]
+    [Returns the size, in bytes, of the input sequence.]
+  ]
+  [
+    [`x1.max_size()`]
+    [`size_t`]
+    [Returns the permitted maximum of the sum of the sizes of the input
+     sequence and output sequence.]
+  ]
+  [
+    [`x1.capacity()`]
+    [`size_t`]
+    [Returns the maximum sum of the sizes of the input sequence and output
+     sequence that the dynamic buffer sequence can hold without requiring
+     reallocation.]
+  ]
+  [
+    [`x1.data()`]
+    [`X::const_buffers_type`]
+    [Returns a constant buffer sequence `u` that represents the memory
+     associated with the input sequence, and where `buffer_size(u) == size()`.]
+  ]
+  [
+    [`x.prepare(n)`]
+    [`X::mutable_buffers_type`]
+    [Requires: `size() + n <= max_size()`.\n
+     \n
+     Returns a mutable buffer sequence `u` representing the output sequence, and
+     where `buffer_size(u) == n`. The dynamic buffer sequence reallocates
+     memory as required. All constant or mutable buffer sequences previously
+     obtained using `data()` or `prepare()` are invalidated.\n
+     \n
+     Throws: `length_error` if `size() + n > max_size()`.]
+  ]
+  [
+    [`x.commit(n)`]
+    []
+    [Appends `n` bytes from the start of the output sequence to the end of the
+     input sequence. The remainder of the output sequence is discarded. If `n`
+     is greater than the size of the output sequence, the entire output sequence
+     is appended to the input sequence. All constant or mutable buffer sequences
+     previously obtained using `data()` or `prepare()` are invalidated.]
+  ]
+  [
+    [`x.consume(n)`]
+    []
+    [Removes `n` bytes from beginning of the input sequence. If `n` is greater
+     than the size of the input sequence, the entire input sequence is removed.
+     All constant or mutable buffer sequences previously obtained using `data()`
+     or `prepare()` are invalidated.]
+  ]
+]
+
+[endsect]
