...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
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 > ));