associative_sequence_tag -> associative_tag

[SVN r57337]
This commit is contained in:
Christopher Schmidt
2009-11-03 17:35:33 +00:00
parent 60fabbdf9a
commit 65895017bd
239 changed files with 1305 additions and 1298 deletions

View File

@@ -20,8 +20,6 @@
namespace boost { namespace fusion
{
struct associative_sequence_tag;
namespace result_of
{
template <

View File

@@ -30,7 +30,7 @@ namespace boost { namespace fusion
template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_MAP_SIZE, typename T)>
struct map : sequence_base<map<BOOST_PP_ENUM_PARAMS(FUSION_MAX_MAP_SIZE, T)> >
{
struct category : forward_traversal_tag, associative_sequence_tag {};
struct category : forward_traversal_tag, associative_tag {};
typedef map_tag fusion_tag;
typedef fusion_sequence_tag tag; // this gets picked up by MPL

View File

@@ -30,7 +30,7 @@ namespace boost { namespace fusion
template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, typename T)>
struct set : sequence_base<set<BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> >
{
struct category : forward_traversal_tag, associative_sequence_tag {};
struct category : forward_traversal_tag, associative_tag {};
typedef set_tag fusion_tag;
typedef fusion_sequence_tag tag; // this gets picked up by MPL

View File

@@ -33,7 +33,7 @@ namespace boost { namespace fusion
struct random_access_traversal_tag
: bidirectional_traversal_tag {};
struct associative_sequence_tag {};
struct associative_tag {};
namespace extension
{
@@ -68,7 +68,7 @@ namespace boost { namespace fusion
template <typename T>
struct is_associative
: is_base_of<
associative_sequence_tag
associative_tag
, typename category_of<T>::type>
{};

View File

@@ -36,7 +36,7 @@ namespace boost { namespace fusion
typedef typename
mpl::eval_if<
traits::is_associative<Sequence>
, mpl::inherit2<forward_traversal_tag,associative_sequence_tag>
, mpl::inherit2<forward_traversal_tag,associative_tag>
, mpl::identity<forward_traversal_tag>
>::type
category;

View File

@@ -40,7 +40,7 @@ namespace boost { namespace fusion
traits::is_associative<Sequence1>
, traits::is_associative<Sequence2>
>
, mpl::inherit2<forward_traversal_tag,associative_sequence_tag>
, mpl::inherit2<forward_traversal_tag,associative_tag>
, mpl::identity<forward_traversal_tag>
>::type
category;

View File

@@ -28,6 +28,7 @@ namespace boost { namespace fusion
{
struct reverse_view_tag;
struct fusion_sequence_tag;
struct bidirectional_traversal_tag;
template <typename Sequence>
struct reverse_view : sequence_base<reverse_view<Sequence> >
@@ -35,13 +36,12 @@ namespace boost { namespace fusion
typedef reverse_view_tag fusion_tag;
typedef fusion_sequence_tag tag; // this gets picked up by MPL
typedef mpl::true_ is_view;
typedef typename traits::category_of<Sequence>::type seq_category;
typedef typename
mpl::eval_if<
traits::is_associative<Sequence>
, mpl::inherit2<seq_category,associative_sequence_tag>
, mpl::identity<seq_category>
, mpl::inherit2<bidirectional_traversal_tag,associative_tag>
, mpl::identity<bidirectional_traversal_tag>
>::type
category;
typedef typename result_of::begin<Sequence>::type first_type;