From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path: instead of
diff --git a/htdocs/gcc-13/porting_to.html b/htdocs/gcc-13/porting_to.html
index 953e1453..733bb254 100644
--- a/htdocs/gcc-13/porting_to.html
+++ b/htdocs/gcc-13/porting_to.html
@@ -150,8 +150,8 @@ previous behavior.
GCC 13 now checks that allocators used with the standard library
can be "rebound" to allocate memory for a different type,
as required by the allocator requirements in the C++ standard.
-If an allocator type Alloc<T>
-cannot be correctly rebound to another type Alloc<U>,
+If an allocator type
Alloc<T>
+cannot be correctly rebound to another type Alloc<U>
,
you will get an error like this:
The assertion checks that rebinding an allocator to its own value type is a
-no-op, which will be true if its rebind member is defined correctly.
+no-op, which will be true if its rebind
member is defined correctly.
If rebinding it to its own value type produces a different type,
then the allocator cannot be used with the standard library.
-The most common cause of this error is an allocator type Alloc<T>
-that derives from std::allocator<T> but does not provide its own
-rebind member. When the standard library attempts to rebind the
-allocator using Alloc<T>::rebind<U> it finds the
-std::allocator<T>::rebind<U> member from the base class,
-and the result is std::allocator<U> instead of
-Alloc<U>.
+The most common cause of this error is an allocator type
+Alloc<T>
that derives from
+std::allocator<T>
but does not provide its own
+rebind
member. When the standard library attempts to rebind the
+allocator using Alloc<T>::rebind<U>
it finds the
+std::allocator<T>::rebind<U>
member from the base
+class, and the result is std::allocator<U>
instead of
+Alloc<U>
.
-The solution is to provide a correct rebind member as shown below.
-A converting constructor must also be provided, so that that an
-Alloc<U> can be constructed from an Alloc<T>,
-and vice versa:
+The solution is to provide a correct rebind
member as shown
+below. A converting constructor must also be provided, so that that an
+Alloc<U>
can be constructed from an
+Alloc<T>
, and vice versa:
template<class T>
@@ -197,9 +198,10 @@ class Alloc
-Since C++20, there is no rebind member in std::allocator,
-so deriving your own allocator types from std::allocator is simpler
-and doesn't require the derived allocator to provide its own rebind.
+Since C++20, there is no rebind
member in
+std::allocator
, so deriving your own allocator types from
+std::allocator
is simpler and doesn't require the derived
+allocator to provide its own rebind
.
For compatibility with previous C++ standards, the member should still be
provided. The converting constructor is still required even in C++20.