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

链式生成器,将两个生成器首尾连接。 More...

#include <gextra.h>

Inheritance diagram for console::gen::Chain< Gen1, Gen2 >:
console::Generator< Chain< Gen1, Gen2 >, std::decay< decltype(true ? std::declval< Gen1::value_type >() :std::declval< Gen2::value_type >())>::type >

Public Member Functions

 Chain (Gen1 g1, Gen2 g2)
 构造函数。
bool done ()
 检查生成器是否已完成。
T current ()
 获取当前值。
void advance ()
 向前移动一步。
Public Member Functions inherited from console::Generator< Chain< Gen1, Gen2 >, std::decay< decltype(true ? std::declval< Gen1::value_type >() :std::declval< Gen2::value_type >())>::type >
iterator iter () const
 获取生成器的迭代器对象。
iterator begin () const
 获取开始迭代器。
iterator end () const
 获取结束迭代器。
bool done ()
 检查生成器是否已完成。
std::decay< decltype(true ? std::declval< Gen1::value_type >() :std::declval< Gen2::value_type >())>::type current ()
 获取当前值。
void advance ()
 推进生成器到下一个位置。

Private Types

using T

Private Attributes

Gen1 gen1
Gen2 gen2

Additional Inherited Members

Public Types inherited from console::Generator< Chain< Gen1, Gen2 >, std::decay< decltype(true ? std::declval< Gen1::value_type >() :std::declval< Gen2::value_type >())>::type >
typedef std::decay< decltype(true ? std::declval< Gen1::value_type >() :std::declval< Gen2::value_type >())>::type value_type
 生成器产生的值类型。

Detailed Description

template<class Gen1, class Gen2>
class console::gen::Chain< Gen1, Gen2 >

链式生成器,将两个生成器首尾连接。

Template Parameters
Gen1第一个生成器类型。
Gen2第二个生成器类型。

Member Typedef Documentation

◆ T

template<class Gen1, class Gen2>
using console::gen::Chain< Gen1, Gen2 >::T
private
Initial value:
typename std::decay<
decltype(true ? std::declval<typename Gen1::value_type>()
: std::declval<typename Gen2::value_type>())>::
type
std::decay< decltype(true ? std::declval< Gen1::value_type >() :std::declval< Gen2::value_type >())>::type value_type
Definition gen.h:154

Constructor & Destructor Documentation

◆ Chain()

template<class Gen1, class Gen2>
console::gen::Chain< Gen1, Gen2 >::Chain ( Gen1 g1,
Gen2 g2 )
inline

构造函数。

Parameters
g1第一个生成器。
g2第二个生成器。

Member Function Documentation

◆ advance()

template<class Gen1, class Gen2>
void console::gen::Chain< Gen1, Gen2 >::advance ( )
inline

向前移动一步。

◆ current()

template<class Gen1, class Gen2>
T console::gen::Chain< Gen1, Gen2 >::current ( )
inline

获取当前值。

Returns
当前活跃生成器的值。

◆ done()

template<class Gen1, class Gen2>
bool console::gen::Chain< Gen1, Gen2 >::done ( )
inline

检查生成器是否已完成。

Returns
如果两个生成器都已完成则返回true。

Member Data Documentation

◆ gen1

template<class Gen1, class Gen2>
Gen1 console::gen::Chain< Gen1, Gen2 >::gen1
private

◆ gen2

template<class Gen1, class Gen2>
Gen2 console::gen::Chain< Gen1, Gen2 >::gen2
private

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