示例#1
0
///////////////////////////////////////////////////////////////////////////////
// Public Methods
///////////////////////////////////////////////////////////////////////////////
CSnpBitfield1_2::CSnpBitfield1_2( const std::vector<char> &rhs )
{
    // TODO: use NCBI assertions?
    _ASSERT(rhs.size() == 10);

    std::vector<char>::const_iterator i_ci = rhs.begin();

    for(int i=0 ; i_ci != rhs.end(); ++i_ci, ++i) {
        m_listBytes[i] = *i_ci;
    }

    x_CreateString();
}
示例#2
0
///////////////////////////////////////////////////////////////////////////////
// Public Methods
///////////////////////////////////////////////////////////////////////////////
CSnpBitfield2::CSnpBitfield2(const objects::CSeq_feat& feat)
{
	if(feat.IsSetExt()) {
		const CUser_object& user(feat.GetExt());
		CConstRef<CUser_field> field(user.GetFieldRef("QualityCodes"));
		if(field && field->CanGetData() && field->GetData().IsOs()) {
		    const vector<char>& data(field->GetData().GetOs());
            // TODO: use NCBI assertions?
            _ASSERT(data.size() == NUM_BYTES);

            std::vector<char>::const_iterator i_ci = data.begin();

            for(int i=0 ; i_ci != data.end(); ++i_ci, ++i) {
                m_listBytes[i] = *i_ci;
            }

            x_CreateString();
        }
    }
}