/* $Id$ * =========================================================================== * * PUBLIC DOMAIN NOTICE * National Center for Biotechnology Information * * This software/database is a "United States Government Work" under the * terms of the United States Copyright Act. It was written as part of * the author's official duties as a United States Government employee and * thus cannot be copyrighted. This software/database is freely available * to the public for use. The National Library of Medicine and the U.S. * Government have not placed any restriction on its use or reproduction. * * Although all reasonable efforts have been taken to ensure the accuracy * and reliability of the software and data, the NLM and the U.S. * Government do not and cannot warrant the performance or results that * may be obtained by using this software or data. The NLM and the U.S. * Government disclaim all warranties, express or implied, including * warranties of performance, merchantability or fitness for any particular * purpose. * * Please cite the author in any work or product based on this material. * * =========================================================================== * */ /// @file PDB_seq_id_.hpp /// Data storage class. /// /// This file was generated by application DATATOOL /// using the following specifications: /// 'seqloc.asn'. /// /// ATTENTION: /// Don't edit or commit this file into CVS as this file will /// be overridden (by DATATOOL) without warning! #ifndef OBJECTS_SEQLOC_PDB_SEQ_ID_BASE_HPP #define OBJECTS_SEQLOC_PDB_SEQ_ID_BASE_HPP // standard includes #include <serial/serialbase.hpp> // generated includes #include <string> #include <objects/seqloc/PDB_mol_id.hpp> BEGIN_NCBI_SCOPE #ifndef BEGIN_objects_SCOPE # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects) # define END_objects_SCOPE END_SCOPE(objects) #endif BEGIN_objects_SCOPE // namespace ncbi::objects:: // forward declarations class CDate; // generated classes ///////////////////////////////////////////////////////////////////////////// /// class NCBI_SEQLOC_EXPORT CPDB_seq_id_Base : public CSerialObject { typedef CSerialObject Tparent; public: // constructor CPDB_seq_id_Base(void); // destructor virtual ~CPDB_seq_id_Base(void); // type info DECLARE_INTERNAL_TYPE_INFO(); // types typedef CPDB_mol_id TMol; typedef int TChain; typedef CDate TRel; typedef string TChain_id; // member index enum class E_memberIndex { e__allMandatory = 0, e_mol, e_chain, e_rel, e_chain_id }; typedef Tparent::CMemberIndex<E_memberIndex, 5> TmemberIndex; // getters // setters /// the molecule name /// mandatory /// typedef CPDB_mol_id TMol /// Check whether the Mol data member has been assigned a value. bool IsSetMol(void) const; /// Check whether it is safe or not to call GetMol method. bool CanGetMol(void) const; void ResetMol(void); const TMol& GetMol(void) const; void SetMol(const TMol& value); TMol& SetMol(void); /// Deprecated: 'chain' can't support multiple character /// PDB chain identifiers (introduced in 2015). /// 'chain-id' stores chain identifiers of any length. /// optional with default 32 /// typedef int TChain /// Check whether the Chain data member has been assigned a value. bool IsSetChain(void) const; /// Check whether it is safe or not to call GetChain method. bool CanGetChain(void) const; void ResetChain(void); void SetDefaultChain(void); TChain GetChain(void) const; void SetChain(TChain value); TChain& SetChain(void); /// release date, month and year /// optional /// typedef CDate TRel /// Check whether the Rel data member has been assigned a value. bool IsSetRel(void) const; /// Check whether it is safe or not to call GetRel method. bool CanGetRel(void) const; void ResetRel(void); const TRel& GetRel(void) const; void SetRel(TRel& value); TRel& SetRel(void); /// chain identifier; length-independent generalization of 'chain' /// optional /// typedef string TChain_id /// Check whether the Chain_id data member has been assigned a value. bool IsSetChain_id(void) const; /// Check whether it is safe or not to call GetChain_id method. bool CanGetChain_id(void) const; void ResetChain_id(void); const TChain_id& GetChain_id(void) const; void SetChain_id(const TChain_id& value); void SetChain_id(TChain_id&& value); TChain_id& SetChain_id(void); /// Reset the whole object virtual void Reset(void); private: // Prohibit copy constructor and assignment operator CPDB_seq_id_Base(const CPDB_seq_id_Base&); CPDB_seq_id_Base& operator=(const CPDB_seq_id_Base&); // data Uint4 m_set_State[1]; CPDB_mol_id m_Mol; int m_Chain; CRef< TRel > m_Rel; string m_Chain_id; }; /////////////////////////////////////////////////////////// ///////////////////// inline methods ////////////////////// /////////////////////////////////////////////////////////// inline bool CPDB_seq_id_Base::IsSetMol(void) const { return ((m_set_State[0] & 0x3) != 0); } inline bool CPDB_seq_id_Base::CanGetMol(void) const { return IsSetMol(); } inline const CPDB_seq_id_Base::TMol& CPDB_seq_id_Base::GetMol(void) const { if (!CanGetMol()) { ThrowUnassigned(0); } return m_Mol; } inline void CPDB_seq_id_Base::SetMol(const CPDB_seq_id_Base::TMol& value) { m_Mol = value; m_set_State[0] |= 0x3; } inline CPDB_seq_id_Base::TMol& CPDB_seq_id_Base::SetMol(void) { m_set_State[0] |= 0x1; return m_Mol; } inline bool CPDB_seq_id_Base::IsSetChain(void) const { return ((m_set_State[0] & 0xc) != 0); } inline bool CPDB_seq_id_Base::CanGetChain(void) const { return true; } inline void CPDB_seq_id_Base::ResetChain(void) { m_Chain = 32; m_set_State[0] &= ~0xc; } inline void CPDB_seq_id_Base::SetDefaultChain(void) { ResetChain(); } inline CPDB_seq_id_Base::TChain CPDB_seq_id_Base::GetChain(void) const { return m_Chain; } inline void CPDB_seq_id_Base::SetChain(CPDB_seq_id_Base::TChain value) { m_Chain = value; m_set_State[0] |= 0xc; } inline CPDB_seq_id_Base::TChain& CPDB_seq_id_Base::SetChain(void) { #ifdef _DEBUG if (!IsSetChain()) { memset(&m_Chain,UnassignedByte(),sizeof(m_Chain)); } #endif m_set_State[0] |= 0x4; return m_Chain; } inline bool CPDB_seq_id_Base::IsSetRel(void) const { return m_Rel.NotEmpty(); } inline bool CPDB_seq_id_Base::CanGetRel(void) const { return IsSetRel(); } inline const CPDB_seq_id_Base::TRel& CPDB_seq_id_Base::GetRel(void) const { if (!CanGetRel()) { ThrowUnassigned(2); } return (*m_Rel); } inline bool CPDB_seq_id_Base::IsSetChain_id(void) const { return ((m_set_State[0] & 0xc0) != 0); } inline bool CPDB_seq_id_Base::CanGetChain_id(void) const { return IsSetChain_id(); } inline const CPDB_seq_id_Base::TChain_id& CPDB_seq_id_Base::GetChain_id(void) const { if (!CanGetChain_id()) { ThrowUnassigned(3); } return m_Chain_id; } inline void CPDB_seq_id_Base::SetChain_id(const CPDB_seq_id_Base::TChain_id& value) { m_Chain_id = value; m_set_State[0] |= 0xc0; } inline void CPDB_seq_id_Base::SetChain_id(CPDB_seq_id_Base::TChain_id&& value) { m_Chain_id = std::forward<CPDB_seq_id_Base::TChain_id>(value); m_set_State[0] |= 0xc0; } inline CPDB_seq_id_Base::TChain_id& CPDB_seq_id_Base::SetChain_id(void) { #ifdef _DEBUG if (!IsSetChain_id()) { m_Chain_id = UnassignedString(); } #endif m_set_State[0] |= 0x40; return m_Chain_id; } /////////////////////////////////////////////////////////// ////////////////// end of inline methods ////////////////// /////////////////////////////////////////////////////////// END_objects_SCOPE // namespace ncbi::objects:: END_NCBI_SCOPE #endif // OBJECTS_SEQLOC_PDB_SEQ_ID_BASE_HPP
0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0082 0083 0084 0085 0086 0087 0088 0089 0090 0091 0092 0093 0094 0095 0096 0097 0098 0099 0100 0101 0102 0103 0104 0105 0106 0107 0108 0109 0110 0111 0112 0113 0114 0115 0116 0117 0118 0119 0120 0121 0122 0123 0124 0125 0126 0127 0128 0129 0130 0131 0132 0133 0134 0135 0136 0137 0138 0139 0140 0141 0142 0143 0144 0145 0146 0147 0148 0149 0150 0151 0152 0153 0154 0155 0156 0157 0158 0159 0160 0161 0162 0163 0164 0165 0166 0167 0168 0169 0170 0171 0172 0173 0174 0175 0176 0177 0178 0179 0180 0181 0182 0183 0184 0185 0186 0187 0188 0189 0190 0191 0192 0193 0194 0195 0196 0197 0198 0199 0200 0201 0202 0203 0204 0205 0206 0207 0208 0209 0210 0211 0212 0213 0214 0215 0216 0217 0218 0219 0220 0221 0222 0223 0224 0225 0226 0227 0228 0229 0230 0231 0232 0233 0234 0235 0236 0237 0238 0239 0240 0241 0242 0243 0244 0245 0246 0247 0248 0249 0250 0251 0252 0253 0254 0255 0256 0257 0258 0259 0260 0261 0262 0263 0264 0265 0266 0267 0268 0269 0270 0271 0272 0273 0274 0275 0276 0277 0278 0279 0280 0281 0282 0283 0284 0285 0286 0287 0288 0289 0290 0291 0292 0293 0294 0295 0296 0297 0298 0299 0300 0301 0302 0303 0304 0305 0306 0307 0308 0309 0310 0311 0312 0313 0314 0315 0316 0317 0318 0319 0320 0321 0322 0323 0324 0325 0326 0327 0328 0329 0330 0331 0332 0333 0334 0335 0336 0337 0338 0339 0340