C++ Iterator 库 - output_iterator_tag
描述
它用于将迭代器的类别标识为输出迭代器,并且所有输出迭代器至少支持以下操作之一。
C++98
属性 | 有效的表达方式 |
---|---|
它是可复制构造、可复制分配和可破坏的 | X b(a); b = a; |
它可以作为 lvalue 被取消引用(如果处于 dereferenceable 状态)。 它只能作为赋值语句的左侧被取消引用。 一旦取消引用,它的迭代器值可能不再是可取消引用。 |
*a = t |
它可以递增。 | ++a a++ *a++ = t |
C++11
属性 | 有效的表达方式 |
---|---|
它是可复制构造、可复制分配和可破坏的 | X b(a); b = a; |
它可以作为 lvalue 被取消引用(如果处于 dereferenceable 状态)。 它只能作为赋值语句的左侧被取消引用。 一旦取消引用,它的迭代器值可能不再是可取消引用。 |
*a = t |
它可以递增。 | ++a a++ *a++ = t |
左值是可交换的。 | swap(a,b) |
声明
以下是 std::output_iterator_tag 的声明。
C++11
struct output_iterator_tag {};