Skip to content

Commit 5305507

Browse files
committed
improve language
Signed-off-by: Dan Hoeflinger <[email protected]>
1 parent d45e799 commit 5305507

File tree

1 file changed

+7
-4
lines changed
  • rfcs/proposed/iterators_pass_directly_customization

1 file changed

+7
-4
lines changed

rfcs/proposed/iterators_pass_directly_customization/README.md

+7-4
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,13 @@ oneDPL will define the "passed directly" definitions of its custom iterators as
7171
* `permutation_iterator` is "passed directly" if both its source iterator and its index map are "passed directly"
7272

7373
If a "passed directly" customization point is defined for a type, any derived type will also match the existing
74-
ADL customization point function if a more specific one is not defined. This can be a feature, as multiple derived types
75-
can inherit "passed directly" traits from their parent. However, users must be aware that this is the case. A user could
76-
incorrectly assume that the lack of a customization point for the derived class would mean the new type will use the
77-
default overload of `is_passed_directly_in_onedpl_device_policies` (and return `std::false_type`).
74+
customization point function unless explicitly overridden. Users can override this behavior by implementing a more
75+
specific ADL customization point function for the derived class. This is particularly useful in cases of multiple
76+
inheritance or ambiguous ADL matches, where the default behavior may not align with the intended design.
77+
78+
Users must be aware of this behavior. A user might incorrectly assume that the absence of a customization point
79+
specifically for the derived class would cause the derived iterator type to use the default overload of
80+
`is_passed_directly_in_onedpl_device_policies` (and return `std::false_type`).
7881

7982
### Implementation Details
8083

0 commit comments

Comments
 (0)