📄 otl_it01.htm
字号:
<HTML><!-- -- -- The OCI Template Library 1.0.6.5 -- Standard Template Library (STL) compatible iterator -- classes based upon the otl_stream class. -- Copyright (C) Sergei Kuchin, 1996, 1997, 1998 -- Author: Sergei Kuchin -- This library is free software. Permission to use, copy, -- modify and redistribute it for any purpose is hereby granted -- without fee, provided that the above copyright notice appear -- in all copies. --><Head><Title>otl_output_iterator<T></Title><!-- Generated by htmldoc --></HEAD><BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b" ALINK="#ff0000"> <!--end header--><BR Clear><H1>otl_output_iterator<T></H1><Table CellPadding=0 CellSpacing=0 width=100%><TR><TD Align=left><Img src = "iterator.gif" Alt="" WIDTH = "194" HEIGHT = "38" ></TD><TD Align=right><Img src = "type.gif" Alt="" WIDTH = "194" HEIGHT = "39" ></TD></TR><TR><TD Align=left VAlign=top><b>Category</b>: iterators</TD><TD Align=right VAlign=top><b>Component type</b>: type</TD></TR></Table><h3>Description</h3><p>An <tt>otl_output_iterator</tt> is an <Ahref="http://www.sgi.com/Technology/STL/OutputIterator.html">OutputIterator</A> that performs output of objects of type <tt>T</tt> to aparticular <a href="otl_1pg.htm#sec22">otl_stream</a>.Note that all of the restrictions of an <Ahref="http://www.sgi.com/Technology/STL/OutputIterator.html">OutputIterator</A> must be obeyed, including the restrictions on theordering of <tt>operator*</tt> and <tt>operator++</tt> operations.</p><h3>Definition</h3><p>Defined in <A href="otl_iter.h">otl_iter.h</A>.</p><h3>Template parameters</h3><Table border><TR><TH>Parameter</TH><TH>Description</TH><TH>Default</TH></TR><TR><TD VAlign=top><tt>T</tt></TD><TD VAlign=top>The type of object that will be written to the <tt>otl_stream</tt>. The set of value types of an <tt>otl_output_iterator</tt> consists of a single type, <tt>T</tt>.</TD><TD VAlign=top> </TD></tr></table><h3>Model of</h3><Ahref="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A>.<h3>Type requirements</h3><tt>T</tt> must be a type such that <tt> otl_stream s;...; s << T</tt> is a valid expression.<h3>Public base classes</h3>None.<h3>Members</h3><Table border><TR><TH>Member</TH><TH>Where defined</TH><TH>Description</TH></TR><TR><TD VAlign=top><tt>otl_output_iterator(otl_stream&)</tt></TD><TD VAlign=top><tt>otl_output_iterator</tt></TD><TD VAlign=top>See below.</TD></TR><TR><TD VAlign=top><tt>otl_output_iterator(const otl_output_iterator&)</tt></TD><TD VAlign=top> <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A></TD><TD VAlign=top>The copy constructor</TD></TR><TR><TD VAlign=top><tt>otl_output_iterator& operator=(const otl_output_iterator&)</tt></TD><TD VAlign=top> <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A></TD><TD VAlign=top>The assignment operator</TD></TR><TR><TD VAlign=top><tt>otl_output_iterator& operator=(const T&)</tt></TD><TD VAlign=top> <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A></TD><TD VAlign=top>Used to implement the <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A> requirement <tt>*i = t</tt>. <A href="#1">[1]</A></TD></TR><TR><TD VAlign=top><tt>otl_output_iterator& operator*()</tt></TD><TD VAlign=top> <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A></TD><TD VAlign=top>Used to implement the <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A> requirement <tt>*i = t</tt>. <A href="#1">[1]</A></TD></TR><TR><TD VAlign=top><tt>otl_output_iterator& operator++()</tt></TD><TD VAlign=top> <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A></TD><TD VAlign=top>Preincrement</TD></TR><TR><TD VAlign=top><tt>otl_output_iterator& operator++(int)</tt></TD><TD VAlign=top> <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A></TD><TD VAlign=top>Postincrement</TD></TR><TR><TD VAlign=top><tt>output_iterator_tag iterator_category(const otl_output_iterator&)</tt></TD><TD VAlign=top> <A href="http://www.sgi.com/Technology/STL/iterator_tags.html">iterator tags</A></TD><TD VAlign=top>Returns the iterator's category.</TD></tr></table><h3>New members</h3>These members are not defined in the <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A> requirements,but are specific to <tt>otl_output_iterator</tt>.<Table border><TR><TH>Function</TH><TH>Description</TH></TR><TR><TD VAlign=top><tt>otl_output_iterator(otl_stream& s)</tt></TD><TD VAlign=top>Creates an <tt>otl_output_iterator</tt> such that assignment of <tt>t</tt> through it is equivalent to <tt>s << t</tt>.</TD></TR></table><h3>Notes</h3><P><A name="1">[1]</A>Note how assignment through an <tt>otl_output_iterator</tt> is implemented.In general, unary <tt>operator*</tt> must be defined so that it returns aproxy object, where the proxy object defines <tt>operator=</tt> to performthe output operation. In this case, for the sake of simplicity, theproxy object is the <tt>otl_output_iterator</tt> itself. That is, <tt>*i</tt> simplyreturns <tt>i</tt>, and <tt>*i = t</tt> is equivalent to <tt>i = t</tt>. You should not,however, rely on this behavior. It is an implementation detail,and it is not guaranteed to remain the same in future versions.<h3>See also</h3><A href="otl_it02.htm">otl_input_iterator</A>, <A href="http://www.sgi.com/Technology/STL/OutputIterator.html">Output Iterator</A>, <A href="http://www.sgi.com/Technology/STL/InputIterator.html">Input Iterator</A>.<P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -