/////////////////////////////////////////////////////////////////////////////// // 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(); }
/////////////////////////////////////////////////////////////////////////////// // 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(); } } }