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:ConvertibleToConstBuffer Convertible to const buffer requirements]
10 A type that meets the requirements for convertibility to a const 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 const buffer, `a` and `b` denote values of type `X`, and
16 `u`, `v` and `w` denote identifiers.
18 [table ConvertibleToConstBuffer requirements
19 [[expression][postcondition]]
26 buffer_cast<const void*>(u) == buffer_cast<const void*>(v)
27 && buffer_size(u) == buffer_size(v)
36 buffer_cast<const void*>(u) == buffer_cast<const void*>(v)
37 && buffer_size(u) == buffer_size(v)
43 const_buffer v; v = a;
46 buffer_cast<const void*>(u) == buffer_cast<const void*>(v)
47 && buffer_size(u) == buffer_size(v)
57 buffer_cast<const void*>(u) == buffer_cast<const void*>(w)
58 && buffer_size(u) == buffer_size(w)
68 buffer_cast<const void*>(u) == buffer_cast<const void*>(w)
69 && buffer_size(u) == buffer_size(w)
79 buffer_cast<const void*>(u) == buffer_cast<const void*>(w)
80 && buffer_size(u) == buffer_size(w)
90 buffer_cast<const void*>(u) == buffer_cast<const void*>(w)
91 && buffer_size(u) == buffer_size(w)