Exemplo n.º 1
0
int
BnId::operator<(const BnId& A) const
/**
  Tri-state return of the ordering of number of true states
  @param A :: BnId object to compare
  @return Size<A.size, N of True<A.N of True,
     IntVal<A.IntVal
*/
{
    if (A.size!=size)
        return size<A.size;
    std::pair<int,int> cntA(0,0);   // count for A
    std::pair<int,int> cntT(0,0);   // count for this
    if (Znum!=A.Znum)
        return (Znum<A.Znum) ? 1 : 0;

    if (Tnum!=A.Tnum)
        return (Tnum<A.Tnum) ? 1 : 0;

    std::vector<int>::const_reverse_iterator tvc=Tval.rbegin();
    std::vector<int>::const_reverse_iterator avc=A.Tval.rbegin();
    while(tvc!=Tval.rend())
    {
        if (*tvc!=*avc)
            return *tvc<*avc;
        ++tvc;
        ++avc;
    }
    return 0;
}
Exemplo n.º 2
0
void
XmlBuilder::AddCData( const iStringT& data )
{
	check( doc_ != 0 || node_ != 0 );

	CvtTA<> cntA( data.CStr(), CP_UTF8 );

	xmlNodePtr cdata = xmlNewCDataBlock( doc_, (xmlChar*)cntA.str_, lstrlenA( cntA.str_ ) );
	check( cdata != 0 );

	if ( !xmlAddChild( node_, cdata ) ) throw XmlBuilderException();
}
Exemplo n.º 3
0
void
XmlBuilder::AddComment(const iStringT& comment)
{
	check( doc_ != 0 || node_ != 0 );

	CvtTA<> cntA( comment.CStr(), CP_UTF8 );

	xmlNodePtr text = xmlNewComment( (xmlChar*)cntA.str_ );
	check( text != 0 );

	if ( !xmlAddChild( node_, text ) ) throw XmlBuilderException();
}