53 : m_Seq_id_Type(
type),
62 : m_Seq_id_Type(seq_id->Which()),
85 "CSeq_id_Handle is not packed");
201 return id.m_Info ? -1 : 0;
212 return GetGi() >
id.GetGi();
215 if (*
this ==
id)
return 0;
249 return id &&
id->IsAllowedSNPScaleLimit(scale_limit);
257 if (
id.IsGeneral() ) {
258 const CDbtag& dbtag =
id.GetGeneral();
260 if ( obj_id.
IsStr() && dbtag.
GetDb() ==
"LABEL" ) {
305 else if (
id.IsGeneral() ) {
306 const CDbtag& dbtag =
id.GetGeneral();
308 if ( obj_id.
IsStr() && dbtag.
GetDb() ==
"LABEL" ) {
313 ret =
id.AsFastaString();
340 ITERATE ( vector<CSeq_id_Handle>, it, ids ) {
347 int score =
id->TextScore();
348 if ( score < best_score ) {
361 <<
" instead of GI " << gi);
385 int score =
id.TextScore();
386 if ( score < best_score ) {
398 <<
" instead of GI " << gi);
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
virtual void DropInfo(const CSeq_id_Info *info)
std::ofstream out("events_result.xml")
main entry point for tests
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
CStrictId< SStrictId_Gi, SStrictId_Gi::TId > TGi
#define INT_ID_TO(T, id)
Convert gi-compatible int to/from other types.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
string GetDirectLabel(const CSeq_id &id)
Return best label for a sequence from single Seq-id, or set of Seq-ids.
CSeq_id_Handle GetGiHandle(TGi gi)
Get seq-id handle.
virtual int CompareOrdered(const CSeq_id_Info &other, const CSeq_id_Handle &h_this, const CSeq_id_Handle &h_other) const
atomic< Uint8 > m_LockCounter
bool x_IsBetter(const CSeq_id_Handle &h1, const CSeq_id_Handle &h2)
CSeq_id_Which_Tree & GetTree(void) const
bool x_Match(const CSeq_id_Handle &h1, const CSeq_id_Handle &h2)
CConstRef< CSeq_id > GetSeqId(void) const
bool HaveReverseMatch(void) const
bool HaveMatchingHandles(const CSeq_id_Handle &id)
Get the list of matching handles, do not create new handles.
bool HaveReverseMatch(const CSeq_id_Handle &id)
void GetReverseMatchingHandles(const CSeq_id_Handle &id, TSeq_id_HandleSet &h_set)
CSeq_id_Mapper & GetMapper(void) const
int CompareOrdered(const CSeq_id &sid2) const
virtual CConstRef< CSeq_id > GetPackedSeqId(TPacked packed, TVariant variant) const
bool IsAllowedSNPScaleLimit(CSeq_id::ESNPScaleLimit scale_limit) const
bool MatchesTo(const CSeq_id_Handle &h) const
True if *this matches to h.
CConstRef< CSeq_id_Info, CSeq_id_InfoLocker > m_Info
virtual void WriteAsFasta(ostream &out) const
Implement serializable interface.
void GetReverseMatchingHandles(TMatches &matches) const
bool operator==(const CSeq_id_Handle &handle) const
int CompareOrdered(const CSeq_id_Handle &id) const
Compare ids in a defined order (see CSeq_id::CompareOrdered())
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
string AsString(void) const
static CRef< CSeq_id_Mapper > GetInstance(void)
CSeq_id_Which_Tree & x_GetTree(CSeq_id::E_Choice type)
CNcbiOstream & operator<<(CNcbiOstream &out, const CSeq_id_Handle &idh)
CSeq_id_Info(CSeq_id::E_Choice type, CSeq_id_Mapper *mapper)
unsigned GetHash(void) const
void GetMatchingHandles(TMatches &matches) const
void x_RemoveLastLock(void) const
CSeq_id::E_Choice GetType(void) const
bool IsBetter(const CSeq_id_Handle &h) const
True if "this" is a better bioseq than "h".
CSeq_id::E_Choice Which(void) const
string GetLabel(const CSeq_id &id)
const CTextseq_id * GetTextseq_Id(void) const
Return embedded CTextseq_id, if any.
CSeq_id_Mapper & GetMapper(void) const
CSeq_id_Handle GetHandle(const CSeq_id &id, bool do_not_create=false)
void GetMatchingHandles(const CSeq_id_Handle &id, TSeq_id_HandleSet &h_set)
TPacked GetPacked(void) const
ESNPScaleLimit
SNP annotation scale limits.
bool HaveMatchingHandles(void) const
TObjectType * GetPointerOrNull(void) const THROWS_NONE
Get pointer value.
#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.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static string & ToUpper(string &str)
Convert string to upper case – string& version.
bool IsStr(void) const
Check if variant Str is selected.
const TTag & GetTag(void) const
Get the Tag member data.
const TDb & GetDb(void) const
Get the Db member data.
const TStr & GetStr(void) const
Get the variant data.
bool IsSetAccession(void) const
Check if a value has been assigned to Accession data member.
const TName & GetName(void) const
Get the Name member data.
TVersion GetVersion(void) const
Get the Version member data.
bool IsGi(void) const
Check if variant Gi is selected.
bool IsSetVersion(void) const
Check if a value has been assigned to Version data member.
bool IsSetName(void) const
Check if a value has been assigned to Name data member.
const TAccession & GetAccession(void) const
Get the Accession member data.
Multi-threading – atomic pointer exchange function.
Multi-threading – mutexes; rw-locks; semaphore.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.