Name
Splittable Concept — Requirements for a type whose instances can be split into two pieces. Table 3-1 lists the requirements for a splittable type X with instance x
Synopsis
Table 3-1. Splittable Concept
|
Pseudosignature |
Semantics |
|---|---|
|
|
Split |
Description
A type is splittable if it has a splitting constructor that allows an instance to be split into two pieces. The splitting constructor takes as arguments a reference to the original object, and a dummy argument of type split, which is defined by the library. The dummy argument distinguishes the splitting constructor from a copy constructor. After the constructor runs, x and the newly constructed object should represent the two pieces of the original x. The library uses splitting constructors in two contexts:
Partitioning a range into two subranges that can be processed concurrently
Forking a body (function object) into two bodies that can run concurrently
The following model types provide examples.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access