Ejemplo n.º 1
0
CSeq_entry_CI& CSeq_entry_CI::operator ++(void)
{
    do {
        x_Next();
    }
    while ((*this)  &&  !x_ValidType());
    return *this;
}
Ejemplo n.º 2
0
bool CSeqMap_CI::x_SettleNext(void)
{
    while ( !x_Found() && GetPosition() < m_SearchEnd ) {
        if ( !x_Next() )
            return false;
    }
    return true;
}
Ejemplo n.º 3
0
void CSeq_entry_CI::x_Initialize(const CBioseq_set_Handle& seqset)
{
    if ( seqset ) {
        m_Parent = seqset;
        m_Iterator = seqset.x_GetInfo().GetSeq_set().begin();
        x_SetCurrentEntry();
        while ((*this)  &&  !x_ValidType()) {
            x_Next();
        }
    }
}
Ejemplo n.º 4
0
CSeq_entry_CI::CSeq_entry_CI(const CSeq_entry_Handle& entry,
                             TFlags flags,
                             CSeq_entry::E_Choice     type_filter )
    : m_Flags(flags),
      m_Filter(type_filter)
{
    if ( m_Flags & fIncludeGivenEntry ) {
        m_Current = entry;
        while ((*this)  &&  !x_ValidType()) {
            x_Next();
        }
    } else {
        if ( entry.IsSet() ) {
            x_Initialize( entry.GetSet() );
        }
    }
}
Ejemplo n.º 5
0
bool CSeqMap_CI::Next(bool resolveCurrentExternal)
{
    return x_Next(resolveCurrentExternal && m_Selector.CanResolve()) &&
        x_SettleNext();
}
Ejemplo n.º 6
0
inline
bool CSeqMap_CI::x_Next(void)
{
    return x_Next(m_Selector.CanResolve());
}