- /*
- * ===========================================================================
- * PRODUCTION $Log: Item_Set_.hpp,v $
- * PRODUCTION Revision 1000.1 2004/04/12 17:19:40 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.5
- * PRODUCTION
- * ===========================================================================
- */
- /* $Id: Item_Set_.hpp,v 1000.1 2004/04/12 17:19:40 gouriano Exp $
- * ===========================================================================
- *
- * 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 Description:
- * This code is generated by application DATATOOL
- * using specifications from the data definition file
- * 'twebenv.asn'.
- *
- * ATTENTION:
- * Don't edit or check-in this file to the CVS as this file will
- * be overridden (by DATATOOL) without warning!
- * ===========================================================================
- */
- #ifndef ITEM_SET_BASE_HPP
- #define ITEM_SET_BASE_HPP
- // standard includes
- #include <serial/serialbase.hpp>
- // generated includes
- #include <vector>
- // generated classes
- class CItem_Set_Base : public ncbi::CSerialObject
- {
- typedef ncbi::CSerialObject Tparent;
- public:
- // constructor
- CItem_Set_Base(void);
- // destructor
- virtual ~CItem_Set_Base(void);
- // type info
- DECLARE_INTERNAL_TYPE_INFO();
- // types
- typedef std::vector< char > TItems;
- typedef int TCount;
- // getters
- // setters
- // mandatory
- // typedef std::vector< char > TItems
- bool IsSetItems(void) const;
- bool CanGetItems(void) const;
- void ResetItems(void);
- const TItems& GetItems(void) const;
- TItems& SetItems(void);
- // mandatory
- // typedef int TCount
- bool IsSetCount(void) const;
- bool CanGetCount(void) const;
- void ResetCount(void);
- TCount GetCount(void) const;
- void SetCount(const TCount& value);
- TCount& SetCount(void);
- // reset whole object
- virtual void Reset(void);
- private:
- // Prohibit copy constructor and assignment operator
- CItem_Set_Base(const CItem_Set_Base&);
- CItem_Set_Base& operator=(const CItem_Set_Base&);
- // data
- Uint4 m_set_State[1];
- TItems m_Items;
- TCount m_Count;
- };
- ///////////////////////////////////////////////////////////
- ///////////////////// inline methods //////////////////////
- ///////////////////////////////////////////////////////////
- inline
- bool CItem_Set_Base::IsSetItems(void) const
- {
- return ((m_set_State[0] & 0x3) != 0);
- }
- inline
- bool CItem_Set_Base::CanGetItems(void) const
- {
- return IsSetItems();
- }
- inline
- const std::vector< char >& CItem_Set_Base::GetItems(void) const
- {
- if (!CanGetItems()) {
- ThrowUnassigned(0);
- }
- return m_Items;
- }
- inline
- std::vector< char >& CItem_Set_Base::SetItems(void)
- {
- m_set_State[0] |= 0x1;
- return m_Items;
- }
- inline
- bool CItem_Set_Base::IsSetCount(void) const
- {
- return ((m_set_State[0] & 0xc) != 0);
- }
- inline
- bool CItem_Set_Base::CanGetCount(void) const
- {
- return IsSetCount();
- }
- inline
- void CItem_Set_Base::ResetCount(void)
- {
- m_Count = 0;
- m_set_State[0] &= ~0xc;
- }
- inline
- int CItem_Set_Base::GetCount(void) const
- {
- if (!CanGetCount()) {
- ThrowUnassigned(1);
- }
- return m_Count;
- }
- inline
- void CItem_Set_Base::SetCount(const int& value)
- {
- m_Count = value;
- m_set_State[0] |= 0xc;
- }
- inline
- int& CItem_Set_Base::SetCount(void)
- {
- #ifdef _DEBUG
- if (!IsSetCount()) {
- memset(&m_Count,ms_UnassignedByte,sizeof(m_Count));
- }
- #endif
- m_set_State[0] |= 0x4;
- return m_Count;
- }
- ///////////////////////////////////////////////////////////
- ////////////////// end of inline methods //////////////////
- ///////////////////////////////////////////////////////////
- #endif // ITEM_SET_BASE_HPP