mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-23 17:17:23 +02:00
Renaming No-bounds concept to Unbounded concept.
This commit is contained in:
@ -79,7 +79,7 @@
|
|||||||
[def __bidirectional_iterator__ [link fusion.iterator.concepts.bidirectional_iterator Bidirectional Iterator]]
|
[def __bidirectional_iterator__ [link fusion.iterator.concepts.bidirectional_iterator Bidirectional Iterator]]
|
||||||
[def __random_access_iterator__ [link fusion.iterator.concepts.random_access_iterator Random Access Iterator]]
|
[def __random_access_iterator__ [link fusion.iterator.concepts.random_access_iterator Random Access Iterator]]
|
||||||
[def __associative_iterator__ [link fusion.iterator.concepts.associative_iterator Associative Iterator]]
|
[def __associative_iterator__ [link fusion.iterator.concepts.associative_iterator Associative Iterator]]
|
||||||
[def __no_bounds_iterator__ [link fusion.iterator.concepts.no_bounds_iterator No-bounds Iterator]]
|
[def __unbounded_iterator__ [link fusion.iterator.concepts.unbounded_iterator Unbounded Iterator]]
|
||||||
|
|
||||||
[def __next__ [link fusion.iterator.functions.next `next`]]
|
[def __next__ [link fusion.iterator.functions.next `next`]]
|
||||||
[def __prior__ [link fusion.iterator.functions.prior `prior`]]
|
[def __prior__ [link fusion.iterator.functions.prior `prior`]]
|
||||||
@ -109,7 +109,7 @@
|
|||||||
[def __bidirectional_sequence__ [link fusion.sequence.concepts.bidirectional_sequence Bidirectional Sequence]]
|
[def __bidirectional_sequence__ [link fusion.sequence.concepts.bidirectional_sequence Bidirectional Sequence]]
|
||||||
[def __random_access_sequence__ [link fusion.sequence.concepts.random_access_sequence Random Access Sequence]]
|
[def __random_access_sequence__ [link fusion.sequence.concepts.random_access_sequence Random Access Sequence]]
|
||||||
[def __associative_sequence__ [link fusion.sequence.concepts.associative_sequence Associative Sequence]]
|
[def __associative_sequence__ [link fusion.sequence.concepts.associative_sequence Associative Sequence]]
|
||||||
[def __no_bounds_sequence__ [link fusion.sequence.concepts.no_bounds_sequence No-bounds Sequence]]
|
[def __unbounded_sequence__ [link fusion.sequence.concepts.unbounded_sequence Unbounded Sequence]]
|
||||||
|
|
||||||
[def __containers__ [link fusion.container Container]]
|
[def __containers__ [link fusion.container Container]]
|
||||||
[def __vector__ [link fusion.container.vector `vector`]]
|
[def __vector__ [link fusion.container.vector `vector`]]
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
Access Iterator</a></span></dt>
|
Access Iterator</a></span></dt>
|
||||||
<dt><span class="section"><a href="fusion/iterator/concepts/associative_iterator.html">Associative
|
<dt><span class="section"><a href="fusion/iterator/concepts/associative_iterator.html">Associative
|
||||||
Iterator</a></span></dt>
|
Iterator</a></span></dt>
|
||||||
<dt><span class="section"><a href="fusion/iterator/concepts/no_bounds_iterator.html">No-bounds
|
<dt><span class="section"><a href="fusion/iterator/concepts/unbounded_iterator.html">Unbounded
|
||||||
Iterator</a></span></dt>
|
Iterator</a></span></dt>
|
||||||
</dl></dd>
|
</dl></dd>
|
||||||
<dt><span class="section"><a href="fusion/iterator/functions.html">Functions</a></span></dt>
|
<dt><span class="section"><a href="fusion/iterator/functions.html">Functions</a></span></dt>
|
||||||
@ -118,7 +118,7 @@
|
|||||||
Access Sequence</a></span></dt>
|
Access Sequence</a></span></dt>
|
||||||
<dt><span class="section"><a href="fusion/sequence/concepts/associative_sequence.html">Associative
|
<dt><span class="section"><a href="fusion/sequence/concepts/associative_sequence.html">Associative
|
||||||
Sequence</a></span></dt>
|
Sequence</a></span></dt>
|
||||||
<dt><span class="section"><a href="fusion/sequence/concepts/no_bounds_sequence.html">No-bounds
|
<dt><span class="section"><a href="fusion/sequence/concepts/unbounded_sequence.html">Unbounded
|
||||||
Sequence</a></span></dt>
|
Sequence</a></span></dt>
|
||||||
</dl></dd>
|
</dl></dd>
|
||||||
<dt><span class="section"><a href="fusion/sequence/intrinsic.html">Intrinsic</a></span></dt>
|
<dt><span class="section"><a href="fusion/sequence/intrinsic.html">Intrinsic</a></span></dt>
|
||||||
@ -278,7 +278,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||||
<td align="left"><p><small>Last revised: May 10, 2013 at 05:54:18 GMT</small></p></td>
|
<td align="left"><p><small>Last revised: June 25, 2015 at 13:41:27 GMT</small></p></td>
|
||||||
<td align="right"><div class="copyright-footer"></div></td>
|
<td align="right"><div class="copyright-footer"></div></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -257,9 +257,9 @@ expressions must be valid:
|
|||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
|
|
||||||
[section No-bounds Iterator]
|
[section Unbounded Iterator]
|
||||||
|
|
||||||
[warning In this release, __no_bounds_iterator__ concept has no effect. It's reserved for future release.]
|
[warning In this release, __unbounded_iterator__ concept has no effect. It's reserved for future release.]
|
||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
|
|
||||||
|
@ -41,8 +41,8 @@ Sequence allows efficient retrieval of elements based on keys.
|
|||||||
|
|
||||||
[heading Boundary]
|
[heading Boundary]
|
||||||
|
|
||||||
The __no_bounds_sequence__ concept is also orthogonal to traversal and associativity.
|
The __unbounded_sequence__ concept is also orthogonal to traversal and associativity.
|
||||||
A No-bounds Sequence allows out-of-bounds access.
|
A Unbounded Sequence allows out-of-bounds access.
|
||||||
|
|
||||||
[section Forward Sequence]
|
[section Forward Sequence]
|
||||||
|
|
||||||
@ -364,11 +364,11 @@ you can use `__result_of_value_at_key__<S, K>`.]
|
|||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
|
|
||||||
[section No-bounds Sequence]
|
[section Unbounded Sequence]
|
||||||
|
|
||||||
[heading Description]
|
[heading Description]
|
||||||
|
|
||||||
A No-bounds Sequence allows Out-of-Bounds access: it will achieve something like a __window_function__.
|
A Unbounded Sequence allows Out-of-Bounds access: it will achieve something like a __window_function__.
|
||||||
Most of the sequences do not meet this concept, but some special usecases do.
|
Most of the sequences do not meet this concept, but some special usecases do.
|
||||||
|
|
||||||
[important User extending sequences should handle any parameters or be SFINAE-friendly.]
|
[important User extending sequences should handle any parameters or be SFINAE-friendly.]
|
||||||
@ -740,7 +740,7 @@ element from the beginning of the sequence, is a valid expression. Else,
|
|||||||
returns a type convertible to the M-th element from the beginning of the
|
returns a type convertible to the M-th element from the beginning of the
|
||||||
sequence.
|
sequence.
|
||||||
|
|
||||||
[*Precondition]: `0 <= M::value < __size__(seq)` (where `seq` is not __no_bounds_sequence__)
|
[*Precondition]: `0 <= M::value < __size__(seq)` (where `seq` is not __unbounded_sequence__)
|
||||||
|
|
||||||
[*Semantics]: Equivalent to
|
[*Semantics]: Equivalent to
|
||||||
|
|
||||||
@ -793,7 +793,7 @@ element from the beginning of the sequence, is a valid expression. Else,
|
|||||||
returns a type convertible to the N-th element from the beginning of the
|
returns a type convertible to the N-th element from the beginning of the
|
||||||
sequence.
|
sequence.
|
||||||
|
|
||||||
[*Precondition]: `0 <= N < __size__(seq)` (where `seq` is not __no_bounds_sequence__)
|
[*Precondition]: `0 <= N < __size__(seq)` (where `seq` is not __unbounded_sequence__)
|
||||||
|
|
||||||
[*Semantics]: Equivalent to
|
[*Semantics]: Equivalent to
|
||||||
|
|
||||||
@ -887,7 +887,7 @@ the sequence `seq` if `seq` is mutable and `e = o`, where `e` is the
|
|||||||
element associated with Key, is a valid expression. Else, returns a type
|
element associated with Key, is a valid expression. Else, returns a type
|
||||||
convertible to the element associated with Key.
|
convertible to the element associated with Key.
|
||||||
|
|
||||||
[*Precondition]: `has_key<Key>(seq) == true` (where `seq` is not __no_bounds_sequence__)
|
[*Precondition]: `has_key<Key>(seq) == true` (where `seq` is not __unbounded_sequence__)
|
||||||
|
|
||||||
[*Semantics]: Returns the element associated with Key.
|
[*Semantics]: Returns the element associated with Key.
|
||||||
|
|
||||||
@ -1203,7 +1203,7 @@ the actual element type, use __result_of_value_at__].
|
|||||||
|
|
||||||
[*Return type]: Any type.
|
[*Return type]: Any type.
|
||||||
|
|
||||||
[*Precondition]: `0 <= M::value < __result_of_size__<Seq>::value` (where `Seq` is not __no_bounds_sequence__)
|
[*Precondition]: `0 <= M::value < __result_of_size__<Seq>::value` (where `Seq` is not __unbounded_sequence__)
|
||||||
|
|
||||||
[*Semantics]: Returns the result type of using __at__ to access the `M`th element of `Seq`.
|
[*Semantics]: Returns the result type of using __at__ to access the `M`th element of `Seq`.
|
||||||
|
|
||||||
@ -1247,7 +1247,7 @@ get the actual element type, use __result_of_value_at_c__].
|
|||||||
|
|
||||||
[*Return type]: Any type
|
[*Return type]: Any type
|
||||||
|
|
||||||
[*Precondition]: `0 <= N < __result_of_size__<Seq>::value` (where `Seq` is not __no_bounds_sequence__)
|
[*Precondition]: `0 <= N < __result_of_size__<Seq>::value` (where `Seq` is not __unbounded_sequence__)
|
||||||
|
|
||||||
[*Semantics]: Returns the result type of using __at_c__ to access the `N`th element of `Seq`.
|
[*Semantics]: Returns the result type of using __at_c__ to access the `N`th element of `Seq`.
|
||||||
|
|
||||||
@ -1408,7 +1408,7 @@ you want to get the actual element type, use __result_of_value_at_key__].
|
|||||||
|
|
||||||
[*Return type]: Any type.
|
[*Return type]: Any type.
|
||||||
|
|
||||||
[*Precondition]: `has_key<Seq, Key>::type::value == true` (where `Seq` is not __no_bounds_sequence__)
|
[*Precondition]: `has_key<Seq, Key>::type::value == true` (where `Seq` is not __unbounded_sequence__)
|
||||||
|
|
||||||
[*Semantics]: Returns the result of using __at_key__ to access the element with key type `Key` in `Seq`.
|
[*Semantics]: Returns the result of using __at_key__ to access the element with key type `Key` in `Seq`.
|
||||||
|
|
||||||
@ -1448,7 +1448,7 @@ Returns the actual element type associated with a Key from the __sequence__.
|
|||||||
|
|
||||||
[*Return type]: Any type.
|
[*Return type]: Any type.
|
||||||
|
|
||||||
[*Precondition]: `has_key<Seq, Key>::type::value == true` (where `Seq` is not __no_bounds_sequence__)
|
[*Precondition]: `has_key<Seq, Key>::type::value == true` (where `Seq` is not __unbounded_sequence__)
|
||||||
|
|
||||||
[*Semantics]: Returns the actual element type associated with key type
|
[*Semantics]: Returns the actual element type associated with key type
|
||||||
`Key` in `Seq`.
|
`Key` in `Seq`.
|
||||||
|
@ -228,7 +228,7 @@ And optionally from:
|
|||||||
{
|
{
|
||||||
struct associative_tag {};
|
struct associative_tag {};
|
||||||
|
|
||||||
struct no_bounds_tag {};
|
struct unbounded_tag {};
|
||||||
}}
|
}}
|
||||||
|
|
||||||
[*Semantics]: Establishes the conceptual classification of a particular
|
[*Semantics]: Establishes the conceptual classification of a particular
|
||||||
|
@ -67,7 +67,7 @@ namespace boost { namespace fusion
|
|||||||
: mpl::if_<
|
: mpl::if_<
|
||||||
mpl::or_<
|
mpl::or_<
|
||||||
mpl::less<N, typename extension::size_impl<Tag>::template apply<Sequence>::type>
|
mpl::less<N, typename extension::size_impl<Tag>::template apply<Sequence>::type>
|
||||||
, traits::has_no_bounds<Sequence>
|
, traits::is_unbounded<Sequence>
|
||||||
>
|
>
|
||||||
, typename extension::at_impl<Tag>::template apply<Sequence, N>
|
, typename extension::at_impl<Tag>::template apply<Sequence, N>
|
||||||
, mpl::empty_base
|
, mpl::empty_base
|
||||||
|
@ -76,7 +76,7 @@ namespace boost { namespace fusion
|
|||||||
: mpl::if_<
|
: mpl::if_<
|
||||||
mpl::or_<
|
mpl::or_<
|
||||||
typename extension::has_key_impl<Tag>::template apply<Sequence, Key>
|
typename extension::has_key_impl<Tag>::template apply<Sequence, Key>
|
||||||
, traits::has_no_bounds<Sequence>
|
, traits::is_unbounded<Sequence>
|
||||||
>
|
>
|
||||||
, typename extension::at_key_impl<Tag>::template apply<Sequence, Key>
|
, typename extension::at_key_impl<Tag>::template apply<Sequence, Key>
|
||||||
, mpl::empty_base
|
, mpl::empty_base
|
||||||
|
@ -62,7 +62,7 @@ namespace boost { namespace fusion
|
|||||||
: mpl::if_<
|
: mpl::if_<
|
||||||
mpl::or_<
|
mpl::or_<
|
||||||
mpl::less<N, typename extension::size_impl<Tag>::template apply<Sequence>::type>
|
mpl::less<N, typename extension::size_impl<Tag>::template apply<Sequence>::type>
|
||||||
, traits::has_no_bounds<Sequence>
|
, traits::is_unbounded<Sequence>
|
||||||
>
|
>
|
||||||
, typename extension::value_at_impl<Tag>::template apply<Sequence, N>
|
, typename extension::value_at_impl<Tag>::template apply<Sequence, N>
|
||||||
, mpl::empty_base
|
, mpl::empty_base
|
||||||
|
@ -65,7 +65,7 @@ namespace boost { namespace fusion
|
|||||||
: mpl::if_<
|
: mpl::if_<
|
||||||
mpl::or_<
|
mpl::or_<
|
||||||
typename extension::has_key_impl<Tag>::template apply<Sequence, N>
|
typename extension::has_key_impl<Tag>::template apply<Sequence, N>
|
||||||
, traits::has_no_bounds<Sequence>
|
, traits::is_unbounded<Sequence>
|
||||||
>
|
>
|
||||||
, typename extension::value_at_key_impl<Tag>::template apply<Sequence, N>
|
, typename extension::value_at_key_impl<Tag>::template apply<Sequence, N>
|
||||||
, mpl::empty_base
|
, mpl::empty_base
|
||||||
|
@ -36,7 +36,7 @@ namespace boost { namespace fusion
|
|||||||
|
|
||||||
struct associative_tag {};
|
struct associative_tag {};
|
||||||
|
|
||||||
struct no_bounds_tag {};
|
struct unbounded_tag {};
|
||||||
|
|
||||||
namespace extension
|
namespace extension
|
||||||
{
|
{
|
||||||
@ -111,9 +111,9 @@ namespace boost { namespace fusion
|
|||||||
{};
|
{};
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct has_no_bounds
|
struct is_unbounded
|
||||||
: is_base_of<
|
: is_base_of<
|
||||||
no_bounds_tag
|
unbounded_tag
|
||||||
, typename category_of<T>::type>
|
, typename category_of<T>::type>
|
||||||
{};
|
{};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user