summaryrefslogtreecommitdiff
path: root/boost/bimap/relation
diff options
context:
space:
mode:
Diffstat (limited to 'boost/bimap/relation')
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/detail/access_builder.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/detail/metadata_access_builder.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/detail/static_access_builder.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/detail/to_mutable_relation_functor.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/member_at.hpp0
-rw-r--r--boost/bimap/relation/mutant_relation.hpp50
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/pair_layout.hpp0
-rw-r--r--boost/bimap/relation/structured_pair.hpp44
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/support/get.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/support/get_pair_functor.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/support/is_tag_of_member_at.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/support/member_with_tag.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/support/opposite_tag.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/support/pair_by.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/support/pair_type_by.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/support/value_type_of.hpp0
-rwxr-xr-x[-rw-r--r--]boost/bimap/relation/symmetrical_base.hpp0
17 files changed, 91 insertions, 3 deletions
diff --git a/boost/bimap/relation/detail/access_builder.hpp b/boost/bimap/relation/detail/access_builder.hpp
index a1e939f827..a1e939f827 100644..100755
--- a/boost/bimap/relation/detail/access_builder.hpp
+++ b/boost/bimap/relation/detail/access_builder.hpp
diff --git a/boost/bimap/relation/detail/metadata_access_builder.hpp b/boost/bimap/relation/detail/metadata_access_builder.hpp
index 4ef6cae938..4ef6cae938 100644..100755
--- a/boost/bimap/relation/detail/metadata_access_builder.hpp
+++ b/boost/bimap/relation/detail/metadata_access_builder.hpp
diff --git a/boost/bimap/relation/detail/static_access_builder.hpp b/boost/bimap/relation/detail/static_access_builder.hpp
index 72f9925b0c..72f9925b0c 100644..100755
--- a/boost/bimap/relation/detail/static_access_builder.hpp
+++ b/boost/bimap/relation/detail/static_access_builder.hpp
diff --git a/boost/bimap/relation/detail/to_mutable_relation_functor.hpp b/boost/bimap/relation/detail/to_mutable_relation_functor.hpp
index 1e8b521044..1e8b521044 100644..100755
--- a/boost/bimap/relation/detail/to_mutable_relation_functor.hpp
+++ b/boost/bimap/relation/detail/to_mutable_relation_functor.hpp
diff --git a/boost/bimap/relation/member_at.hpp b/boost/bimap/relation/member_at.hpp
index c39738fc2f..c39738fc2f 100644..100755
--- a/boost/bimap/relation/member_at.hpp
+++ b/boost/bimap/relation/member_at.hpp
diff --git a/boost/bimap/relation/mutant_relation.hpp b/boost/bimap/relation/mutant_relation.hpp
index 9aa28e4cac..60294a3b60 100644
--- a/boost/bimap/relation/mutant_relation.hpp
+++ b/boost/bimap/relation/mutant_relation.hpp
@@ -142,7 +142,7 @@ class relation_info_hook : public
#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
template< class Archive >
- void serialize(Archive & ar, const unsigned int version)
+ void serialize(Archive & ar, const unsigned int)
{
ar & ::boost::serialization::make_nvp("left" , base_::left );
ar & ::boost::serialization::make_nvp("right", base_::right);
@@ -188,7 +188,7 @@ class relation_info_hook<TA,TB,::boost::mpl::na,force_mutable> :
#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
template< class Archive >
- void serialize(Archive & ar, const unsigned int version)
+ void serialize(Archive & ar, const unsigned int)
{
ar & ::boost::serialization::make_nvp("left" , base_::left );
ar & ::boost::serialization::make_nvp("right", base_::right);
@@ -346,7 +346,7 @@ class mutant_relation : public
{
return ::boost::bimaps::relation::support::get<Tag>(*this);
}
-
+
#ifndef BOOST_BIMAP_DISABLE_SERIALIZATION
private:
@@ -422,6 +422,50 @@ bool operator>=(const detail::relation_storage<FirstType,SecondType,FM1> & a,
(( a.left == b.left ) && ( a.right >= b.right )));
}
+namespace detail {
+
+template< class TA, class TB, class Info, bool force_mutable>
+mutant_relation<TA,TB,Info,force_mutable>
+ copy_with_left_replaced(mutant_relation<TA,TB,Info,force_mutable> const& rel,
+ BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
+ mutant_relation<TA,TB,Info,force_mutable>::left_value_type>
+ ::param_type l)
+{
+ return mutant_relation<TA,TB,Info,force_mutable>(l,rel.right,rel.info);
+}
+
+template< class TA, class TB, bool force_mutable>
+mutant_relation<TA,TB,::boost::mpl::na,force_mutable>
+ copy_with_left_replaced(mutant_relation<TA,TB,::boost::mpl::na,force_mutable> const& rel,
+ BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
+ mutant_relation<TA,TB,::boost::mpl::na,force_mutable>::left_value_type>
+ ::param_type l)
+{
+ return mutant_relation<TA,TB,::boost::mpl::na,force_mutable>(l,rel.right);
+}
+
+template< class TA, class TB, class Info, bool force_mutable>
+mutant_relation<TA,TB,Info,force_mutable>
+ copy_with_right_replaced(mutant_relation<TA,TB,Info,force_mutable> const& rel,
+ BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
+ mutant_relation<TA,TB,Info,force_mutable>::right_value_type>
+ ::param_type r)
+{
+ return mutant_relation<TA,TB,Info,force_mutable>(rel.left,r,rel.info);
+}
+
+template< class TA, class TB, bool force_mutable>
+mutant_relation<TA,TB,::boost::mpl::na,force_mutable>
+ copy_with_right_replaced(mutant_relation<TA,TB,::boost::mpl::na,force_mutable> const& rel,
+ BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
+ mutant_relation<TA,TB,::boost::mpl::na,force_mutable>::right_value_type>
+ ::param_type r)
+{
+ return mutant_relation<TA,TB,::boost::mpl::na,force_mutable>(rel.left,r);
+}
+
+} // namespace detail
+
} // namespace relation
} // namespace bimaps
} // namespace boost
diff --git a/boost/bimap/relation/pair_layout.hpp b/boost/bimap/relation/pair_layout.hpp
index 24368db105..24368db105 100644..100755
--- a/boost/bimap/relation/pair_layout.hpp
+++ b/boost/bimap/relation/pair_layout.hpp
diff --git a/boost/bimap/relation/structured_pair.hpp b/boost/bimap/relation/structured_pair.hpp
index 2325b3d323..53a0b300bc 100644
--- a/boost/bimap/relation/structured_pair.hpp
+++ b/boost/bimap/relation/structured_pair.hpp
@@ -499,6 +499,50 @@ bool operator>=(const std::pair<F,S> & a,
}
+namespace detail {
+
+template< class FirstType, class SecondType, class Info, class Layout>
+structured_pair<FirstType,SecondType,Info,Layout>
+ copy_with_first_replaced(structured_pair<FirstType,SecondType,Info,Layout> const& p,
+ BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
+ structured_pair<FirstType,SecondType,Info,Layout>::first_type>
+ ::param_type f)
+{
+ return structured_pair<FirstType,SecondType,Info,Layout>(f,p.second,p.info);
+}
+
+template< class FirstType, class SecondType, class Layout>
+structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>
+ copy_with_first_replaced(structured_pair<FirstType,SecondType,::boost::mpl::na,Layout> const& p,
+ BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
+ structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>::first_type>
+ ::param_type f)
+{
+ return structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>(f,p.second);
+}
+
+template< class FirstType, class SecondType, class Info, class Layout>
+structured_pair<FirstType,SecondType,Info,Layout>
+ copy_with_second_replaced(structured_pair<FirstType,SecondType,Info,Layout> const& p,
+ BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
+ structured_pair<FirstType,SecondType,Info,Layout>::second_type>
+ ::param_type s)
+{
+ return structured_pair<FirstType,SecondType,Info,Layout>(p.first,s,p.info);
+}
+
+template< class FirstType, class SecondType, class Layout>
+structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>
+ copy_with_second_replaced(structured_pair<FirstType,SecondType,::boost::mpl::na,Layout> const& p,
+ BOOST_DEDUCED_TYPENAME ::boost::call_traits< BOOST_DEDUCED_TYPENAME
+ structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>::second_type>
+ ::param_type s)
+{
+ return structured_pair<FirstType,SecondType,::boost::mpl::na,Layout>(p.first,s);
+}
+
+} // namespace detail
+
} // namespace relation
} // namespace bimaps
diff --git a/boost/bimap/relation/support/get.hpp b/boost/bimap/relation/support/get.hpp
index 3a3afde15d..3a3afde15d 100644..100755
--- a/boost/bimap/relation/support/get.hpp
+++ b/boost/bimap/relation/support/get.hpp
diff --git a/boost/bimap/relation/support/get_pair_functor.hpp b/boost/bimap/relation/support/get_pair_functor.hpp
index 5f37bf6cfe..5f37bf6cfe 100644..100755
--- a/boost/bimap/relation/support/get_pair_functor.hpp
+++ b/boost/bimap/relation/support/get_pair_functor.hpp
diff --git a/boost/bimap/relation/support/is_tag_of_member_at.hpp b/boost/bimap/relation/support/is_tag_of_member_at.hpp
index b2b1b7497b..b2b1b7497b 100644..100755
--- a/boost/bimap/relation/support/is_tag_of_member_at.hpp
+++ b/boost/bimap/relation/support/is_tag_of_member_at.hpp
diff --git a/boost/bimap/relation/support/member_with_tag.hpp b/boost/bimap/relation/support/member_with_tag.hpp
index a8324ff281..a8324ff281 100644..100755
--- a/boost/bimap/relation/support/member_with_tag.hpp
+++ b/boost/bimap/relation/support/member_with_tag.hpp
diff --git a/boost/bimap/relation/support/opposite_tag.hpp b/boost/bimap/relation/support/opposite_tag.hpp
index 174bd985c0..174bd985c0 100644..100755
--- a/boost/bimap/relation/support/opposite_tag.hpp
+++ b/boost/bimap/relation/support/opposite_tag.hpp
diff --git a/boost/bimap/relation/support/pair_by.hpp b/boost/bimap/relation/support/pair_by.hpp
index 1ce25fbe5c..1ce25fbe5c 100644..100755
--- a/boost/bimap/relation/support/pair_by.hpp
+++ b/boost/bimap/relation/support/pair_by.hpp
diff --git a/boost/bimap/relation/support/pair_type_by.hpp b/boost/bimap/relation/support/pair_type_by.hpp
index 64f98d1ecc..64f98d1ecc 100644..100755
--- a/boost/bimap/relation/support/pair_type_by.hpp
+++ b/boost/bimap/relation/support/pair_type_by.hpp
diff --git a/boost/bimap/relation/support/value_type_of.hpp b/boost/bimap/relation/support/value_type_of.hpp
index 9dc5761119..9dc5761119 100644..100755
--- a/boost/bimap/relation/support/value_type_of.hpp
+++ b/boost/bimap/relation/support/value_type_of.hpp
diff --git a/boost/bimap/relation/symmetrical_base.hpp b/boost/bimap/relation/symmetrical_base.hpp
index ea787c3731..ea787c3731 100644..100755
--- a/boost/bimap/relation/symmetrical_base.hpp
+++ b/boost/bimap/relation/symmetrical_base.hpp