| Return Type | Function name | Arguments |
|---|---|---|
| hdbIdset& | hdbIdset::operator&= | (const hdbIdset&,) |
Declared in file: hzDatabase.h
Defined in file : hdbIdset.cpp
Function Logic:
Function body:
hdbIdset& hdbIdset::operator&= (const hdbIdset& op)
{
_hzfunc("hdbIdset::operator&=") ;
hzVect<_idsNode*>* pNodesA ;
hzVect<_idsNode*>* pNodesB ;
_idsNode* pNodeA ;
_idsNode* pNodeB ;
_idset_seg segA ;
_idset_seg segB ;
xbufIter ziA ;
xbufIter ziB ;
uint32_t numNodes ;
uint32_t nA ;
uint32_t nB ;
uint32_t nSofar ;
uint32_t nFound ;
if (!op.Count())
{ Clear() ; return *this ; }
if (!Count())
return *this ;
if (op.mx->m_bVect)
{
pNodesB = (hzVect<_idsNode*>*) op.mx->m_pData ;
numNodes = pNodesB->Count() ;
}
else
{
pNodesB = 0;
numNodes = 1;
}
for (nB = 0; nB < numNodes ; nB++)
{
pNodeB = op.mx->m_bVect ? pNodesB->operator[](nB) : (_idsNode*) op.mx->m_pData ;
ziB = pNodeB->m_Data ;
for (; !ziB.eof() ;)
{
nFound = _readEUI(segB, nSofar, ziB) ;
}
}
return *this ;
}