|
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