编译器: MSVC v142
所属文件: xutility
位置(行): 417
函数名称:_Seek_wrapped
函数描述:
将第二个类型参数(迭代器
)覆盖掉第一个类型参数(迭代器
).替换策略:
如果第一个迭代器
有_Seek_to
函数, 那么就只覆盖掉其内部的_Ptr
即可.
如果第一个迭代器
没有_Seek_to
函数, 那么就通过触发赋值构造函数来完成覆盖行为.
源码:
template <class _Iter, class _UIter>
constexpr void _Seek_wrapped(_Iter& _It, const _UIter& _UIt) {
if constexpr (_Wrapped_seekable_v<_Iter, _UIter>) {
_It._Seek_to(_UIt);
} else {
_It = _UIt;
}
}
_Wrapped_seekable_v
检查一个迭代器
是否拥有_Seek_to
函数.Iterator._Seek_to
该函数将类型参数的迭代器的_Ptr
覆盖掉自身的_Ptr
.