( !ret || ret->ReferencedOnlyOnce() ) {
103 else if( idh.
IsGi() ) {
124 returndo_not_create?
tree.FindInfo(
id):
tree.FindOrCreate(
id);
167 for(
size_t i= 0;
i<
m_Trees.size(); ++
i) {
169 if(
tree== base_tree ) {
178 if(
tree->HaveMatch(idh) ) {
198 for(
size_t i= 0;
i<
m_Trees.size(); ++
i) {
200 if(
tree== base_tree ) {
209 tree->FindMatch(idh, h_set);
227 for(
size_t i= 0;
i<
m_Trees.size(); ++
i) {
229 if(
tree== base_tree ) {
238 if(
tree->HaveReverseMatch(idh) ) {
258 for(
size_t i= 0;
i<
m_Trees.size(); ++
i) {
260 if(
tree== base_tree ) {
269 tree->FindReverseMatch(idh, h_set);
277 if(sid.find(
'|') != string::npos) {
279 "Symbol \'|\' is not supported here");
283(*tree_it)->FindMatchStr(sid, h_set);
293 if( &tree1 != &tree2 )
297 returntree1.
Match(h1, h2);
306 if( &tree1 != &tree2 )
316 size_ttotal_bytes = 0;
317 for(
size_t i= 0;
i<
m_Trees.size(); ++
i) {
319total_bytes += bytes;
322 out<<
"Total CSeq_id_Mapper bytes: "<<total_bytes<<endl;
virtual bool HaveReverseMatch(const CSeq_id_Handle &id) const
virtual bool HaveMatch(const CSeq_id_Handle &id) const
virtual void FindReverseMatch(const CSeq_id_Handle &id, TSeq_id_MatchList &id_list)
virtual bool Match(const CSeq_id_Handle &h1, const CSeq_id_Handle &h2) const
virtual void FindMatch(const CSeq_id_Handle &id, TSeq_id_MatchList &id_list) const
static void Initialize(CSeq_id_Mapper *mapper, vector< CRef< CSeq_id_Which_Tree > > &v)
virtual bool IsBetterVersion(const CSeq_id_Handle &h1, const CSeq_id_Handle &h2) const
std::ofstream out("events_result.xml")
main entry point for tests
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
CSeq_id_Handle GetGiHandle(TGi gi)
Get seq-id handle.
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)
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)
void GetMatchingHandlesStr(string sid, TSeq_id_HandleSet &h_set)
Get the list of string-matching handles, do not create new handles.
CConstRef< CSeq_id_Info, CSeq_id_InfoLocker > m_Info
CSeq_id_Which_Tree & x_GetTree(CSeq_id::E_Choice type)
vector< CRef< CSeq_id_Which_Tree > > TTrees
size_t Dump(CNcbiOstream &out, EDumpDetails details=eDumpTotalBytes) const
CSeq_id_Handle GetHandle(const CSeq_id &id, bool do_not_create=false)
virtual ~CSeq_id_Mapper(void)
void GetMatchingHandles(const CSeq_id_Handle &id, TSeq_id_HandleSet &h_set)
void Reset(void)
Reset reference object.
TObjectType * Release(void)
Release a reference to the object and return a pointer to the 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.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
E_Choice
Choice variants.
@ e_Gi
GenInfo Integrated Database.
@ e_not_set
No variant selected.
Multi-threading â mutexes; rw-locks; semaphore.
static void s_ResetInstance(TInstance *instance)
static TInstance * s_Instance
DEFINE_STATIC_FAST_MUTEX(s_InstanceMutex)
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