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:
table table_;
public:
// constructors
@ -251,7 +251,8 @@ namespace unordered
std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
{
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)
{
return table_.emplace(
boost::unordered::detail::create_emplace_args(a0)
boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
).first;
}
@ -269,7 +271,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1)
{
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)
{
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;
}
@ -290,7 +296,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2)
{
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)
{
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;
}
@ -700,7 +712,8 @@ namespace unordered
iterator emplace(BOOST_FWD_REF(A0) a0)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
return table_.emplace(
boost::unordered::detail::create_emplace_args(a0)
boost::unordered::detail::create_emplace_args(
boost::forward<A0>(a0))
).first;
}
@ -267,7 +269,9 @@ namespace unordered
BOOST_FWD_REF(A1) a1)
{
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)
{
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;
}
@ -288,7 +294,10 @@ namespace unordered
BOOST_FWD_REF(A2) a2)
{
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)
{
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;
}
@ -683,7 +695,8 @@ namespace unordered
iterator emplace(BOOST_FWD_REF(A0) a0)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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))
);
}