Skip to content

Commit c5f99d6

Browse files
committed
Clarify that Boost.Intrusive containers don't support incomplete types.
1 parent 429896d commit c5f99d6

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

doc/intrusive.qbk

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,9 @@ Intrusive containers have also downsides:
216216
containers, [*Boost.Intrusive] offers special cloning functions. See
217217
[link intrusive.clone_from Cloning Boost.Intrusive containers] section for more information.
218218

219+
* [*Boost.Intrusive] containers [*don't support incomplete types]. Some std containers and most Boost.Container
220+
types support incomplete types.
221+
219222
* Analyzing the thread safety of a program that uses containers is harder with intrusive containers, because
220223
the container might be modified indirectly without an explicit call to a container member.
221224

@@ -540,11 +543,11 @@ chapters:
540543
basic operations that can be applied to a group of `node`s. It's independent
541544
from the node definition and configured using a NodeTraits template
542545
parameter that describes the node.]]
543-
[[Node Traits][A class that stores basic information and operations to insert a node into a group of nodes.]]
546+
[[Node Traits][A class that defines the `node` type, associative information and basic operation to traverse and insert a node into a group of nodes.]]
544547
[[Hook][A class that a user must add as a base class or as a member to make the user class compatible with intrusive containers. A Hook encapsulates a `node`]]
545-
[[Intrusive Container][A class that stores user classes that have the needed hooks. It takes a ValueTraits template parameter as configuration information.]]
546-
[[Semi-Intrusive Container][Similar to an intrusive container but a semi-intrusive container needs additional memory (e.g. an auxiliary array) to work.]]
547548
[[Value Traits][A class containing typedefs and operations to obtain the node to be used by Node Algorithms from the user class and the inverse.]]
549+
[[Intrusive Container][A container type that stores user classes that have the needed hooks. It takes a ValueTraits template parameter as configuration information.]]
550+
[[Semi-Intrusive Container][Similar to an intrusive container but a semi-intrusive container needs additional memory (e.g. an auxiliary array) to work.]]
548551
]
549552

550553
[endsect]

0 commit comments

Comments
 (0)