述語の戻り値を逆にして、trueではなくfalseを返す要素を削除するにはどうすればよいですか?
これが私のコードです:
headerList.remove_if(FindName(name));
(消去の欠如は無視してください)
FindNameを使用すると、単純なファンクターになります。
struct FindName
{
CString m_NameToFind;
FindInspectionNames(const CString &nameToFind)
{
m_NameToFind = nameToFind;
}
bool operator()(const CHeader &header)
{
if(header.Name == m_NameToFind)
{
return true;
}
return false;
}
};
私は次のようなものが欲しいです:
list.remove_if(FindName(name) == false);
残念ながら、まだc ++ 0xを使用していないため、ラムダは許可されていません。NotFindNameファンクターを作成するよりも優れたソリューションがあることを願っています。