45 static vector <string>
arr;
53 new_dt->SetStrs().reserve(
arr.size());
57 new_dt->SetStrs().push_back(
73 x_ConvertStrToStrs(
strtmp, new_fld);
74 add_to_cmd<objects::CUser_field> (
81 if ((*it)->GetData().IsStr()) {
83 if (
strtmp.find(
",") != string::npos) {
86 x_ConvertStrToStrs(
strtmp, new_fld);
87 add_to_cmd<objects::CUser_field> (
88 (CObject*)((*it).GetPointer()), (CObject*)(new_fld.
GetPointer()), composite);
91 else if ( (*it)->GetData().IsStrs()) {
92 ITERATE (vector <CStringUTF8>, sit, (*it)->GetData().GetStrs()) {
94 if (
strtmp.find(
",") != string::npos) {
95 x_ConvertStrsToStrs(*it, composite);
111 set <const CSeqdesc*> psds;
114 if (psds.find(&(*it)) != psds.end())
continue;
115 if (x_IsDblinkObj(it->GetUser())) {
117 x_SplitQuals(it->GetUser(), composite);
121 if (x_IsDblinkObj(it->GetOriginalFeature().GetData().GetUser()))
122 x_SplitQuals(it->GetOriginalFeature().GetData().GetUser(), composite);
void x_ConvertStrToStrs(const string &dt_str, CRef< CUser_field > new_fld)
virtual void apply_to(const CSeq_entry_Handle &tse, CRef< CCmdComposite > composite)
void x_ConvertStrsToStrs(CRef< CUser_field > fld, CRef< CCmdComposite > composite)
void x_SplitQuals(const CUser_object &user_obj, CRef< CCmdComposite > composite)
bool x_IsDblinkObj(const CUser_object &uobj)
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
static vector< string > arr
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
static string AsSingleByteString(const CTempString &src, EEncoding encoding, const char *substitute_on_error=0, EValidate validate=eNoValidate)
Convert UTF8 string into a single-byte character representation.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static CStringUTF8 AsUTF8(const CTempString &src, EEncoding encoding, EValidate validate=eNoValidate)
Convert into UTF8 from a C/C++ string.
static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
bool IsStr(void) const
Check if variant Str is selected.
const TStrs & GetStrs(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
void SetNum(TNum value)
Assign a value to Num data member.
const TStr & GetStr(void) const
Get the variant data.
void SetLabel(TLabel &value)
Assign a value to Label data member.
const TData & GetData(void) const
Get the Data member data.
void SetData(TData &value)
Assign a value to Data data member.
const TType & GetType(void) const
Get the Type member data.
@ e_User
user defined structure
@ e_User
user defined object
Magic spell ;-) needed for some weird compilers... very empiric.