|
6186 | 6186 | \indextext{\idxcode{array}!contiguous storage}%
|
6187 | 6187 | The header \libheader{array} defines a class template for storing fixed-size
|
6188 | 6188 | sequences of objects.
|
6189 |
| -An \tcode{array} is a contiguous container\iref{container.reqmts}. |
| 6189 | +An \tcode{array} is a \deflinkx{contiguous container}{container!contiguous}{container.reqmts}. |
6190 | 6190 | An instance of \tcode{array<T, N>} stores \tcode{N} elements of type \tcode{T},
|
6191 | 6191 | so that \tcode{size() == N} is an invariant.
|
6192 | 6192 |
|
6193 | 6193 | \pnum
|
6194 | 6194 | \indextext{\idxcode{array}!initialization}%
|
6195 | 6195 | \indextext{\idxcode{array}!as aggregate}%
|
6196 |
| -An \tcode{array} is an aggregate\iref{dcl.init.aggr} that can be |
| 6196 | +An \tcode{array} is an \deflink{aggregate}{dcl.init.aggr} that can be |
6197 | 6197 | list-initialized with up
|
6198 | 6198 | to \tcode{N} elements whose types are convertible to \tcode{T}.
|
6199 | 6199 |
|
|
6204 | 6204 | of a reversible container\iref{container.rev.reqmts},
|
6205 | 6205 | except that a default
|
6206 | 6206 | constructed \tcode{array} object is not empty if $\tcode{N} > 0$.
|
6207 |
| -An \tcode{array} meets some of the requirements of a sequence |
6208 |
| -container\iref{sequence.reqmts}. |
| 6207 | +An \tcode{array} meets some of the requirements of a |
| 6208 | +\link{sequence container}{sequence.reqmts}. |
6209 | 6209 | Descriptions are provided here
|
6210 | 6210 | only for operations on \tcode{array} that are not described in
|
6211 | 6211 | one of these tables and
|
|
6215 | 6215 | \tcode{array<T, N>} is a structural type\iref{term.structural.type} if
|
6216 | 6216 | \tcode{T} is a structural type.
|
6217 | 6217 | Two values \tcode{a1} and \tcode{a2} of type \tcode{array<T, N>}
|
6218 |
| -are template-argument-equivalent\iref{temp.type} if and only if |
| 6218 | +are \deflink{template-argument-equivalent}{temp.type} if and only if |
6219 | 6219 | each pair of corresponding elements in \tcode{a1} and \tcode{a2}
|
6220 | 6220 | are template-argument-equivalent.
|
6221 | 6221 |
|
6222 | 6222 | \pnum
|
6223 | 6223 | The types \tcode{iterator} and \tcode{const_iterator} meet
|
6224 |
| -the constexpr iterator requirements\iref{iterator.requirements.general}. |
| 6224 | +the \deflinkx{constexpr iterator}{iterator!constexpr}{iterator.requirements.general} requirements. |
6225 | 6225 |
|
6226 | 6226 | \indexlibraryglobal{array}%
|
6227 | 6227 | \indexlibrarymember{array}{begin}%
|
|
6295 | 6295 | \pnum
|
6296 | 6296 | \indextext{\idxcode{array}!initialization}%
|
6297 | 6297 | \indextext{requirements!container}%
|
6298 |
| -The conditions for an aggregate\iref{dcl.init.aggr} shall be |
| 6298 | +The conditions for an \deflink{aggregate}{dcl.init.aggr} shall be |
6299 | 6299 | met. Class \tcode{array} relies on the implicitly-declared special
|
6300 | 6300 | member functions\iref{class.default.ctor,class.dtor,class.copy.ctor} to
|
6301 | 6301 | conform to the container requirements table in~\ref{container.requirements}.
|
|
6509 | 6509 | A
|
6510 | 6510 | \indexlibraryglobal{deque}%
|
6511 | 6511 | \tcode{deque}
|
6512 |
| -is a sequence container that supports random access iterators\iref{random.access.iterators}. |
| 6512 | +is a sequence container that supports \link{random access iterators}{random.access.iterators}. |
6513 | 6513 | In addition, it supports constant time insert and erase operations at the beginning or the end;
|
6514 | 6514 | insert and erase in the middle take linear time.
|
6515 | 6515 | That is, a deque is especially optimized for pushing and popping elements at the beginning and end.
|
|
7124 | 7124 | \pnum
|
7125 | 7125 | An incomplete type \tcode{T} may be used when instantiating \tcode{forward_list}
|
7126 | 7126 | if the allocator meets the
|
7127 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 7127 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
7128 | 7128 | \tcode{T} shall be complete before any member of the resulting specialization
|
7129 | 7129 | of \tcode{forward_list} is referenced.
|
7130 | 7130 |
|
|
7704 | 7704 |
|
7705 | 7705 | \pnum
|
7706 | 7706 | \remarks
|
7707 |
| -Stable\iref{algorithm.stable}. |
| 7707 | +\link{Stable}{algorithm.stable}. |
7708 | 7708 | \end{itemdescr}
|
7709 | 7709 |
|
7710 | 7710 | \indexlibrarymember{unique}{forward_list}%
|
|
7809 | 7809 |
|
7810 | 7810 | \pnum
|
7811 | 7811 | \remarks
|
7812 |
| -Stable\iref{algorithm.stable}. |
| 7812 | +\link{Stable}{algorithm.stable}. |
7813 | 7813 | \end{itemdescr}
|
7814 | 7814 |
|
7815 | 7815 | \indexlibrarymember{reverse}{forward_list}%
|
|
7867 | 7867 | is a sequence container that supports
|
7868 | 7868 | bidirectional iterators and allows constant time insert and erase
|
7869 | 7869 | operations anywhere within the sequence, with storage management handled
|
7870 |
| -automatically. Unlike vectors\iref{vector} and deques\iref{deque}, |
| 7870 | +automatically. Unlike \link{vectors}{vector} and \link{deques}{deque}, |
7871 | 7871 | fast random access to list elements is not supported, but many
|
7872 | 7872 | algorithms only need sequential access anyway.
|
7873 | 7873 |
|
|
8036 | 8036 | \pnum
|
8037 | 8037 | An incomplete type \tcode{T} may be used when instantiating \tcode{list}
|
8038 | 8038 | if the allocator meets the
|
8039 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 8039 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
8040 | 8040 | \tcode{T} shall be complete before any member of the resulting specialization
|
8041 | 8041 | of \tcode{list} is referenced.
|
8042 | 8042 |
|
|
8450 | 8450 |
|
8451 | 8451 | \pnum
|
8452 | 8452 | \remarks
|
8453 |
| -Stable\iref{algorithm.stable}. |
| 8453 | +\link{Stable}{algorithm.stable}. |
8454 | 8454 | \end{itemdescr}
|
8455 | 8455 |
|
8456 | 8456 | \indexlibrarymember{unique}{list}%
|
|
8574 | 8574 |
|
8575 | 8575 | \pnum
|
8576 | 8576 | \remarks
|
8577 |
| -Stable\iref{algorithm.stable}. |
| 8577 | +\link{Stable}{algorithm.stable}. |
8578 | 8578 | \end{itemdescr}
|
8579 | 8579 |
|
8580 | 8580 | \rSec3[list.erasure]{Erasure}
|
|
8627 | 8627 | of a sequence container, including most of the optional sequence container
|
8628 | 8628 | requirements\iref{sequence.reqmts},
|
8629 | 8629 | and, for an element type other than \tcode{bool},
|
8630 |
| -of a contiguous container\iref{container.reqmts}. |
| 8630 | +of a \deflinkx{contiguous container}{container!contiguous}{container.reqmts}. |
8631 | 8631 | The exceptions are the
|
8632 | 8632 | \tcode{push_front}, \tcode{prepend_range}, \tcode{pop_front}, and \tcode{emplace_front} member functions, which are not
|
8633 | 8633 | provided. Descriptions are provided here only for operations on \tcode{vector}
|
|
8765 | 8765 | \pnum
|
8766 | 8766 | An incomplete type \tcode{T} may be used when instantiating \tcode{vector}
|
8767 | 8767 | if the allocator meets the
|
8768 |
| -allocator completeness requirements\iref{allocator.requirements.completeness}. |
| 8768 | +\link{allocator completeness requirements}{allocator.requirements.completeness}. |
8769 | 8769 | \tcode{T} shall be complete before any member of the resulting specialization
|
8770 | 8770 | of \tcode{vector} is referenced.
|
8771 | 8771 |
|
|
9336 | 9336 | semantics as the primary \tcode{vector} template, except that operations
|
9337 | 9337 | dealing with the \tcode{bool} value type map to bit values in the
|
9338 | 9338 | container storage and
|
9339 |
| -\tcode{allocator_traits::construct}\iref{allocator.traits.members} |
| 9339 | +\libmemberrefx{allocator_traits::construct}{allocator_traits}{construct} |
9340 | 9340 | is not used to construct these values.
|
9341 | 9341 |
|
9342 | 9342 | \pnum
|
|
13850 | 13850 | can be used to instantiate
|
13851 | 13851 | \tcode{queue}.
|
13852 | 13852 | In particular,
|
13853 |
| -\tcode{list}\iref{list} |
| 13853 | +\link{\tcode{list}}{list} |
13854 | 13854 | and
|
13855 |
| -\tcode{deque}\iref{deque} |
| 13855 | +\link{\tcode{deque}}{deque} |
13856 | 13856 | can be used.
|
13857 | 13857 |
|
13858 | 13858 | \begin{codeblock}
|
@@ -14207,15 +14207,15 @@
|
14207 | 14207 | can be used to instantiate
|
14208 | 14208 | \tcode{priority_queue}.
|
14209 | 14209 | In particular,
|
14210 |
| -\tcode{vector}\iref{vector} |
| 14210 | +\link{\tcode{vector}}{vector} |
14211 | 14211 | and
|
14212 |
| -\tcode{deque}\iref{deque} |
| 14212 | +\link{\tcode{deque}}{deque} |
14213 | 14213 | can be used.
|
14214 | 14214 | Instantiating
|
14215 | 14215 | \tcode{priority_queue}
|
14216 | 14216 | also involves supplying a function or function object for making
|
14217 | 14217 | priority comparisons; the library assumes that the function or function
|
14218 |
| -object defines a strict weak ordering\iref{alg.sorting}. |
| 14218 | +object defines a \link{strict weak ordering}{alg.sorting}. |
14219 | 14219 |
|
14220 | 14220 | \begin{codeblock}
|
14221 | 14221 | namespace std {
|
@@ -14715,10 +14715,10 @@
|
14715 | 14715 | can be used to instantiate
|
14716 | 14716 | \tcode{stack}.
|
14717 | 14717 | In particular,
|
14718 |
| -\tcode{vector}\iref{vector}, |
14719 |
| -\tcode{list}\iref{list} |
| 14718 | +\link{\tcode{vector}}{vector}, |
| 14719 | +\link{\tcode{list}}{list} |
14720 | 14720 | and
|
14721 |
| -\tcode{deque}\iref{deque} |
| 14721 | +\link{\tcode{deque}}{deque} |
14722 | 14722 | can be used.
|
14723 | 14723 |
|
14724 | 14724 | \rSec3[stack.defn]{Definition}
|
|
0 commit comments