|
6180 | 6180 | \indextext{\idxcode{array}!contiguous storage}%
|
6181 | 6181 | The header \libheader{array} defines a class template for storing fixed-size
|
6182 | 6182 | sequences of objects.
|
6183 |
| -An \tcode{array} is a contiguous container\iref{container.reqmts}. |
| 6183 | +An \tcode{array} is a \deflinkx{contiguous container}{container!contiguous}{container.reqmts}. |
6184 | 6184 | An instance of \tcode{array<T, N>} stores \tcode{N} elements of type \tcode{T},
|
6185 | 6185 | so that \tcode{size() == N} is an invariant.
|
6186 | 6186 |
|
6187 | 6187 | \pnum
|
6188 | 6188 | \indextext{\idxcode{array}!initialization}%
|
6189 | 6189 | \indextext{\idxcode{array}!as aggregate}%
|
6190 |
| -An \tcode{array} is an aggregate\iref{dcl.init.aggr} that can be |
| 6190 | +An \tcode{array} is an \deflink{aggregate}{dcl.init.aggr} that can be |
6191 | 6191 | list-initialized with up
|
6192 | 6192 | to \tcode{N} elements whose types are convertible to \tcode{T}.
|
6193 | 6193 |
|
|
6198 | 6198 | of a reversible container\iref{container.rev.reqmts},
|
6199 | 6199 | except that a default
|
6200 | 6200 | constructed \tcode{array} object is not empty if $\tcode{N} > 0$.
|
6201 |
| -An \tcode{array} meets some of the requirements of a sequence |
6202 |
| -container\iref{sequence.reqmts}. |
| 6201 | +An \tcode{array} meets some of the requirements of a |
| 6202 | +\link{sequence container}{sequence.reqmts}. |
6203 | 6203 | Descriptions are provided here
|
6204 | 6204 | only for operations on \tcode{array} that are not described in
|
6205 | 6205 | one of these tables and
|
6206 | 6206 | for operations where there is additional semantic information.
|
6207 | 6207 |
|
6208 | 6208 | \pnum
|
6209 |
| -\tcode{array<T, N>} is a structural type\iref{temp.param} if |
| 6209 | +\tcode{array<T, N>} is a \deflinkx{structural type}{type!structural}{temp.param} if |
6210 | 6210 | \tcode{T} is a structural type.
|
6211 | 6211 | Two values \tcode{a1} and \tcode{a2} of type \tcode{array<T, N>}
|
6212 |
| -are template-argument-equivalent\iref{temp.type} if and only if |
| 6212 | +are \deflink{template-argument-equivalent}{temp.type} if and only if |
6213 | 6213 | each pair of corresponding elements in \tcode{a1} and \tcode{a2}
|
6214 | 6214 | are template-argument-equivalent.
|
6215 | 6215 |
|
6216 | 6216 | \pnum
|
6217 | 6217 | The types \tcode{iterator} and \tcode{const_iterator} meet
|
6218 |
| -the constexpr iterator requirements\iref{iterator.requirements.general}. |
| 6218 | +the \deflinkx{constexpr iterator}{iterator!constexpr}{iterator.requirements.general} requirements. |
6219 | 6219 |
|
6220 | 6220 | \indexlibraryglobal{array}%
|
6221 | 6221 | \indexlibrarymember{array}{begin}%
|
|
6289 | 6289 | \pnum
|
6290 | 6290 | \indextext{\idxcode{array}!initialization}%
|
6291 | 6291 | \indextext{requirements!container}%
|
6292 |
| -The conditions for an aggregate\iref{dcl.init.aggr} shall be |
| 6292 | +The conditions for an \deflink{aggregate}{dcl.init.aggr} shall be |
6293 | 6293 | met. Class \tcode{array} relies on the implicitly-declared special
|
6294 | 6294 | member functions\iref{class.default.ctor,class.dtor,class.copy.ctor} to
|
6295 | 6295 | conform to the container requirements table in~\ref{container.requirements}.
|
|
6503 | 6503 | A
|
6504 | 6504 | \indexlibraryglobal{deque}%
|
6505 | 6505 | \tcode{deque}
|
6506 |
| -is a sequence container that supports random access iterators\iref{random.access.iterators}. |
| 6506 | +is a sequence container that supports \link{random access iterators}{random.access.iterators}. |
6507 | 6507 | In addition, it supports constant time insert and erase operations at the beginning or the end;
|
6508 | 6508 | insert and erase in the middle take linear time.
|
6509 | 6509 | That is, a deque is especially optimized for pushing and popping elements at the beginning and end.
|
|
7118 | 7118 | \pnum
|
7119 | 7119 | An incomplete type \tcode{T} may be used when instantiating \tcode{forward_list}
|
7120 | 7120 | if the allocator meets the
|
7121 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 7121 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
7122 | 7122 | \tcode{T} shall be complete before any member of the resulting specialization
|
7123 | 7123 | of \tcode{forward_list} is referenced.
|
7124 | 7124 |
|
|
7698 | 7698 |
|
7699 | 7699 | \pnum
|
7700 | 7700 | \remarks
|
7701 |
| -Stable\iref{algorithm.stable}. |
| 7701 | +\link{Stable}{algorithm.stable}. |
7702 | 7702 | \end{itemdescr}
|
7703 | 7703 |
|
7704 | 7704 | \indexlibrarymember{unique}{forward_list}%
|
|
7803 | 7803 |
|
7804 | 7804 | \pnum
|
7805 | 7805 | \remarks
|
7806 |
| -Stable\iref{algorithm.stable}. |
| 7806 | +\link{Stable}{algorithm.stable}. |
7807 | 7807 | \end{itemdescr}
|
7808 | 7808 |
|
7809 | 7809 | \indexlibrarymember{reverse}{forward_list}%
|
|
7861 | 7861 | is a sequence container that supports
|
7862 | 7862 | bidirectional iterators and allows constant time insert and erase
|
7863 | 7863 | operations anywhere within the sequence, with storage management handled
|
7864 |
| -automatically. Unlike vectors\iref{vector} and deques\iref{deque}, |
| 7864 | +automatically. Unlike \link{vectors}{vector} and \link{deques}{deque}, |
7865 | 7865 | fast random access to list elements is not supported, but many
|
7866 | 7866 | algorithms only need sequential access anyway.
|
7867 | 7867 |
|
|
8030 | 8030 | \pnum
|
8031 | 8031 | An incomplete type \tcode{T} may be used when instantiating \tcode{list}
|
8032 | 8032 | if the allocator meets the
|
8033 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 8033 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
8034 | 8034 | \tcode{T} shall be complete before any member of the resulting specialization
|
8035 | 8035 | of \tcode{list} is referenced.
|
8036 | 8036 |
|
|
8444 | 8444 |
|
8445 | 8445 | \pnum
|
8446 | 8446 | \remarks
|
8447 |
| -Stable\iref{algorithm.stable}. |
| 8447 | +\link{Stable}{algorithm.stable}. |
8448 | 8448 | \end{itemdescr}
|
8449 | 8449 |
|
8450 | 8450 | \indexlibrarymember{unique}{list}%
|
|
8568 | 8568 |
|
8569 | 8569 | \pnum
|
8570 | 8570 | \remarks
|
8571 |
| -Stable\iref{algorithm.stable}. |
| 8571 | +\link{Stable}{algorithm.stable}. |
8572 | 8572 | \end{itemdescr}
|
8573 | 8573 |
|
8574 | 8574 | \rSec3[list.erasure]{Erasure}
|
|
8621 | 8621 | of a sequence container, including most of the optional sequence container
|
8622 | 8622 | requirements\iref{sequence.reqmts},
|
8623 | 8623 | and, for an element type other than \tcode{bool},
|
8624 |
| -of a contiguous container\iref{container.reqmts}. |
| 8624 | +of a \deflinkx{contiguous container}{container!contiguous}{container.reqmts}. |
8625 | 8625 | The exceptions are the
|
8626 | 8626 | \tcode{push_front}, \tcode{prepend_range}, \tcode{pop_front}, and \tcode{emplace_front} member functions, which are not
|
8627 | 8627 | provided. Descriptions are provided here only for operations on \tcode{vector}
|
|
8759 | 8759 | \pnum
|
8760 | 8760 | An incomplete type \tcode{T} may be used when instantiating \tcode{vector}
|
8761 | 8761 | if the allocator meets the
|
8762 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 8762 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
8763 | 8763 | \tcode{T} shall be complete before any member of the resulting specialization
|
8764 | 8764 | of \tcode{vector} is referenced.
|
8765 | 8765 |
|
|
9330 | 9330 | semantics as the primary \tcode{vector} template, except that operations
|
9331 | 9331 | dealing with the \tcode{bool} value type map to bit values in the
|
9332 | 9332 | container storage and
|
9333 |
| -\tcode{allocator_traits::construct}\iref{allocator.traits.members} |
| 9333 | +\libmemberrefx{allocator_traits::construct}{allocator_traits}{construct} |
9334 | 9334 | is not used to construct these values.
|
9335 | 9335 |
|
9336 | 9336 | \pnum
|
|
13832 | 13832 | can be used to instantiate
|
13833 | 13833 | \tcode{queue}.
|
13834 | 13834 | In particular,
|
13835 |
| -\tcode{list}\iref{list} |
| 13835 | +\link{\tcode{list}}{list} |
13836 | 13836 | and
|
13837 |
| -\tcode{deque}\iref{deque} |
| 13837 | +\link{\tcode{deque}}{deque} |
13838 | 13838 | can be used.
|
13839 | 13839 |
|
13840 | 13840 | \begin{codeblock}
|
@@ -14189,15 +14189,15 @@
|
14189 | 14189 | can be used to instantiate
|
14190 | 14190 | \tcode{priority_queue}.
|
14191 | 14191 | In particular,
|
14192 |
| -\tcode{vector}\iref{vector} |
| 14192 | +\link{\tcode{vector}}{vector} |
14193 | 14193 | and
|
14194 |
| -\tcode{deque}\iref{deque} |
| 14194 | +\link{\tcode{deque}}{deque} |
14195 | 14195 | can be used.
|
14196 | 14196 | Instantiating
|
14197 | 14197 | \tcode{priority_queue}
|
14198 | 14198 | also involves supplying a function or function object for making
|
14199 | 14199 | priority comparisons; the library assumes that the function or function
|
14200 |
| -object defines a strict weak ordering\iref{alg.sorting}. |
| 14200 | +object defines a \link{strict weak ordering}{alg.sorting}. |
14201 | 14201 |
|
14202 | 14202 | \begin{codeblock}
|
14203 | 14203 | namespace std {
|
@@ -14697,10 +14697,10 @@
|
14697 | 14697 | can be used to instantiate
|
14698 | 14698 | \tcode{stack}.
|
14699 | 14699 | In particular,
|
14700 |
| -\tcode{vector}\iref{vector}, |
14701 |
| -\tcode{list}\iref{list} |
| 14700 | +\link{\tcode{vector}}{vector}, |
| 14701 | +\link{\tcode{list}}{list} |
14702 | 14702 | and
|
14703 |
| -\tcode{deque}\iref{deque} |
| 14703 | +\link{\tcode{deque}}{deque} |
14704 | 14704 | can be used.
|
14705 | 14705 |
|
14706 | 14706 | \rSec3[stack.defn]{Definition}
|
|
0 commit comments