56 ITERATE (vector <EFeat_qual_legal>, it, v_qual) {
62 else if (name ==
"product") {
65 else if (name ==
"gene") {
68 else if ( name ==
"locus-tag") {
79 if (
str.empty() || subfield > 2) {
83 size_t pos =
str.find(
':');
84 if (pos == string::npos) {
105 str = (*it)->GetVal();
122 ITERATE (list <string>, sit, strs) {
123 if ( !(*sit).empty() && str_cons.
Match(*sit)) {
132 ITERATE (vector <string>, sit, strs) {
133 if ( !(*sit).empty() && str_cons.
Match(*sit)) {
145 str = (*it)->GetVal();
User-defined methods of the data storage class.
static string GetFirstStringMatch(const list< string > &strs, const CString_constraint &str_cons)
void x_GetTwoFieldSubfield(string &str, int subfield) const
string x_GetFirstGBQualMatch(const vector< CRef< CGb_qual > > &quals, const string &qual_name, int subfield, const CString_constraint &str_cons) const
string x_GetLegalQualName(vector< EFeat_qual_legal > &v_qual, EFeat_qual_legal qual) const
string x_GetFirstGBQualMatchConstraintName(const CSeq_feat &feat, const CString_constraint &str_cons) const
namespace ncbi::objects::
bool Match(const CMatchString &str) const
static const char * str(char *buf, int n)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define ENUM_METHOD_NAME(EnumName)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
EFeat_qual_legal
Access to EFeat_qual_legal's attributes (values, names) as defined in spec.
bool CanGetQual(void) const
Check if it is safe to call GetQual method.
const TQual & GetQual(void) const
Get the Qual member data.