Full_Time_.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:9k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: Full_Time_.hpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/04/12 17:19:35  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.5
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /* $Id: Full_Time_.hpp,v 1000.1 2004/04/12 17:19:35 gouriano Exp $
  10.  * ===========================================================================
  11.  *
  12.  *                            PUBLIC DOMAIN NOTICE
  13.  *               National Center for Biotechnology Information
  14.  *
  15.  *  This software/database is a "United States Government Work" under the
  16.  *  terms of the United States Copyright Act.  It was written as part of
  17.  *  the author's official duties as a United States Government employee and
  18.  *  thus cannot be copyrighted.  This software/database is freely available
  19.  *  to the public for use. The National Library of Medicine and the U.S.
  20.  *  Government have not placed any restriction on its use or reproduction.
  21.  *
  22.  *  Although all reasonable efforts have been taken to ensure the accuracy
  23.  *  and reliability of the software and data, the NLM and the U.S.
  24.  *  Government do not and cannot warrant the performance or results that
  25.  *  may be obtained by using this software or data. The NLM and the U.S.
  26.  *  Government disclaim all warranties, express or implied, including
  27.  *  warranties of performance, merchantability or fitness for any particular
  28.  *  purpose.
  29.  *
  30.  *  Please cite the author in any work or product based on this material.
  31.  *
  32.  * ===========================================================================
  33.  *
  34.  * File Description:
  35.  *   This code is generated by application DATATOOL
  36.  *   using specifications from the data definition file
  37.  *   'twebenv.asn'.
  38.  *
  39.  * ATTENTION:
  40.  *   Don't edit or check-in this file to the CVS as this file will
  41.  *   be overridden (by DATATOOL) without warning!
  42.  * ===========================================================================
  43.  */
  44. #ifndef FULL_TIME_BASE_HPP
  45. #define FULL_TIME_BASE_HPP
  46. // standard includes
  47. #include <serial/serialbase.hpp>
  48. // generated classes
  49. class CFull_Time_Base : public ncbi::CSerialObject
  50. {
  51.     typedef ncbi::CSerialObject Tparent;
  52. public:
  53.     // constructor
  54.     CFull_Time_Base(void);
  55.     // destructor
  56.     virtual ~CFull_Time_Base(void);
  57.     // type info
  58.     DECLARE_INTERNAL_TYPE_INFO();
  59.     // types
  60.     typedef int TYear;
  61.     typedef int TMonth;
  62.     typedef int TDay;
  63.     typedef int THour;
  64.     typedef int TMinute;
  65.     typedef int TSecond;
  66.     // getters
  67.     // setters
  68.     // mandatory
  69.     // typedef int TYear
  70.     bool IsSetYear(void) const;
  71.     bool CanGetYear(void) const;
  72.     void ResetYear(void);
  73.     TYear GetYear(void) const;
  74.     void SetYear(const TYear& value);
  75.     TYear& SetYear(void);
  76.     // mandatory
  77.     // typedef int TMonth
  78.     bool IsSetMonth(void) const;
  79.     bool CanGetMonth(void) const;
  80.     void ResetMonth(void);
  81.     TMonth GetMonth(void) const;
  82.     void SetMonth(const TMonth& value);
  83.     TMonth& SetMonth(void);
  84.     // mandatory
  85.     // typedef int TDay
  86.     bool IsSetDay(void) const;
  87.     bool CanGetDay(void) const;
  88.     void ResetDay(void);
  89.     TDay GetDay(void) const;
  90.     void SetDay(const TDay& value);
  91.     TDay& SetDay(void);
  92.     // mandatory
  93.     // typedef int THour
  94.     bool IsSetHour(void) const;
  95.     bool CanGetHour(void) const;
  96.     void ResetHour(void);
  97.     THour GetHour(void) const;
  98.     void SetHour(const THour& value);
  99.     THour& SetHour(void);
  100.     // mandatory
  101.     // typedef int TMinute
  102.     bool IsSetMinute(void) const;
  103.     bool CanGetMinute(void) const;
  104.     void ResetMinute(void);
  105.     TMinute GetMinute(void) const;
  106.     void SetMinute(const TMinute& value);
  107.     TMinute& SetMinute(void);
  108.     // mandatory
  109.     // typedef int TSecond
  110.     bool IsSetSecond(void) const;
  111.     bool CanGetSecond(void) const;
  112.     void ResetSecond(void);
  113.     TSecond GetSecond(void) const;
  114.     void SetSecond(const TSecond& value);
  115.     TSecond& SetSecond(void);
  116.     // reset whole object
  117.     virtual void Reset(void);
  118. private:
  119.     // Prohibit copy constructor and assignment operator
  120.     CFull_Time_Base(const CFull_Time_Base&);
  121.     CFull_Time_Base& operator=(const CFull_Time_Base&);
  122.     // data
  123.     Uint4 m_set_State[1];
  124.     TYear m_Year;
  125.     TMonth m_Month;
  126.     TDay m_Day;
  127.     THour m_Hour;
  128.     TMinute m_Minute;
  129.     TSecond m_Second;
  130. };
  131. ///////////////////////////////////////////////////////////
  132. ///////////////////// inline methods //////////////////////
  133. ///////////////////////////////////////////////////////////
  134. inline
  135. bool CFull_Time_Base::IsSetYear(void) const
  136. {
  137.     return ((m_set_State[0] & 0x3) != 0);
  138. }
  139. inline
  140. bool CFull_Time_Base::CanGetYear(void) const
  141. {
  142.     return IsSetYear();
  143. }
  144. inline
  145. void CFull_Time_Base::ResetYear(void)
  146. {
  147.     m_Year = 0;
  148.     m_set_State[0] &= ~0x3;
  149. }
  150. inline
  151. int CFull_Time_Base::GetYear(void) const
  152. {
  153.     if (!CanGetYear()) {
  154.         ThrowUnassigned(0);
  155.     }
  156.     return m_Year;
  157. }
  158. inline
  159. void CFull_Time_Base::SetYear(const int& value)
  160. {
  161.     m_Year = value;
  162.     m_set_State[0] |= 0x3;
  163. }
  164. inline
  165. int& CFull_Time_Base::SetYear(void)
  166. {
  167. #ifdef _DEBUG
  168.     if (!IsSetYear()) {
  169.         memset(&m_Year,ms_UnassignedByte,sizeof(m_Year));
  170.     }
  171. #endif
  172.     m_set_State[0] |= 0x1;
  173.     return m_Year;
  174. }
  175. inline
  176. bool CFull_Time_Base::IsSetMonth(void) const
  177. {
  178.     return ((m_set_State[0] & 0xc) != 0);
  179. }
  180. inline
  181. bool CFull_Time_Base::CanGetMonth(void) const
  182. {
  183.     return IsSetMonth();
  184. }
  185. inline
  186. void CFull_Time_Base::ResetMonth(void)
  187. {
  188.     m_Month = 0;
  189.     m_set_State[0] &= ~0xc;
  190. }
  191. inline
  192. int CFull_Time_Base::GetMonth(void) const
  193. {
  194.     if (!CanGetMonth()) {
  195.         ThrowUnassigned(1);
  196.     }
  197.     return m_Month;
  198. }
  199. inline
  200. void CFull_Time_Base::SetMonth(const int& value)
  201. {
  202.     m_Month = value;
  203.     m_set_State[0] |= 0xc;
  204. }
  205. inline
  206. int& CFull_Time_Base::SetMonth(void)
  207. {
  208. #ifdef _DEBUG
  209.     if (!IsSetMonth()) {
  210.         memset(&m_Month,ms_UnassignedByte,sizeof(m_Month));
  211.     }
  212. #endif
  213.     m_set_State[0] |= 0x4;
  214.     return m_Month;
  215. }
  216. inline
  217. bool CFull_Time_Base::IsSetDay(void) const
  218. {
  219.     return ((m_set_State[0] & 0x30) != 0);
  220. }
  221. inline
  222. bool CFull_Time_Base::CanGetDay(void) const
  223. {
  224.     return IsSetDay();
  225. }
  226. inline
  227. void CFull_Time_Base::ResetDay(void)
  228. {
  229.     m_Day = 0;
  230.     m_set_State[0] &= ~0x30;
  231. }
  232. inline
  233. int CFull_Time_Base::GetDay(void) const
  234. {
  235.     if (!CanGetDay()) {
  236.         ThrowUnassigned(2);
  237.     }
  238.     return m_Day;
  239. }
  240. inline
  241. void CFull_Time_Base::SetDay(const int& value)
  242. {
  243.     m_Day = value;
  244.     m_set_State[0] |= 0x30;
  245. }
  246. inline
  247. int& CFull_Time_Base::SetDay(void)
  248. {
  249. #ifdef _DEBUG
  250.     if (!IsSetDay()) {
  251.         memset(&m_Day,ms_UnassignedByte,sizeof(m_Day));
  252.     }
  253. #endif
  254.     m_set_State[0] |= 0x10;
  255.     return m_Day;
  256. }
  257. inline
  258. bool CFull_Time_Base::IsSetHour(void) const
  259. {
  260.     return ((m_set_State[0] & 0xc0) != 0);
  261. }
  262. inline
  263. bool CFull_Time_Base::CanGetHour(void) const
  264. {
  265.     return IsSetHour();
  266. }
  267. inline
  268. void CFull_Time_Base::ResetHour(void)
  269. {
  270.     m_Hour = 0;
  271.     m_set_State[0] &= ~0xc0;
  272. }
  273. inline
  274. int CFull_Time_Base::GetHour(void) const
  275. {
  276.     if (!CanGetHour()) {
  277.         ThrowUnassigned(3);
  278.     }
  279.     return m_Hour;
  280. }
  281. inline
  282. void CFull_Time_Base::SetHour(const int& value)
  283. {
  284.     m_Hour = value;
  285.     m_set_State[0] |= 0xc0;
  286. }
  287. inline
  288. int& CFull_Time_Base::SetHour(void)
  289. {
  290. #ifdef _DEBUG
  291.     if (!IsSetHour()) {
  292.         memset(&m_Hour,ms_UnassignedByte,sizeof(m_Hour));
  293.     }
  294. #endif
  295.     m_set_State[0] |= 0x40;
  296.     return m_Hour;
  297. }
  298. inline
  299. bool CFull_Time_Base::IsSetMinute(void) const
  300. {
  301.     return ((m_set_State[0] & 0x300) != 0);
  302. }
  303. inline
  304. bool CFull_Time_Base::CanGetMinute(void) const
  305. {
  306.     return IsSetMinute();
  307. }
  308. inline
  309. void CFull_Time_Base::ResetMinute(void)
  310. {
  311.     m_Minute = 0;
  312.     m_set_State[0] &= ~0x300;
  313. }
  314. inline
  315. int CFull_Time_Base::GetMinute(void) const
  316. {
  317.     if (!CanGetMinute()) {
  318.         ThrowUnassigned(4);
  319.     }
  320.     return m_Minute;
  321. }
  322. inline
  323. void CFull_Time_Base::SetMinute(const int& value)
  324. {
  325.     m_Minute = value;
  326.     m_set_State[0] |= 0x300;
  327. }
  328. inline
  329. int& CFull_Time_Base::SetMinute(void)
  330. {
  331. #ifdef _DEBUG
  332.     if (!IsSetMinute()) {
  333.         memset(&m_Minute,ms_UnassignedByte,sizeof(m_Minute));
  334.     }
  335. #endif
  336.     m_set_State[0] |= 0x100;
  337.     return m_Minute;
  338. }
  339. inline
  340. bool CFull_Time_Base::IsSetSecond(void) const
  341. {
  342.     return ((m_set_State[0] & 0xc00) != 0);
  343. }
  344. inline
  345. bool CFull_Time_Base::CanGetSecond(void) const
  346. {
  347.     return IsSetSecond();
  348. }
  349. inline
  350. void CFull_Time_Base::ResetSecond(void)
  351. {
  352.     m_Second = 0;
  353.     m_set_State[0] &= ~0xc00;
  354. }
  355. inline
  356. int CFull_Time_Base::GetSecond(void) const
  357. {
  358.     if (!CanGetSecond()) {
  359.         ThrowUnassigned(5);
  360.     }
  361.     return m_Second;
  362. }
  363. inline
  364. void CFull_Time_Base::SetSecond(const int& value)
  365. {
  366.     m_Second = value;
  367.     m_set_State[0] |= 0xc00;
  368. }
  369. inline
  370. int& CFull_Time_Base::SetSecond(void)
  371. {
  372. #ifdef _DEBUG
  373.     if (!IsSetSecond()) {
  374.         memset(&m_Second,ms_UnassignedByte,sizeof(m_Second));
  375.     }
  376. #endif
  377.     m_set_State[0] |= 0x400;
  378.     return m_Second;
  379. }
  380. ///////////////////////////////////////////////////////////
  381. ////////////////// end of inline methods //////////////////
  382. ///////////////////////////////////////////////////////////
  383. #endif // FULL_TIME_BASE_HPP