System::IterateOver 方法

System::IterateOver(const Enumerable *) method

此函数属性包装可枚举(或可迭代)对象,使其能够在基于范围的 for 循环中使用。此重载针对 Enumerable this,使用默认目标类型。

template<typename Enumerable> std::enable_if_t<!IsSmartPtr<Enumerable>::value, Details::EnumeratorAdapter<Enumerable, Details::ValueTypeOfEnumerable<Enumerable>, Enumerable *>> System::IterateOver(const Enumerable *enumerable)
参数描述
Enumerable包装对象的类型

另见

System::IterateOver(const Enumerable *) method

此函数属性包装可枚举(或可迭代)对象,使其能够在基于范围的 for 循环中使用。此重载针对没有 begin()、end() 方法的 Enumerable,使用目标类型参数,例如 (auto& value : IterateOver(enumerable))

template<typename T,typename Enumerable> std::enable_if_t<!IsSmartPtr<Enumerable>::value, Details::EnumeratorAdapter<Enumerable, T, Enumerable *>> System::IterateOver(const Enumerable *enumerable)
参数描述
T目标类型,必须由迭代器返回
Enumerable包装对象的类型

另见

System::IterateOver(System::SmartPtr<Enumerable>) method

此函数属性包装可枚举(或可迭代)对象,使其能够在基于范围的 for 循环中使用。此重载针对没有 begin()、end() 方法的 Enumerable,使用目标类型参数,例如 (auto& value : IterateOver(enumerable))

template<typename T,typename Enumerable> std::enable_if_t<!Details::IsIterable<Enumerable>::value, Details::EnumeratorAdapter<Enumerable, T>> System::IterateOver(System::SmartPtr<Enumerable> enumerable)
参数描述
T目标类型,必须由迭代器返回
Enumerable包装对象的类型

另见

System::IterateOver(System::SmartPtr<Enumerable>) method

此函数属性包装可枚举(或可迭代)对象,使其能够在基于范围的 for 循环中使用。此重载针对没有 begin()、end() 方法的 Enumerable,使用默认目标类型参数,例如 (auto& value : IterateOver(enumerable)),相当于以下 C# 代码 foreach (var value in enumerable)。

template<typename Enumerable> std::enable_if_t<!Details::IsIterable<Enumerable>::value, Details::EnumeratorAdapter<Enumerable>> System::IterateOver(System::SmartPtr<Enumerable> enumerable)
参数描述
Enumerable包装对象的类型

另见

System::IterateOver(System::SmartPtr<Enumerable>) method

此函数属性包装可枚举(或可迭代)对象,使其能够在基于范围的 for 循环中使用。此重载针对具有 begin()、end() 方法的 Enumerable,使用默认目标类型参数,例如 (auto& value : IterateOver(enumerable))。

template<typename Enumerable> std::enable_if_t<Details::IsIterable<Enumerable>::value, System::SmartPtr<Enumerable>> System::IterateOver(System::SmartPtr<Enumerable> enumerable)
参数描述
Enumerable包装对象的类型

另见

System::IterateOver(System::SmartPtr<Enumerable>) method

此函数属性包装可枚举(或可迭代)对象,使其能够在基于范围的 for 循环中使用。此重载针对具有 begin()、end() 方法的 Enumerable,目标类型与迭代器的原始 value_type 相同。

template<typename T,typename Enumerable> std::enable_if_t<Details::IsIterable<Enumerable>::value &&std::is_same<typename Details::ReturnTypeTrait<T>::ReturnType, Details::IterableValueType<Enumerable>>::value, System::SmartPtr<Enumerable>> System::IterateOver(System::SmartPtr<Enumerable> enumerable)
参数描述
Enumerable包装对象的类型
T目标类型,必须由迭代器返回

另见

System::IterateOver(System::SmartPtr<Enumerable>) method

此函数属性包装可枚举(或可迭代)对象,使其能够在基于范围的 for 循环中使用。此重载针对具有 begin()、end() 方法的 Enumerable,使用不同于迭代器原始 value_type 的目标类型。

template<typename T,typename Enumerable> std::enable_if_t<Details::IsIterable<Enumerable>::value &&!std::is_same<typename Details::ReturnTypeTrait<T>::ReturnType, Details::IterableValueType<Enumerable>>::value, Details::CppIteratorAdapter<Enumerable, T>> System::IterateOver(System::SmartPtr<Enumerable> enumerable)
参数描述
Enumerable包装对象的类型
T目标类型,必须由迭代器返回

另见