2 / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)
4 / Distributed under the Boost Software License, Version 1.0. (See accompanying
5 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 [section:ConvertibleToMutableBuffer Convertible to mutable buffer requirements]
10 A type that meets the requirements for convertibility to a mutable buffer must
11 meet the requirements of `CopyConstructible` types (C++ Std, 20.1.3), and the
12 requirements of `Assignable` types (C++ Std, 23.1).
14 In the table below, `X` denotes a class meeting the requirements for
15 convertibility to a mutable buffer, `a` and `b` denote values of type `X`, and
16 `u`, `v` and `w` denote identifiers.
18 [table ConvertibleToMutableBuffer requirements
19 [[expression][postcondition]]
26 buffer_cast<void*>(u) == buffer_cast<void*>(v)
27 && buffer_size(u) == buffer_size(v)
36 buffer_cast<void*>(u) == buffer_cast<void*>(v)
37 && buffer_size(u) == buffer_size(v)
43 mutable_buffer v; v = a;
46 buffer_cast<void*>(u) == buffer_cast<void*>(v)
47 && buffer_size(u) == buffer_size(v)
57 buffer_cast<void*>(u) == buffer_cast<void*>(w)
58 && buffer_size(u) == buffer_size(w)
68 buffer_cast<void*>(u) == buffer_cast<void*>(w)
69 && buffer_size(u) == buffer_size(w)
79 buffer_cast<void*>(u) == buffer_cast<void*>(w)
80 && buffer_size(u) == buffer_size(w)
90 buffer_cast<void*>(u) == buffer_cast<void*>(w)
91 && buffer_size(u) == buffer_size(w)