NCBI C++ ToolKit
Public Types | Public Member Functions | List of all members
IAbstractCitation Class Referenceabstract

Search Toolkit Book for IAbstractCitation

Basic citation GetLabel interface, suitable both for actual citation objects such as CCit_* and containers such as CPub. More...

#include <objects/biblio/citation_base.hpp>

+ Inheritance diagram for IAbstractCitation:

Public Types

enum  ELabelFlags {
  fLabel_Unique = 1 << 0 , fLabel_FlatNCBI = 1 << 1 , fLabel_FlatEMBL = 1 << 2 , fLabel_ISO_JTA = 1 << 3 ,
  fLabel_NoBadCitGen = 1 << 4 , fLabel_NoUnpubAffil = 1 << 5 , fLabel_Consortia = 1 << 30
}
 Flags for use by GetLabel methods. More...
 
enum  ELabelVersion {
  eLabel_V1 = 1 , eLabel_V2 = 2 , eLabel_MinVersion = eLabel_V1 , eLabel_DefaultVersion = eLabel_V1 ,
  eLabel_MaxVersion = eLabel_V2
}
 
typedef int TLabelFlags
 binary OR of ELabelFlags More...
 

Public Member Functions

virtual ~IAbstractCitation ()
 
virtual bool GetLabel (string *label, TLabelFlags flags=0, ELabelVersion version=eLabel_DefaultVersion) const =0
 Append a label to the specified string per the specified flags. More...
 

Detailed Description

Basic citation GetLabel interface, suitable both for actual citation objects such as CCit_* and containers such as CPub.

Definition at line 55 of file citation_base.hpp.

Member Typedef Documentation

◆ TLabelFlags

binary OR of ELabelFlags

Definition at line 70 of file citation_base.hpp.

Member Enumeration Documentation

◆ ELabelFlags

Flags for use by GetLabel methods.

Enumerator
fLabel_Unique 

Append a unique tag [V1].

fLabel_FlatNCBI 

For GenBank or GenPept [V2].

fLabel_FlatEMBL 

For EMBL or EMBLPept [V2].

fLabel_ISO_JTA 

Only ISO jnl. title abbrevs. OK [V2].

fLabel_NoBadCitGen 

Ignore "bad" Cit-gen data [V2].

fLabel_NoUnpubAffil 

No affil on unpublished Cit-gen [V2].

fLabel_Consortia 

Consortia, not authors [internal].

Definition at line 61 of file citation_base.hpp.

◆ ELabelVersion

Enumerator
eLabel_V1 

Traditional GetLabel semantics, modeled on the C Toolkit's PubLabelUnique.

Version 1 labels typically indicate item authorship, and optionally feature abbreviated item titles.

eLabel_V2 

New implementation, in line with GenBank/GenPept REFERENCE JOURNAL fields and the like.

One difference (among many!) between version 1 and 2 labels is that the latter generally leave off item-specific author and title information, which would appear in neighboring flat-file fields.

eLabel_MinVersion 

Minimum supported version.

eLabel_DefaultVersion 

Current default version.

eLabel_MaxVersion 

Maximum supported version.

Definition at line 72 of file citation_base.hpp.

Constructor & Destructor Documentation

◆ ~IAbstractCitation()

virtual IAbstractCitation::~IAbstractCitation ( )
inlinevirtual

Definition at line 58 of file citation_base.hpp.

Member Function Documentation

◆ GetLabel()

virtual bool IAbstractCitation::GetLabel ( string label,
TLabelFlags  flags = 0,
ELabelVersion  version = eLabel_DefaultVersion 
) const
pure virtual

Append a label to the specified string per the specified flags.

Implemented in CPub_set, CPub_equiv, CPub, and ICitationBase.


The documentation for this class was generated from the following file:
Modified on Tue Apr 23 07:36:48 2024 by modify_doxy.py rev. 669887