Unordered: Fix forwarding from emplace.

[SVN r75856]
This commit is contained in:
Daniel James
2011-12-07 19:18:11 +00:00
parent a61e876300
commit 8f982c8b27
2 changed files with 73 additions and 25 deletions

View File

@ -78,7 +78,7 @@ namespace unordered
private: private:
table table_; table table_;
public: public:
// constructors // constructors
@ -251,7 +251,8 @@ namespace unordered
std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0) std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
); );
} }
@ -259,7 +260,8 @@ namespace unordered
iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0) iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
).first; ).first;
} }
@ -269,7 +271,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1) BOOST_FWD_REF(A1) a1)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1))
); );
} }
@ -279,7 +283,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1) BOOST_FWD_REF(A1) a1)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1))
).first; ).first;
} }
@ -290,7 +296,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2) BOOST_FWD_REF(A2) a2)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1, a2) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1),
boost::forward<A2>(a2))
); );
} }
@ -301,7 +310,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2) BOOST_FWD_REF(A2) a2)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1, a2) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1),
boost::forward<A2>(a2))
).first; ).first;
} }
@ -700,7 +712,8 @@ namespace unordered
iterator emplace(BOOST_FWD_REF(A0) a0) iterator emplace(BOOST_FWD_REF(A0) a0)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
); );
} }
@ -708,7 +721,8 @@ namespace unordered
iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0) iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
); );
} }
@ -718,7 +732,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1) BOOST_FWD_REF(A1) a1)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1))
); );
} }
@ -728,7 +744,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1) BOOST_FWD_REF(A1) a1)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1))
); );
} }
@ -739,7 +757,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2) BOOST_FWD_REF(A2) a2)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1, a2) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1),
boost::forward<A2>(a2))
); );
} }
@ -750,7 +771,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2) BOOST_FWD_REF(A2) a2)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1, a2) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1),
boost::forward<A2>(a2))
); );
} }

View File

@ -249,7 +249,8 @@ namespace unordered
std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0) std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
); );
} }
@ -257,7 +258,8 @@ namespace unordered
iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0) iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
).first; ).first;
} }
@ -267,7 +269,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1) BOOST_FWD_REF(A1) a1)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1))
); );
} }
@ -277,7 +281,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1) BOOST_FWD_REF(A1) a1)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1))
).first; ).first;
} }
@ -288,7 +294,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2) BOOST_FWD_REF(A2) a2)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1, a2) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1),
boost::forward<A2>(a2))
); );
} }
@ -299,7 +308,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2) BOOST_FWD_REF(A2) a2)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1, a2) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1),
boost::forward<A2>(a2))
).first; ).first;
} }
@ -683,7 +695,8 @@ namespace unordered
iterator emplace(BOOST_FWD_REF(A0) a0) iterator emplace(BOOST_FWD_REF(A0) a0)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
); );
} }
@ -691,7 +704,8 @@ namespace unordered
iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0) iterator emplace_hint(const_iterator, BOOST_FWD_REF(A0) a0)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
); );
} }
@ -701,7 +715,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1) BOOST_FWD_REF(A1) a1)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1))
); );
} }
@ -711,7 +727,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1) BOOST_FWD_REF(A1) a1)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1))
); );
} }
@ -722,7 +740,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2) BOOST_FWD_REF(A2) a2)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1, a2) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1),
boost::forward<A2>(a2))
); );
} }
@ -733,7 +754,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2) BOOST_FWD_REF(A2) a2)
{ {
return table_.emplace( return table_.emplace(
boost::unordered::detail::create_emplace_args(a0, a1, a2) boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0),
boost::forward<A1>(a1),
boost::forward<A2>(a2))
); );
} }