m_pOpticalMapPoints(
nullptr),
89m_IsDeltaLitOnly(
false),
93m_IsInNucProt(
false),
101m_IsJournalScan(
false),
104m_IsGbGenomeProject(
false),
105m_IsNcbiCONDiv(
false),
106m_IsNcbiGenomes(
false),
110m_IsWGSMaster(
false),
112m_IsTSAMaster(
false),
114m_IsTLSMaster(
false),
117m_ShowGBBSource(
false),
119m_HasOperon(
false),
120m_HasMultiIntervalGenes(
true),
121m_IsGenomeAssembly(
false),
122m_IsCrossKingdom(
false),
123m_UsePDBCompoundForComment(
false),
124m_fUnverified(fUnverified_None),
125m_fUnreviewed(fUnreviewed_None),
126m_ShowAnnotCommentAsCOMMENT(
false),
127m_ShowAnnotCommentAsCOMMENT_checked(
false),
129m_RefCache(
nullptr),
131m_TLSeqEntryCtx(tlsec)
133x_Init(seq, m_FFCtx.GetLocation());
144m_PrevHandle(prev_seq),
146m_NextHandle(next_seq),
147m_pOpticalMapPoints(
nullptr),
153m_IsDeltaLitOnly(
false),
157m_IsInNucProt(
false),
159m_IsGenbank(
false),
165m_IsJournalScan(
false),
168m_IsGbGenomeProject(
false),
169m_IsNcbiCONDiv(
false),
170m_IsNcbiGenomes(
false),
174m_IsWGSMaster(
false),
176m_IsTSAMaster(
false),
178m_IsTLSMaster(
false),
181m_ShowGBBSource(
false),
183m_HasOperon(
false),
184m_HasMultiIntervalGenes(
true),
185m_IsGenomeAssembly(
false),
186m_IsCrossKingdom(
false),
187m_UsePDBCompoundForComment(
false),
188m_fUnverified(fUnverified_None),
189m_fUnreviewed(fUnreviewed_None),
190m_ShowAnnotCommentAsCOMMENT(
false),
191m_ShowAnnotCommentAsCOMMENT_checked(
false),
195m_TLSeqEntryCtx(tlsec)
212 if(
id.IsGi() &&
id.GetGi() ==
m_Gi) {
286loc.
Reset(mapper.
Map(*user_loc));
295}
else if(loc->
IsInt()) {
340 for( ; gene_ci ; ++gene_ci ) {
362 if(! idx)
return false;
364 if(! bsx)
return false;
375 intnum_super_kingdom = 0;
376 boolsuper_kingdoms_different =
false;
377 stringsuper_kingdom_name;
379 for( ; desc_ci; ++desc_ci ) {
394 const string& lvl = te.
GetLevel();
397 if(super_kingdom_name.empty() && te.
IsSetName()) {
398super_kingdom_name = te.
GetName();
400super_kingdoms_different =
true;
402 if(num_super_kingdom > 1 && super_kingdoms_different) {
431 for( ; biosrc_ci ; ++biosrc_ci ) {
433 if( seq_feat && seq_feat->
IsSetData() ) {
506 if( ! pFileTrackURLField ) {
507pFileTrackURLField = uo.
GetFieldRef(
"Map-FileTrackURL");
509 if( pFileTrackURLField) {
511 if( ! pFileTrackURLField->
GetData().
GetStr().empty() ) {
515 constvector< string > & strs = pFileTrackURLField->
GetData().
GetStrs();
518 if( !
str.empty() ) {
526 if( pBaseModURLField) {
546 if( ! pAuthorizedAccessField ||
572 switch( feat_loc.
Which() ) {
606 static constTFinStatElem sc_finstat_map[] = {
607{
"Annotation-directed-improvement",
"ANNOTATION_DIRECTED_IMPROVEMENT"},
608{
"High-quality-draft",
"HIGH_QUALITY_DRAFT"},
609{
"Improved-high-quality-draft",
"IMPROVED_HIGH_QUALITY_DRAFT"},
610{
"Noncontiguous-finished",
"NONCONTIGUOUS_FINISHED"},
611{
"Standard-draft",
"STANDARD_DRAFT"}
628 if( field.
GetLabel().
GetStr() ==
"StructuredCommentPrefix"&&
629field.
GetData().
GetStr() ==
"##Genome-Assembly-Data-START##")
633 if( field.
GetLabel().
GetStr() ==
"Current Finishing Status")
636replace( asn_fin_stat.begin(), asn_fin_stat.end(),
' ',
'-');
637TFinStatMap::const_iterator new_fin_stat_iter = sc_FinStatMap.find(asn_fin_stat.c_str());
638 if( new_fin_stat_iter != sc_FinStatMap.end() ) {
700 for( ; annot_ci; ++annot_ci ) {
707 const CAnnotdesc& one_desc = **one_desc_iter;
708 if( ! one_desc.
IsUser() ) {
717user_obj.
GetType().
GetStr() !=
"AnnotDescCommentPolicy")
724 const CUser_field& policy_field = **policy_field_iter;
733 const string& policy_str = policy_field.
GetData().
GetStr();
734 if( policy_str ==
"ShowInComment") {
756 if(! idx)
return false;
758 if(! bsx)
return false;
779 boolbTpaAssemblyPresent =
false;
786bTpaAssemblyPresent =
true;
797 const CSeq_id&
id= **id_iter;
805 switch(
id.Which() ) {
829 if(
id.GetPatent().IsSetSeqid()) {
861 if(
id.GetGeneral().CanGetDb() ) {
862 if(
NStr::Equal(
id.GetGeneral().GetDb(),
"NCBI_GENOMES") ) {
887 if(
m_IsWGS&& !acc.empty() ) {
905 if(
m_IsTSA&& !acc.empty() ) {
918 if(
m_IsTLS&& !acc.empty() ) {
933 if(acc.length() == 6) {
935 if(ch ==
'J'|| ch ==
'K'|| ch ==
'L'|| ch ==
'M') {
957 returndesc ? &desc->
GetMolinfo() :
nullptr;
973 if( eh && eh.
IsSet() ) {
998 boolhas_seq =
false;
1000 if( it->IsSeq() && it->GetSeq() ==
m_Handle) {
1013 if( it->IsSet() && it->GetSet().IsSetClass() &&
1032 if( (*it)->IsLoc() ) {
1033 const CSeq_loc& loc = (*it)->GetLoc();
1034 if(loc.
IsNull())
continue;
1130 if((*it)->IsNull()) {
1208parent_name = parent_name.substr(4);
1233parent_name.length() == seg_name.length() &&
1235 size_tpos = parent_name.length() - 2;
1236 for(
; pos > 0; --pos) {
1237 if(parent_name[pos] !=
'0') {
1241parent_name.erase(pos + 1);
1253 if(sep.
IsSeq()) {
1256 for(
auto& sid : bsp.
GetId()) {
1288}
else if(sep.
IsSet()) {
1294 for(
auto& seqentry : bssp.
GetSeq_set()) {
1306 if(useIndexedFasterSets) {
1315 for( ; bioseq_iter; ++bioseq_iter ) {
1318 if( ! seqId.
IsNull() ) {
1319 switch( seqId->
Which() ) {
1359 if( entry_handle.
IsSet() ) {
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
bool IsReverse(ENa_strand s)
User-defined methods of the data storage class.
User-defined methods of the data storage class.
const string & GetTaxname(void) const
const COrgName & GetOrgname(void) const
bool IsSetOrgname(void) const
bool IsSetTaxname(void) const
bool IsDeltaLitOnly(void) const
CRef< CSeq_loc_Mapper > m_Mapper
void x_SetLocation(const CSeq_loc *user_loc=nullptr)
CConstRef< CSeq_loc > m_Location
bool x_IsInGPS(void) const
CScope & GetScope(void) const
bool HasMultiIntervalGenes(void) const
bool IsCrossKingdom(void) const
@ fUnreviewed_Unannotated
void x_SetOpticalMapPoints(void)
void SetPDBCompoundForComment(bool value)
bool x_HasOperon(void) const
CSeq_inst::TRepr x_GetRepr(void) const
bool m_ShowAnnotCommentAsCOMMENT
SAnnotSelector & SetAnnotSelector(void)
bool UsingSeqEntryIndex(void) const
TUnreviewed m_fUnreviewed
CBioseqContext(const CBioseq_Handle &seq, CFlatFileContext &ffctx, CMasterContext *mctx=nullptr, CTopLevelSeqEntryContext *tlsec=nullptr)
bool m_UsePDBCompoundForComment
const CFlatFileConfig & Config(void) const
unique_ptr< CPacked_seqpnt > m_pOpticalMapPointsDestroyer
unsigned int m_RefseqInfo
void x_SetDataFromUserObjects(void)
bool x_IsPart(void) const
CSeq_inst::TRepr GetRepr(void) const
CRef< CSeq_id > m_PrimaryId
bool x_HasParts(void) const
void x_SetAuthorizedAccess(const CUser_object &uo)
void x_SetEncode(const CUser_object &uo)
const CPacked_seqpnt * m_pOpticalMapPoints
const CSeq_entry_Handle & GetTopLevelEntry(void) const
bool HasOperon(void) const
bool IsRefSeq(void) const
bool m_HasMultiIntervalGenes
CConstRef< CUser_object > m_Encode
CConstRef< CMolInfo > m_Molinfo
void x_Init(const CBioseq_Handle &seq, const CSeq_loc *user_loc)
bool ShowAnnotCommentAsCOMMENT() const
void x_CheckForShowComments() const
const CMolInfo * x_GetMolInfo(void) const
CSeq_id_Handle GetPreferredSynonym(const CSeq_id &id) const
bool DoContigStyle(void) const
bool x_IsDeltaLitOnly(void) const
void x_SetFiletrackURL(const CUser_object &uo)
void x_SetHasMultiIntervalGenes(void) const
bool m_ShowAnnotCommentAsCOMMENT_checked
void x_SetMapper(const CSeq_loc &loc)
const string & GetTaxname(void) const
Empty string if unavailable.
CMolInfo::TTech GetTech(void) const
const CRef< CSeqEntryIndex > GetSeqEntryIndex(void) const
bool IsSegmented(void) const
bool UsePDBCompoundForComment(void) const
CFlatFileContext & m_FFCtx
bool x_IsInNucProt(void) const
TUnverified m_fUnverified
SIZE_TYPE x_GetPartNumber(void)
string m_AuthorizedAccess
bool HasParts(void) const
void x_SetTaxname(void) const
bool x_IsInSGS(void) const
vector< string > m_BasemodURLs
@ fUnverified_Contaminant
@ fUnverified_SequenceOrAnnotation
@ fUnverified_Misassembled
CRef< CMasterContext > m_Master
const string & GetAccession(void) const
bool IsCrossKingdom(void)
bool HasMultiIntervalGenes(void)
const string & GetTaxname(void)
void SetRefSeqConventions(void)
bool IsStyleNormal(void) const
bool IsStyleContig(void) const
CFlatFileConfig & SetConfig(void)
const CSeq_loc * GetLocation(void) const
CMasterContext(const CBioseq_Handle &master)
SIZE_TYPE GetPartNumber(const CBioseq_Handle &part)
CRef< CBioseqIndex > GetBioseqIndex(void)
namespace ncbi::objects::
class CStaticArrayMap<> provides access to a static array in much the same way as CStaticArraySet<>,...
CTopLevelSeqEntryContext(const CSeq_entry_Handle &entry_handle, bool useIndexedFasterSets=false)
bool m_CanSourcePubsBeFused
void x_InitSeqs(const CSeq_entry &sep)
CConstRef< CUser_field > GetFieldRef(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
@ eObjectType_StructuredComment
bool IsUnverifiedMisassembled() const
bool IsUnverifiedOrganism() const
bool IsUnverifiedContaminant() const
bool IsUnverifiedFeature() const
bool IsUnreviewedUnannotated() const
EObjectType GetObjectType() const
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const char * str(char *buf, int n)
CRange< Position > Map(const CRange< Position > &target, const CRange< Position > &range)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const
Append a label for this Seq-id to the supplied string.
EAccessionInfo
For IdentifyAccession (below)
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
const CTextseq_id * GetTextseq_Id(void) const
Return embedded CTextseq_id, if any.
@ eContent
Untagged human-readable accession or the like.
ENa_strand GetStrand(void) const
Get the location's strand.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Override Assign() to incorporate cache invalidation.
TRange GetTotalRange(void) const
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
CSeq_id_Handle GetIdHandle(const CSeq_loc &loc, CScope *scope)
bool IsSameBioseq(const CSeq_id &id1, const CSeq_id &id2, CScope *scope, CScope::EGetBioseqFlag get_flag=CScope::eGetBioseq_All)
Determines if two CSeq_ids represent the same CBioseq.
CBioseq_Handle GetBioseqFromSeqLoc(const CSeq_loc &loc, CScope &scope, CScope::EGetBioseqFlag flag=CScope::eGetBioseq_Loaded)
Retrieve the Bioseq Handle from a location.
@ eGetId_Best
return the "best" gi (uses FindBestScore(), with CSeq_id::CalculateScore() as the score function
CBioseq_Handle GetBioseqHandleFromTSE(const CSeq_id &id, const CTSE_Handle &tse)
Get bioseq handle for sequence withing one TSE.
CRef< CSeq_loc > Map(const CSeq_loc &src_loc)
Map seq-loc.
CBioseq_Handle AddBioseq(CBioseq &bioseq, TPriority pri=kPriority_Default, EExist action=eExist_Throw)
Add bioseq, return bioseq handle.
CSeq_loc_Mapper_Base & SetMergeAbutting(void)
Merge only abutting intervals, keep overlapping.
CSeq_loc_Mapper_Base & SetGapRemove(void)
@ eSeqMap_Up
map from segments to the top level bioseq
vector< CSeq_id_Handle > TId
TClass GetClass(void) const
const TInst_Ext & GetInst_Ext(void) const
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
TBioseqCore GetBioseqCore(void) const
Get bioseq core structure.
bool CanGetClass(void) const
bool IsSetInst_Ext(void) const
TInst_Mol GetInst_Mol(void) const
CConstRef< CSeq_id > GetSeqId(void) const
Get id which can be used to access this bioseq handle Throws an exception if none is available.
void Remove(ERemoveMode mode=eRemoveSeq_entry) const
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
const CSeq_annot::TDesc & Seq_annot_GetDesc(void) const
CBioseq_EditHandle GetEditHandle(void) const
Get 'edit' version of handle.
TInst_Length GetInst_Length(void) const
bool IsSetInst(void) const
bool IsSetInst_Repr(void) const
bool IsSetClass(void) const
CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const
Complete and get const reference to the seq-entry.
TInst_Repr GetInst_Repr(void) const
CScope & GetScope(void) const
Get scope this handle belongs to.
CScope & GetScope(void) const
Get scope this handle belongs to.
CSeq_entry_Handle GetExactComplexityLevel(CBioseq_set::EClass cls) const
Return level with exact complexity, or empty handle if not found.
const CSeqMap & GetSeqMap(void) const
Get sequence map.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
const TId & GetId(void) const
bool Seq_annot_IsSetDesc(void) const
CConstRef< CSeq_entry > GetSeq_entryCore(void) const
Get const reference to the seq-entry.
SAnnotSelector & SetFeatType(TFeatType type)
Set feature type (also set annotation type to feat)
SAnnotSelector & SetResolveAll(void)
SetResolveAll() is equivalent to SetResolveMethod(eResolve_All).
const CSeq_loc & GetLocation(void) const
SAnnotSelector & SetAnnotType(TAnnotType type)
Set annotation type (feat, align, graph)
CSeq_id_Handle GetRefSeqid(void) const
The following function makes sense only when the segment is a reference to another seq.
CConstRef< CSeq_feat > GetSeq_feat(void) const
Get current seq-feat.
CSeqMap_CI BeginResolved(CScope *scope) const
bool IsNull(void) const THROWS_NONE
Check if pointer is null â same effect as Empty().
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
NCBI_NS_STD::string::size_type SIZE_TYPE
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
const TStr & GetStr(void) const
Get the variant data.
bool IsSetData(void) const
the object itself Check if a value has been assigned to Data data member.
bool IsStr(void) const
Check if variant Str is selected.
bool IsSetType(void) const
type of object within class Check if a value has been assigned to Type data member.
const TStrs & GetStrs(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
bool IsStr(void) const
Check if variant Str is selected.
bool IsSetLabel(void) const
field label Check if a value has been assigned to Label data member.
const TStr & GetStr(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
const TLabel & GetLabel(void) const
Get the Label member data.
const TType & GetType(void) const
Get the Type member data.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
vector< CRef< CUser_field > > TData
TFixed_level GetFixed_level(void) const
Get the Fixed_level member data.
bool IsSetFixed_level(void) const
Check if a value has been assigned to Fixed_level data member.
bool IsPartial(void) const
Check if variant Partial is selected.
const TName & GetName(void) const
Get the Name member data.
const TLevel & GetLevel(void) const
Get the Level member data.
bool IsSetName(void) const
Check if a value has been assigned to Name data member.
const Tdata & Get(void) const
Get the member data.
const TName & GetName(void) const
Get the Name member data.
list< CRef< CTaxElement > > Tdata
bool IsSetLevel(void) const
Check if a value has been assigned to Level data member.
const TPartial & GetPartial(void) const
Get the variant data.
bool IsSet(void) const
Check if a value has been assigned to data member.
bool IsSetName(void) const
Check if a value has been assigned to Name data member.
bool IsSetData(void) const
the specific data Check if a value has been assigned to Data data member.
const TLocation & GetLocation(void) const
Get the Location member data.
const TData & GetData(void) const
Get the Data member data.
const TBiosrc & GetBiosrc(void) const
Get the variant data.
bool IsBiosrc(void) const
Check if variant Biosrc is selected.
bool IsSetLocation(void) const
feature made from Check if a value has been assigned to Location data member.
bool IsGenbank(void) const
Check if variant Genbank is selected.
bool IsSetAccession(void) const
Check if a value has been assigned to Accession data member.
bool IsTpg(void) const
Check if variant Tpg is selected.
const TName & GetName(void) const
Get the Name member data.
bool IsSetPoint(void) const
Check if a value has been assigned to Point data member.
const TPnt & GetPnt(void) const
Get the variant data.
bool IsTpd(void) const
Check if variant Tpd is selected.
TPoint GetPoint(void) const
Get the Point member data.
bool CanGetName(void) const
Check if it is safe to call GetName method.
bool IsEmbl(void) const
Check if variant Embl is selected.
E_Choice Which(void) const
Which variant is currently selected.
E_Choice Which(void) const
Which variant is currently selected.
const TPacked_pnt & GetPacked_pnt(void) const
Get the variant data.
E_Choice
Choice variants.
bool CanGetAccession(void) const
Check if it is safe to call GetAccession method.
bool IsWhole(void) const
Check if variant Whole is selected.
bool IsInt(void) const
Check if variant Int is selected.
bool IsNull(void) const
Check if variant Null is selected.
bool IsTpe(void) const
Check if variant Tpe is selected.
const TAccession & GetAccession(void) const
Get the Accession member data.
bool IsDdbj(void) const
Check if variant Ddbj is selected.
@ e_Gibbmt
Geninfo backbone moltype.
@ e_Giim
Geninfo import id.
@ e_Other
for historical reasons, 'other' = 'refseq'
@ e_Gpipe
Internal NCBI genome pipeline processing ID.
@ e_Tpe
Third Party Annot/Seq EMBL.
@ e_Tpd
Third Party Annot/Seq DDBJ.
@ e_Gibbsq
Geninfo backbone seqid.
@ e_General
for other databases
@ e_Gi
GenInfo Integrated Database.
@ e_not_set
No variant selected.
@ e_Tpg
Third Party Annot/Seq Genbank.
@ e_Equiv
equivalent sets of locations
const TSeq & GetSeq(void) const
Get the variant data.
TClass GetClass(void) const
Get the Class member data.
const TSet & GetSet(void) const
Get the variant data.
bool IsSeq(void) const
Check if variant Seq is selected.
bool CanGetClass(void) const
Check if it is safe to call GetClass method.
bool IsSet(void) const
Check if variant Set is selected.
const TSeq_set & GetSeq_set(void) const
Get the Seq_set member data.
@ eClass_parts
parts for 2 or 3
@ eClass_nuc_prot
nuc acid and coded proteins
@ eClass_gen_prod_set
genomic products, chrom+mRNA+protein
@ eClass_segset
segmented sequence + parts
@ eClass_small_genome_set
viral segments or mitochondrial minicircles
const TSeg & GetSeg(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
ERepr
representation class
const TSource & GetSource(void) const
Get the variant data.
bool IsSource(void) const
Check if variant Source is selected.
const TMap & GetMap(void) const
Get the variant data.
const TId & GetId(void) const
Get the Id member data.
const TUser & GetUser(void) const
Get the variant data.
list< CRef< CSeq_id > > TId
bool IsSeg(void) const
Check if variant Seg is selected.
bool IsDelta(void) const
Check if variant Delta is selected.
void SetInst(TInst &value)
Assign a value to Inst data member.
const TDelta & GetDelta(void) const
Get the variant data.
bool IsUser(void) const
Check if variant User is selected.
const Tdata & Get(void) const
Get the member data.
list< CRef< CDelta_seq > > Tdata
const Tdata & Get(void) const
Get the member data.
list< CRef< CSeq_loc > > Tdata
const TMolinfo & GetMolinfo(void) const
Get the variant data.
list< CRef< CAnnotdesc > > Tdata
@ eRepr_const
constructed sequence
@ eRepr_delta
sequence made by changes (delta) to others
@ eRepr_map
ordered map of any kind
@ eRepr_raw
continuous sequence
@ eRepr_virtual
no seq data
@ eTech_targeted
targeted locus sets/studies
@ eTech_tsa
transcriptome shotgun assembly
@ e_User
user defined object
@ e_Molinfo
info on the molecule and techniques
@ e_Source
source of materials, includes Org-ref
const GenericPointer< typename T::ValueType > T2 value
static void s_GetNameForBioseq(const CBioseq_Handle &seq, string &name)
static bool GetSeqId(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)
#define FOR_EACH_SEQFEAT_ON_MAPEXT(Itr, Var)
SEQANNOT_IS_SEQFEAT.
#define FIELD_IS_SET_AND_IS(Var, Fld, Chs)
FIELD_IS_SET_AND_IS base macro.
#define FOR_EACH_STRING_IN_VECTOR(Itr, Var)
FOR_EACH_STRING_IN_VECTOR EDIT_EACH_STRING_IN_VECTOR.
#define ASSIGN_IF_SET_ELSE_RESET(DestVar, DestFld, SrcVar, SrcFld)
ASSIGN_IF_SET_ELSE_RESET.
#define CLONE_IF_SET_ELSE_RESET(DestVar, DestFld, SrcVar, SrcFld)
CLONE_IF_SET base macro (Useful to copy and object from a variable of one type to a variable of anoth...
#define DEFINE_STATIC_ARRAY_MAP(Type, Var, Array)
Selector used in CSeqMap methods returning iterators.
Template structure SStaticPair is simlified replacement of STL pair<> Main reason of introducing this...
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4