📄 mem_fn_eq_test.cpp
字号:
// 3
BOOST_TEST( boost::mem_fn(&X::mf3_1) == boost::mem_fn(&X::mf3_1) );
BOOST_TEST( boost::mem_fn(&X::mf3_1) != boost::mem_fn(&X::mf3_2) );
BOOST_TEST( boost::mem_fn(&X::cmf3_1) == boost::mem_fn(&X::cmf3_1) );
BOOST_TEST( boost::mem_fn(&X::cmf3_1) != boost::mem_fn(&X::cmf3_2) );
BOOST_TEST( boost::mem_fn(&X::mf3v_1) == boost::mem_fn(&X::mf3v_1) );
BOOST_TEST( boost::mem_fn(&X::mf3v_1) != boost::mem_fn(&X::mf3v_2) );
BOOST_TEST( boost::mem_fn(&X::cmf3v_1) == boost::mem_fn(&X::cmf3v_1) );
BOOST_TEST( boost::mem_fn(&X::cmf3v_1) != boost::mem_fn(&X::cmf3v_2) );
// 4
BOOST_TEST( boost::mem_fn(&X::mf4_1) == boost::mem_fn(&X::mf4_1) );
BOOST_TEST( boost::mem_fn(&X::mf4_1) != boost::mem_fn(&X::mf4_2) );
BOOST_TEST( boost::mem_fn(&X::cmf4_1) == boost::mem_fn(&X::cmf4_1) );
BOOST_TEST( boost::mem_fn(&X::cmf4_1) != boost::mem_fn(&X::cmf4_2) );
BOOST_TEST( boost::mem_fn(&X::mf4v_1) == boost::mem_fn(&X::mf4v_1) );
BOOST_TEST( boost::mem_fn(&X::mf4v_1) != boost::mem_fn(&X::mf4v_2) );
BOOST_TEST( boost::mem_fn(&X::cmf4v_1) == boost::mem_fn(&X::cmf4v_1) );
BOOST_TEST( boost::mem_fn(&X::cmf4v_1) != boost::mem_fn(&X::cmf4v_2) );
// 5
BOOST_TEST( boost::mem_fn(&X::mf5_1) == boost::mem_fn(&X::mf5_1) );
BOOST_TEST( boost::mem_fn(&X::mf5_1) != boost::mem_fn(&X::mf5_2) );
BOOST_TEST( boost::mem_fn(&X::cmf5_1) == boost::mem_fn(&X::cmf5_1) );
BOOST_TEST( boost::mem_fn(&X::cmf5_1) != boost::mem_fn(&X::cmf5_2) );
BOOST_TEST( boost::mem_fn(&X::mf5v_1) == boost::mem_fn(&X::mf5v_1) );
BOOST_TEST( boost::mem_fn(&X::mf5v_1) != boost::mem_fn(&X::mf5v_2) );
BOOST_TEST( boost::mem_fn(&X::cmf5v_1) == boost::mem_fn(&X::cmf5v_1) );
BOOST_TEST( boost::mem_fn(&X::cmf5v_1) != boost::mem_fn(&X::cmf5v_2) );
// 6
BOOST_TEST( boost::mem_fn(&X::mf6_1) == boost::mem_fn(&X::mf6_1) );
BOOST_TEST( boost::mem_fn(&X::mf6_1) != boost::mem_fn(&X::mf6_2) );
BOOST_TEST( boost::mem_fn(&X::cmf6_1) == boost::mem_fn(&X::cmf6_1) );
BOOST_TEST( boost::mem_fn(&X::cmf6_1) != boost::mem_fn(&X::cmf6_2) );
BOOST_TEST( boost::mem_fn(&X::mf6v_1) == boost::mem_fn(&X::mf6v_1) );
BOOST_TEST( boost::mem_fn(&X::mf6v_1) != boost::mem_fn(&X::mf6v_2) );
BOOST_TEST( boost::mem_fn(&X::cmf6v_1) == boost::mem_fn(&X::cmf6v_1) );
BOOST_TEST( boost::mem_fn(&X::cmf6v_1) != boost::mem_fn(&X::cmf6v_2) );
// 7
BOOST_TEST( boost::mem_fn(&X::mf7_1) == boost::mem_fn(&X::mf7_1) );
BOOST_TEST( boost::mem_fn(&X::mf7_1) != boost::mem_fn(&X::mf7_2) );
BOOST_TEST( boost::mem_fn(&X::cmf7_1) == boost::mem_fn(&X::cmf7_1) );
BOOST_TEST( boost::mem_fn(&X::cmf7_1) != boost::mem_fn(&X::cmf7_2) );
BOOST_TEST( boost::mem_fn(&X::mf7v_1) == boost::mem_fn(&X::mf7v_1) );
BOOST_TEST( boost::mem_fn(&X::mf7v_1) != boost::mem_fn(&X::mf7v_2) );
BOOST_TEST( boost::mem_fn(&X::cmf7v_1) == boost::mem_fn(&X::cmf7v_1) );
BOOST_TEST( boost::mem_fn(&X::cmf7v_1) != boost::mem_fn(&X::cmf7v_2) );
// 8
BOOST_TEST( boost::mem_fn(&X::mf8_1) == boost::mem_fn(&X::mf8_1) );
BOOST_TEST( boost::mem_fn(&X::mf8_1) != boost::mem_fn(&X::mf8_2) );
BOOST_TEST( boost::mem_fn(&X::cmf8_1) == boost::mem_fn(&X::cmf8_1) );
BOOST_TEST( boost::mem_fn(&X::cmf8_1) != boost::mem_fn(&X::cmf8_2) );
BOOST_TEST( boost::mem_fn(&X::mf8v_1) == boost::mem_fn(&X::mf8v_1) );
BOOST_TEST( boost::mem_fn(&X::mf8v_1) != boost::mem_fn(&X::mf8v_2) );
BOOST_TEST( boost::mem_fn(&X::cmf8v_1) == boost::mem_fn(&X::cmf8v_1) );
BOOST_TEST( boost::mem_fn(&X::cmf8v_1) != boost::mem_fn(&X::cmf8v_2) );
}
{
using fd::delegate;
// 0
BOOST_TEST( delegate<int (X)>(&X::mf0_1).equal_to( delegate<int (X)>(&X::mf0_1) ) );
BOOST_TEST( !delegate<int (X)>(&X::mf0_1).equal_to( delegate<int (X)>(&X::mf0_2) ) );
BOOST_TEST( delegate<int (X)>(&X::cmf0_1).equal_to( delegate<int (X)>(&X::cmf0_1) ) );
BOOST_TEST( !delegate<int (X)>(&X::cmf0_1).equal_to( delegate<int (X)>(&X::cmf0_2) ) );
BOOST_TEST( delegate<void (X)>(&X::mf0v_1).equal_to( delegate<void (X)>(&X::mf0v_1) ) );
BOOST_TEST( !delegate<void (X)>(&X::mf0v_1).equal_to( delegate<void (X)>(&X::mf0v_2) ) );
BOOST_TEST( delegate<void (X)>(&X::cmf0v_1).equal_to( delegate<void (X)>(&X::cmf0v_1) ) );
BOOST_TEST( !delegate<void (X)>(&X::cmf0v_1).equal_to( delegate<void (X)>(&X::cmf0v_2) ) );
// 1
BOOST_TEST( delegate<int (X, int)>(&X::mf1_1).equal_to( delegate<int (X, int)>(&X::mf1_1) ) );
BOOST_TEST( !delegate<int (X, int)>(&X::mf1_1).equal_to( delegate<int (X, int)>(&X::mf1_2) ) );
BOOST_TEST( delegate<int (X, int)>(&X::cmf1_1).equal_to( delegate<int (X, int)>(&X::cmf1_1) ) );
BOOST_TEST( !delegate<int (X, int)>(&X::cmf1_1).equal_to( delegate<int (X, int)>(&X::cmf1_2) ) );
BOOST_TEST( delegate<void (X, int)>(&X::mf1v_1).equal_to( delegate<void (X, int)>(&X::mf1v_1) ) );
BOOST_TEST( !delegate<void (X, int)>(&X::mf1v_1).equal_to( delegate<void (X, int)>(&X::mf1v_2) ) );
BOOST_TEST( delegate<void (X, int)>(&X::cmf1v_1).equal_to( delegate<void (X, int)>(&X::cmf1v_1) ) );
BOOST_TEST( !delegate<void (X, int)>(&X::cmf1v_1).equal_to( delegate<void (X, int)>(&X::cmf1v_2) ) );
// 2
BOOST_TEST( delegate<int (X, int, int)>(&X::mf2_1).equal_to( delegate<int (X, int, int)>(&X::mf2_1) ) );
BOOST_TEST( !delegate<int (X, int, int)>(&X::mf2_1).equal_to( delegate<int (X, int, int)>(&X::mf2_2) ) );
BOOST_TEST( delegate<int (X, int, int)>(&X::cmf2_1).equal_to( delegate<int (X, int, int)>(&X::cmf2_1) ) );
BOOST_TEST( !delegate<int (X, int, int)>(&X::cmf2_1).equal_to( delegate<int (X, int, int)>(&X::cmf2_2) ) );
BOOST_TEST( delegate<void (X, int, int)>(&X::mf2v_1).equal_to( delegate<void (X, int, int)>(&X::mf2v_1) ) );
BOOST_TEST( !delegate<void (X, int, int)>(&X::mf2v_1).equal_to( delegate<void (X, int, int)>(&X::mf2v_2) ) );
BOOST_TEST( delegate<void (X, int, int)>(&X::cmf2v_1).equal_to( delegate<void (X, int, int)>(&X::cmf2v_1) ) );
BOOST_TEST( !delegate<void (X, int, int)>(&X::cmf2v_1).equal_to( delegate<void (X, int, int)>(&X::cmf2v_2) ) );
// 3
BOOST_TEST( delegate<int (X, int, int, int)>(&X::mf3_1).equal_to( delegate<int (X, int, int, int)>(&X::mf3_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int)>(&X::mf3_1).equal_to( delegate<int (X, int, int, int)>(&X::mf3_2) ) );
BOOST_TEST( delegate<int (X, int, int, int)>(&X::cmf3_1).equal_to( delegate<int (X, int, int, int)>(&X::cmf3_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int)>(&X::cmf3_1).equal_to( delegate<int (X, int, int, int)>(&X::cmf3_2) ) );
BOOST_TEST( delegate<void (X, int, int, int)>(&X::mf3v_1).equal_to( delegate<void (X, int, int, int)>(&X::mf3v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int)>(&X::mf3v_1).equal_to( delegate<void (X, int, int, int)>(&X::mf3v_2) ) );
BOOST_TEST( delegate<void (X, int, int, int)>(&X::cmf3v_1).equal_to( delegate<void (X, int, int, int)>(&X::cmf3v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int)>(&X::cmf3v_1).equal_to( delegate<void (X, int, int, int)>(&X::cmf3v_2) ) );
// 4
BOOST_TEST( delegate<int (X, int, int, int, int)>(&X::mf4_1).equal_to( delegate<int (X, int, int, int, int)>(&X::mf4_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int)>(&X::mf4_1).equal_to( delegate<int (X, int, int, int, int)>(&X::mf4_2) ) );
BOOST_TEST( delegate<int (X, int, int, int, int)>(&X::cmf4_1).equal_to( delegate<int (X, int, int, int, int)>(&X::cmf4_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int)>(&X::cmf4_1).equal_to( delegate<int (X, int, int, int, int)>(&X::cmf4_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int)>(&X::mf4v_1).equal_to( delegate<void (X, int, int, int, int)>(&X::mf4v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int)>(&X::mf4v_1).equal_to( delegate<void (X, int, int, int, int)>(&X::mf4v_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int)>(&X::cmf4v_1).equal_to( delegate<void (X, int, int, int, int)>(&X::cmf4v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int)>(&X::cmf4v_1).equal_to( delegate<void (X, int, int, int, int)>(&X::cmf4v_2) ) );
// 5
BOOST_TEST( delegate<int (X, int, int, int, int, int)>(&X::mf5_1).equal_to( delegate<int (X, int, int, int, int, int)>(&X::mf5_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int, int)>(&X::mf5_1).equal_to( delegate<int (X, int, int, int, int, int)>(&X::mf5_2) ) );
BOOST_TEST( delegate<int (X, int, int, int, int, int)>(&X::cmf5_1).equal_to( delegate<int (X, int, int, int, int, int)>(&X::cmf5_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int, int)>(&X::cmf5_1).equal_to( delegate<int (X, int, int, int, int, int)>(&X::cmf5_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int, int)>(&X::mf5v_1).equal_to( delegate<void (X, int, int, int, int, int)>(&X::mf5v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int, int)>(&X::mf5v_1).equal_to( delegate<void (X, int, int, int, int, int)>(&X::mf5v_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int, int)>(&X::cmf5v_1).equal_to( delegate<void (X, int, int, int, int, int)>(&X::cmf5v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int, int)>(&X::cmf5v_1).equal_to( delegate<void (X, int, int, int, int, int)>(&X::cmf5v_2) ) );
// 6
BOOST_TEST( delegate<int (X, int, int, int, int, int, int)>(&X::mf6_1).equal_to( delegate<int (X, int, int, int, int, int, int)>(&X::mf6_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int, int, int)>(&X::mf6_1).equal_to( delegate<int (X, int, int, int, int, int, int)>(&X::mf6_2) ) );
BOOST_TEST( delegate<int (X, int, int, int, int, int, int)>(&X::cmf6_1).equal_to( delegate<int (X, int, int, int, int, int, int)>(&X::cmf6_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int, int, int)>(&X::cmf6_1).equal_to( delegate<int (X, int, int, int, int, int, int)>(&X::cmf6_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int, int, int)>(&X::mf6v_1).equal_to( delegate<void (X, int, int, int, int, int, int)>(&X::mf6v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int, int, int)>(&X::mf6v_1).equal_to( delegate<void (X, int, int, int, int, int, int)>(&X::mf6v_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int, int, int)>(&X::cmf6v_1).equal_to( delegate<void (X, int, int, int, int, int, int)>(&X::cmf6v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int, int, int)>(&X::cmf6v_1).equal_to( delegate<void (X, int, int, int, int, int, int)>(&X::cmf6v_2) ) );
// 7
BOOST_TEST( delegate<int (X, int, int, int, int, int, int, int)>(&X::mf7_1).equal_to( delegate<int (X, int, int, int, int, int, int, int)>(&X::mf7_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int, int, int, int)>(&X::mf7_1).equal_to( delegate<int (X, int, int, int, int, int, int, int)>(&X::mf7_2) ) );
BOOST_TEST( delegate<int (X, int, int, int, int, int, int, int)>(&X::cmf7_1).equal_to( delegate<int (X, int, int, int, int, int, int, int)>(&X::cmf7_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int, int, int, int)>(&X::cmf7_1).equal_to( delegate<int (X, int, int, int, int, int, int, int)>(&X::cmf7_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int, int, int, int)>(&X::mf7v_1).equal_to( delegate<void (X, int, int, int, int, int, int, int)>(&X::mf7v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int, int, int, int)>(&X::mf7v_1).equal_to( delegate<void (X, int, int, int, int, int, int, int)>(&X::mf7v_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int, int, int, int)>(&X::cmf7v_1).equal_to( delegate<void (X, int, int, int, int, int, int, int)>(&X::cmf7v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int, int, int, int)>(&X::cmf7v_1).equal_to( delegate<void (X, int, int, int, int, int, int, int)>(&X::cmf7v_2) ) );
// 8
BOOST_TEST( delegate<int (X, int, int, int, int, int, int, int, int)>(&X::mf8_1).equal_to( delegate<int (X, int, int, int, int, int, int, int, int)>(&X::mf8_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int, int, int, int, int)>(&X::mf8_1).equal_to( delegate<int (X, int, int, int, int, int, int, int, int)>(&X::mf8_2) ) );
BOOST_TEST( delegate<int (X, int, int, int, int, int, int, int, int)>(&X::cmf8_1).equal_to( delegate<int (X, int, int, int, int, int, int, int, int)>(&X::cmf8_1) ) );
BOOST_TEST( !delegate<int (X, int, int, int, int, int, int, int, int)>(&X::cmf8_1).equal_to( delegate<int (X, int, int, int, int, int, int, int, int)>(&X::cmf8_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int, int, int, int, int)>(&X::mf8v_1).equal_to( delegate<void (X, int, int, int, int, int, int, int, int)>(&X::mf8v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int, int, int, int, int)>(&X::mf8v_1).equal_to( delegate<void (X, int, int, int, int, int, int, int, int)>(&X::mf8v_2) ) );
BOOST_TEST( delegate<void (X, int, int, int, int, int, int, int, int)>(&X::cmf8v_1).equal_to( delegate<void (X, int, int, int, int, int, int, int, int)>(&X::cmf8v_1) ) );
BOOST_TEST( !delegate<void (X, int, int, int, int, int, int, int, int)>(&X::cmf8v_1).equal_to( delegate<void (X, int, int, int, int, int, int, int, int)>(&X::cmf8v_2) ) );
}
return boost::report_errors();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -