map이란 놈이 조금 당혹스러운 면이 있다..
find 메소드에서 내가 원하는 결과를 얻을려면..
operator< 를 구현해줘야 하는데..
딴 operator가 없으니 가령.. "==" operator..
serial한 값을 넣어서 비교 해줘야 하는것 같다..
내가 능력이 딸려서 그런지는 모르겠지만..
struct net_event_key
{
DWORD _type;
WORD _lParam;
WORD _wParam;
explicit net_event_key( DWORD type, WORD lparam, WORD wparam ) {
_type = type;
_lParam = lparam;
_wParam = wparam;
}
bool operator<( const net_event_key& param ) const {
unsigned __int64 lvalue = 0;
lvalue = (unsigned __int64 ) _type << (4 * 8);
lvalue |= _lParam << ( 2 * 8 );
lvalue |= _wParam;
unsigned __int64 rvalue = 0;
rvalue = (unsigned __int64 ) param._type << (4 * 8);
rvalue |= param._lParam << ( 2 * 8 );
rvalue |= param._wParam;
return lvalue < rvalue;
}
};
이런 식으로 해주니 된다..