Console Library 8.0.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
console::gen::Cycle< T > Class Template Reference

循环生成器,无限循环遍历给定列表。 More...

#include <gen.h>

Inheritance diagram for console::gen::Cycle< T >:
console::Generator< Cycle< T >, T >

Public Member Functions

 Cycle (std::initializer_list< T > list)
 构造函数,使用初始化列表。
template<class Iterator>
 Cycle (Iterator begin, Iterator end)
 构造函数,使用迭代器范围初始化。
template<class Container>
 Cycle (const Container &container)
 构造函数,使用容器初始化。
bool done ()
 检查生成器是否已完成。
T current ()
 获取当前值。
void advance ()
 向前移动一步。
Public Member Functions inherited from console::Generator< Cycle< T >, T >
iterator iter () const
 获取生成器的迭代器对象。
iterator begin () const
 获取开始迭代器。
iterator end () const
 获取结束迭代器。
bool done ()
 检查生成器是否已完成。
T current ()
 获取当前值。
void advance ()
 推进生成器到下一个位置。

Private Attributes

std::vector< T > data
size_t index = 0

Additional Inherited Members

Public Types inherited from console::Generator< Cycle< T >, T >
typedef T value_type
 生成器产生的值类型。

Detailed Description

template<class T>
class console::gen::Cycle< T >

循环生成器,无限循环遍历给定列表。

Template Parameters
T元素类型。

Constructor & Destructor Documentation

◆ Cycle() [1/3]

template<class T>
console::gen::Cycle< T >::Cycle ( std::initializer_list< T > list)
inline

构造函数,使用初始化列表。

Parameters
list要循环的列表。

◆ Cycle() [2/3]

template<class T>
template<class Iterator>
console::gen::Cycle< T >::Cycle ( Iterator begin,
Iterator end )
inline

构造函数,使用迭代器范围初始化。

Template Parameters
Iterator迭代器类型。
Parameters
begin迭代器范围的起始位置。
end迭代器范围的结束位置。

◆ Cycle() [3/3]

template<class T>
template<class Container>
console::gen::Cycle< T >::Cycle ( const Container & container)
inline

构造函数,使用容器初始化。

Template Parameters
Container容器类型。
Parameters
container容器。

Member Function Documentation

◆ advance()

template<class T>
void console::gen::Cycle< T >::advance ( )
inline

向前移动一步。

◆ current()

template<class T>
T console::gen::Cycle< T >::current ( )
inline

获取当前值。

Returns
当前循环位置的值。

◆ done()

template<class T>
bool console::gen::Cycle< T >::done ( )
inline

检查生成器是否已完成。

Returns
始终返回false(无限循环)。

Member Data Documentation

◆ data

template<class T>
std::vector<T> console::gen::Cycle< T >::data
private

◆ index

template<class T>
size_t console::gen::Cycle< T >::index = 0
private

The documentation for this class was generated from the following file: