|
6183 | 6183 | \indextext{\idxcode{array}!contiguous storage}%
|
6184 | 6184 | The header \libheader{array} defines a class template for storing fixed-size
|
6185 | 6185 | sequences of objects.
|
6186 |
| -An \tcode{array} is a contiguous container\iref{container.reqmts}. |
| 6186 | +An \tcode{array} is a \deflinkx{contiguous container}{container!contiguous}{container.reqmts}. |
6187 | 6187 | An instance of \tcode{array<T, N>} stores \tcode{N} elements of type \tcode{T},
|
6188 | 6188 | so that \tcode{size() == N} is an invariant.
|
6189 | 6189 |
|
6190 | 6190 | \pnum
|
6191 | 6191 | \indextext{\idxcode{array}!initialization}%
|
6192 | 6192 | \indextext{\idxcode{array}!as aggregate}%
|
6193 |
| -An \tcode{array} is an aggregate\iref{dcl.init.aggr} that can be |
| 6193 | +An \tcode{array} is an \deflink{aggregate}{dcl.init.aggr} that can be |
6194 | 6194 | list-initialized with up
|
6195 | 6195 | to \tcode{N} elements whose types are convertible to \tcode{T}.
|
6196 | 6196 |
|
|
6201 | 6201 | of a reversible container\iref{container.rev.reqmts},
|
6202 | 6202 | except that a default
|
6203 | 6203 | constructed \tcode{array} object is not empty if $\tcode{N} > 0$.
|
6204 |
| -An \tcode{array} meets some of the requirements of a sequence |
6205 |
| -container\iref{sequence.reqmts}. |
| 6204 | +An \tcode{array} meets some of the requirements of a |
| 6205 | +\link{sequence container}{sequence.reqmts}. |
6206 | 6206 | Descriptions are provided here
|
6207 | 6207 | only for operations on \tcode{array} that are not described in
|
6208 | 6208 | one of these tables and
|
|
6212 | 6212 | \tcode{array<T, N>} is a structural type\iref{term.structural.type} if
|
6213 | 6213 | \tcode{T} is a structural type.
|
6214 | 6214 | Two values \tcode{a1} and \tcode{a2} of type \tcode{array<T, N>}
|
6215 |
| -are template-argument-equivalent\iref{temp.type} if and only if |
| 6215 | +are \deflink{template-argument-equivalent}{temp.type} if and only if |
6216 | 6216 | each pair of corresponding elements in \tcode{a1} and \tcode{a2}
|
6217 | 6217 | are template-argument-equivalent.
|
6218 | 6218 |
|
6219 | 6219 | \pnum
|
6220 | 6220 | The types \tcode{iterator} and \tcode{const_iterator} meet
|
6221 |
| -the constexpr iterator requirements\iref{iterator.requirements.general}. |
| 6221 | +the \deflinkx{constexpr iterator}{iterator!constexpr}{iterator.requirements.general} requirements. |
6222 | 6222 |
|
6223 | 6223 | \indexlibraryglobal{array}%
|
6224 | 6224 | \indexlibrarymember{array}{begin}%
|
|
6292 | 6292 | \pnum
|
6293 | 6293 | \indextext{\idxcode{array}!initialization}%
|
6294 | 6294 | \indextext{requirements!container}%
|
6295 |
| -The conditions for an aggregate\iref{dcl.init.aggr} shall be |
| 6295 | +The conditions for an \deflink{aggregate}{dcl.init.aggr} shall be |
6296 | 6296 | met. Class \tcode{array} relies on the implicitly-declared special
|
6297 | 6297 | member functions\iref{class.default.ctor,class.dtor,class.copy.ctor} to
|
6298 | 6298 | conform to the container requirements table in~\ref{container.requirements}.
|
|
6506 | 6506 | A
|
6507 | 6507 | \indexlibraryglobal{deque}%
|
6508 | 6508 | \tcode{deque}
|
6509 |
| -is a sequence container that supports random access iterators\iref{random.access.iterators}. |
| 6509 | +is a sequence container that supports \link{random access iterators}{random.access.iterators}. |
6510 | 6510 | In addition, it supports constant time insert and erase operations at the beginning or the end;
|
6511 | 6511 | insert and erase in the middle take linear time.
|
6512 | 6512 | That is, a deque is especially optimized for pushing and popping elements at the beginning and end.
|
|
7121 | 7121 | \pnum
|
7122 | 7122 | An incomplete type \tcode{T} may be used when instantiating \tcode{forward_list}
|
7123 | 7123 | if the allocator meets the
|
7124 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 7124 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
7125 | 7125 | \tcode{T} shall be complete before any member of the resulting specialization
|
7126 | 7126 | of \tcode{forward_list} is referenced.
|
7127 | 7127 |
|
|
7701 | 7701 |
|
7702 | 7702 | \pnum
|
7703 | 7703 | \remarks
|
7704 |
| -Stable\iref{algorithm.stable}. |
| 7704 | +\link{Stable}{algorithm.stable}. |
7705 | 7705 | \end{itemdescr}
|
7706 | 7706 |
|
7707 | 7707 | \indexlibrarymember{unique}{forward_list}%
|
|
7806 | 7806 |
|
7807 | 7807 | \pnum
|
7808 | 7808 | \remarks
|
7809 |
| -Stable\iref{algorithm.stable}. |
| 7809 | +\link{Stable}{algorithm.stable}. |
7810 | 7810 | \end{itemdescr}
|
7811 | 7811 |
|
7812 | 7812 | \indexlibrarymember{reverse}{forward_list}%
|
|
7864 | 7864 | is a sequence container that supports
|
7865 | 7865 | bidirectional iterators and allows constant time insert and erase
|
7866 | 7866 | operations anywhere within the sequence, with storage management handled
|
7867 |
| -automatically. Unlike vectors\iref{vector} and deques\iref{deque}, |
| 7867 | +automatically. Unlike \link{vectors}{vector} and \link{deques}{deque}, |
7868 | 7868 | fast random access to list elements is not supported, but many
|
7869 | 7869 | algorithms only need sequential access anyway.
|
7870 | 7870 |
|
|
8033 | 8033 | \pnum
|
8034 | 8034 | An incomplete type \tcode{T} may be used when instantiating \tcode{list}
|
8035 | 8035 | if the allocator meets the
|
8036 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 8036 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
8037 | 8037 | \tcode{T} shall be complete before any member of the resulting specialization
|
8038 | 8038 | of \tcode{list} is referenced.
|
8039 | 8039 |
|
|
8447 | 8447 |
|
8448 | 8448 | \pnum
|
8449 | 8449 | \remarks
|
8450 |
| -Stable\iref{algorithm.stable}. |
| 8450 | +\link{Stable}{algorithm.stable}. |
8451 | 8451 | \end{itemdescr}
|
8452 | 8452 |
|
8453 | 8453 | \indexlibrarymember{unique}{list}%
|
|
8571 | 8571 |
|
8572 | 8572 | \pnum
|
8573 | 8573 | \remarks
|
8574 |
| -Stable\iref{algorithm.stable}. |
| 8574 | +\link{Stable}{algorithm.stable}. |
8575 | 8575 | \end{itemdescr}
|
8576 | 8576 |
|
8577 | 8577 | \rSec3[list.erasure]{Erasure}
|
|
8624 | 8624 | of a sequence container, including most of the optional sequence container
|
8625 | 8625 | requirements\iref{sequence.reqmts},
|
8626 | 8626 | and, for an element type other than \tcode{bool},
|
8627 |
| -of a contiguous container\iref{container.reqmts}. |
| 8627 | +of a \deflinkx{contiguous container}{container!contiguous}{container.reqmts}. |
8628 | 8628 | The exceptions are the
|
8629 | 8629 | \tcode{push_front}, \tcode{prepend_range}, \tcode{pop_front}, and \tcode{emplace_front} member functions, which are not
|
8630 | 8630 | provided. Descriptions are provided here only for operations on \tcode{vector}
|
|
8762 | 8762 | \pnum
|
8763 | 8763 | An incomplete type \tcode{T} may be used when instantiating \tcode{vector}
|
8764 | 8764 | if the allocator meets the
|
8765 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 8765 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
8766 | 8766 | \tcode{T} shall be complete before any member of the resulting specialization
|
8767 | 8767 | of \tcode{vector} is referenced.
|
8768 | 8768 |
|
|
9333 | 9333 | semantics as the primary \tcode{vector} template, except that operations
|
9334 | 9334 | dealing with the \tcode{bool} value type map to bit values in the
|
9335 | 9335 | container storage and
|
9336 |
| -\tcode{allocator_traits::construct}\iref{allocator.traits.members} |
| 9336 | +\libmemberrefx{allocator_traits::construct}{allocator_traits}{construct} |
9337 | 9337 | is not used to construct these values.
|
9338 | 9338 |
|
9339 | 9339 | \pnum
|
|
13847 | 13847 | can be used to instantiate
|
13848 | 13848 | \tcode{queue}.
|
13849 | 13849 | In particular,
|
13850 |
| -\tcode{list}\iref{list} |
| 13850 | +\link{\tcode{list}}{list} |
13851 | 13851 | and
|
13852 |
| -\tcode{deque}\iref{deque} |
| 13852 | +\link{\tcode{deque}}{deque} |
13853 | 13853 | can be used.
|
13854 | 13854 |
|
13855 | 13855 | \begin{codeblock}
|
@@ -14204,15 +14204,15 @@
|
14204 | 14204 | can be used to instantiate
|
14205 | 14205 | \tcode{priority_queue}.
|
14206 | 14206 | In particular,
|
14207 |
| -\tcode{vector}\iref{vector} |
| 14207 | +\link{\tcode{vector}}{vector} |
14208 | 14208 | and
|
14209 |
| -\tcode{deque}\iref{deque} |
| 14209 | +\link{\tcode{deque}}{deque} |
14210 | 14210 | can be used.
|
14211 | 14211 | Instantiating
|
14212 | 14212 | \tcode{priority_queue}
|
14213 | 14213 | also involves supplying a function or function object for making
|
14214 | 14214 | priority comparisons; the library assumes that the function or function
|
14215 |
| -object defines a strict weak ordering\iref{alg.sorting}. |
| 14215 | +object defines a \link{strict weak ordering}{alg.sorting}. |
14216 | 14216 |
|
14217 | 14217 | \begin{codeblock}
|
14218 | 14218 | namespace std {
|
@@ -14712,10 +14712,10 @@
|
14712 | 14712 | can be used to instantiate
|
14713 | 14713 | \tcode{stack}.
|
14714 | 14714 | In particular,
|
14715 |
| -\tcode{vector}\iref{vector}, |
14716 |
| -\tcode{list}\iref{list} |
| 14715 | +\link{\tcode{vector}}{vector}, |
| 14716 | +\link{\tcode{list}}{list} |
14717 | 14717 | and
|
14718 |
| -\tcode{deque}\iref{deque} |
| 14718 | +\link{\tcode{deque}}{deque} |
14719 | 14719 | can be used.
|
14720 | 14720 |
|
14721 | 14721 | \rSec3[stack.defn]{Definition}
|
|
0 commit comments