| Front Page / Sequences / Intrinsic Metafunctions / erase_key |
template<
typename AssocSeq
, typename Key
>
struct erase_key
{
typedef unspecified type;
};
Erases elements associated with the key Key in the Extensible Associative Sequence AssocSeq .
#include <boost/mpl/erase_key.hpp>
| Parameter | Requirement | Description |
|---|---|---|
| AssocSeq | Extensible Associative Sequence | A sequence to erase elements from. |
| Key | Any type | A key for the elements to be removed. |
For any Extensible Associative Sequence s, and arbitrary type key:
typedef erase_key<s,key>::type r;
| Return type: | Extensible Associative Sequence. |
|---|---|
| Semantics: | r is concept-identical and equivalent to s except that has_key<r,k>::value == false. |
| Postcondition: | size<r>::value == size<s>::value - 1. |
Amortized constant time.
typedef map< pair<int,unsigned>, pair<char,long> > m; typedef erase_key<m,char>::type m1; BOOST_MPL_ASSERT_RELATION( size<m1>::type::value, ==, 1 ); BOOST_MPL_ASSERT(( is_same< at<m1,char>::type,void_ > )); BOOST_MPL_ASSERT(( is_same< at<m1,int>::type,unsigned > ));