forked from boostorg/fusion
adapt plain old array types (1)
[SVN r59576]
This commit is contained in:
1 parent
b86d7dbe80
commit
5eb9c03cd2
25 files changed
+100
-61
No files matched your search
@@ -21,7 +21,7 @@ namespace boost { namespace fusion
|
||||
|
||||
// Special tags:
|
||||
struct iterator_facade_tag; // iterator facade tag
|
||||
struct array_iterator_tag; // boost::array iterator tag
|
||||
struct boost_array_iterator_tag; // boost::array iterator tag
|
||||
struct mpl_iterator_tag; // mpl sequence iterator tag
|
||||
struct std_pair_iterator_tag; // std::pair iterator tag
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace boost { namespace fusion
|
||||
};
|
||||
|
||||
template <>
|
||||
struct advance_impl<array_iterator_tag>;
|
||||
struct advance_impl<boost_array_iterator_tag>;
|
||||
|
||||
template <>
|
||||
struct advance_impl<mpl_iterator_tag>;
|
||||
|
||||
@@ -95,11 +95,16 @@ namespace boost { namespace fusion
|
||||
|
||||
template <typename It1, typename It2>
|
||||
struct distance
|
||||
: mpl::minus<
|
||||
typename It2::index
|
||||
, typename It1::index
|
||||
>
|
||||
{};
|
||||
{
|
||||
typedef mpl::minus<typename It2::index, typename It1::index> type;
|
||||
|
||||
static
|
||||
type
|
||||
call(It1 const&, It2 const&)
|
||||
{
|
||||
return type();
|
||||
}
|
||||
};
|
||||
|
||||
template <typename It1, typename It2>
|
||||
struct equal_to
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
// Special tags:
|
||||
struct iterator_facade_tag; // iterator facade tag
|
||||
struct array_iterator_tag; // boost::array iterator tag
|
||||
struct boost_array_iterator_tag; // boost::array iterator tag
|
||||
struct mpl_iterator_tag; // mpl sequence iterator tag
|
||||
struct std_pair_iterator_tag; // std::pair iterator tag
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace boost { namespace fusion
|
||||
};
|
||||
|
||||
template <>
|
||||
struct deref_impl<array_iterator_tag>;
|
||||
struct deref_impl<boost_array_iterator_tag>;
|
||||
|
||||
template <>
|
||||
struct deref_impl<mpl_iterator_tag>;
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace boost { namespace fusion
|
||||
|
||||
// Special tags:
|
||||
struct iterator_facade_tag; // iterator facade tag
|
||||
struct array_iterator_tag; // boost::array iterator tag
|
||||
struct boost_array_iterator_tag; // boost::array iterator tag
|
||||
struct mpl_iterator_tag; // mpl sequence iterator tag
|
||||
struct std_pair_iterator_tag; // std::pair iterator tag
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace boost { namespace fusion
|
||||
};
|
||||
|
||||
template <>
|
||||
struct distance_impl<array_iterator_tag>;
|
||||
struct distance_impl<boost_array_iterator_tag>;
|
||||
|
||||
template <>
|
||||
struct distance_impl<mpl_iterator_tag>;
|
||||
@@ -61,8 +61,8 @@ namespace boost { namespace fusion
|
||||
{
|
||||
template <typename First, typename Last>
|
||||
struct distance
|
||||
: extension::distance_impl<typename detail::tag_of<First>::type>::
|
||||
template apply<First, Last>
|
||||
: extension::distance_impl<typename detail::tag_of<First>::type>::
|
||||
template apply<First, Last>
|
||||
{
|
||||
typedef typename extension::distance_impl<typename detail::tag_of<First>::type>::
|
||||
template apply<First, Last>::type distance_application;
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
// Special tags:
|
||||
struct iterator_facade_tag; // iterator facade tag
|
||||
struct array_iterator_tag; // boost::array iterator tag
|
||||
struct boost_array_iterator_tag; // boost::array iterator tag
|
||||
struct mpl_iterator_tag; // mpl sequence iterator tag
|
||||
struct std_pair_iterator_tag; // std::pair iterator tag
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace boost { namespace fusion
|
||||
};
|
||||
|
||||
template <>
|
||||
struct equal_to_impl<array_iterator_tag>;
|
||||
struct equal_to_impl<boost_array_iterator_tag>;
|
||||
|
||||
template <>
|
||||
struct equal_to_impl<mpl_iterator_tag>;
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
// Special tags:
|
||||
struct iterator_facade_tag; // iterator facade tag
|
||||
struct array_iterator_tag; // boost::array iterator tag
|
||||
struct boost_array_iterator_tag; // boost::array iterator tag
|
||||
struct mpl_iterator_tag; // mpl sequence iterator tag
|
||||
struct std_pair_iterator_tag; // std::pair iterator tag
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace boost { namespace fusion
|
||||
};
|
||||
|
||||
template <>
|
||||
struct next_impl<array_iterator_tag>;
|
||||
struct next_impl<boost_array_iterator_tag>;
|
||||
|
||||
template <>
|
||||
struct next_impl<mpl_iterator_tag>;
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
// Special tags:
|
||||
struct iterator_facade_tag; // iterator facade tag
|
||||
struct array_iterator_tag; // boost::array iterator tag
|
||||
struct boost_array_iterator_tag; // boost::array iterator tag
|
||||
struct mpl_iterator_tag; // mpl sequence iterator tag
|
||||
struct std_pair_iterator_tag; // std::pair iterator tag
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace boost { namespace fusion
|
||||
};
|
||||
|
||||
template <>
|
||||
struct prior_impl<array_iterator_tag>;
|
||||
struct prior_impl<boost_array_iterator_tag>;
|
||||
|
||||
template <>
|
||||
struct prior_impl<mpl_iterator_tag>;
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace boost { namespace fusion
|
||||
{
|
||||
// Special tags:
|
||||
struct iterator_facade_tag; // iterator facade tag
|
||||
struct array_iterator_tag; // boost::array iterator tag
|
||||
struct boost_array_iterator_tag; // boost::array iterator tag
|
||||
struct mpl_iterator_tag; // mpl sequence iterator tag
|
||||
struct std_pair_iterator_tag; // std::pair iterator tag
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace boost { namespace fusion
|
||||
};
|
||||
|
||||
template <>
|
||||
struct value_of_impl<array_iterator_tag>;
|
||||
struct value_of_impl<boost_array_iterator_tag>;
|
||||
|
||||
template <>
|
||||
struct value_of_impl<mpl_iterator_tag>;
|
||||
|
||||
Reference in new issue
Block a user