NCBI C++ ToolKit
Author.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: Author.hpp 95805 2021-12-28 18:41:52Z stakhovv $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  */
27 
28 /// @Author.hpp
29 /// User-defined methods of the data storage class.
30 ///
31 /// This file was originally generated by application DATATOOL
32 /// using the following specifications:
33 /// 'biblio.asn'.
34 ///
35 /// New methods or data members can be added to it if needed.
36 /// See also: Author_.hpp
37 
38 
39 #ifndef OBJECTS_BIBLIO_AUTHOR_HPP
40 #define OBJECTS_BIBLIO_AUTHOR_HPP
41 
42 
43 // generated includes
46 
48 
49 // generated classes
50 
52 
53 BEGIN_objects_SCOPE // namespace ncbi::objects::
54 
55 class CPerson_id;
56 
57 /////////////////////////////////////////////////////////////////////////////
59 {
61 public:
62  // constructor
63  CAuthor() {}
64  // destructor
65  ~CAuthor();
66 
67  static CRef<CAuthor> ConvertMlToStandard(const CAuthor& author,
68  bool normalize_suffix=false);
69  static CRef<CAuthor> ConvertMlToStandard(const string& ml_name,
70  bool normalize_suffix=false);
71 protected:
72  bool GetLabelV1(string* label, TLabelFlags flags) const override;
73  bool GetLabelV2(string* label, TLabelFlags flags) const override;
74 
75 private:
76  // Prohibit copy constructor and assignment operator
79 
80  static bool x_GetLabelV2(string* label, TLabelFlags flags, CTempString name,
81  CTempString initials = kEmptyStr,
83 
84  static CRef<CPerson_id> x_ConvertMlToStandard(const string& name,
85  bool normalize_suffix=false);
86 
87  friend class CAuth_list;
88 };
89 
90 
91 END_objects_SCOPE // namespace ncbi::objects::
92 
94 
95 #endif // OBJECTS_BIBLIO_AUTHOR_HPP
96 /* Original file checksum: lines: 94, chars: 2515, CRC32: d2aa87bb */
"Mix-in" interfaces to implement GetLabel for CCit_* et al.
@Auth_list.hpp User-defined methods of the data storage class.
Definition: Auth_list.hpp:57
CAuthor_Base –.
Definition: Author_.hpp:74
CAuthor –.
Definition: Author.hpp:59
CAuthor & operator=(const CAuthor &value)
CAuthor(const CAuthor &value)
CAuthor_Base Tparent
Definition: Author.hpp:60
CAuthor()
Definition: Author.hpp:63
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
Definition: tempstr.hpp:65
int TLabelFlags
binary OR of ELabelFlags
GetLabel interface for actual citation objects, as opposed to mere containers such as CPub.
virtual bool GetLabelV2(string *label, TLabelFlags flags) const =0
virtual bool GetLabelV1(string *label, TLabelFlags flags) const =0
static uch flags
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define kEmptyStr
Definition: ncbistr.hpp:123
#define NCBI_BIBLIO_EXPORT
Definition: ncbi_export.h:312
static const char label[]
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Data storage class.
static const char * suffix[]
Definition: pcregrep.c:408
Modified on Sat Apr 20 12:16:03 2024 by modify_doxy.py rev. 669887