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

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: seq_graph_handle.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2004/06/01 19:25:47  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.1
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #ifndef SEQ_GRAPH_HANDLE__HPP
  10. #define SEQ_GRAPH_HANDLE__HPP
  11. /*  $Id: seq_graph_handle.hpp,v 1000.0 2004/06/01 19:25:47 gouriano Exp $
  12. * ===========================================================================
  13. *
  14. *                            PUBLIC DOMAIN NOTICE
  15. *               National Center for Biotechnology Information
  16. *
  17. *  This software/database is a "United States Government Work" under the
  18. *  terms of the United States Copyright Act.  It was written as part of
  19. *  the author's official duties as a United States Government employee and
  20. *  thus cannot be copyrighted.  This software/database is freely available
  21. *  to the public for use. The National Library of Medicine and the U.S.
  22. *  Government have not placed any restriction on its use or reproduction.
  23. *
  24. *  Although all reasonable efforts have been taken to ensure the accuracy
  25. *  and reliability of the software and data, the NLM and the U.S.
  26. *  Government do not and cannot warrant the performance or results that
  27. *  may be obtained by using this software or data. The NLM and the U.S.
  28. *  Government disclaim all warranties, express or implied, including
  29. *  warranties of performance, merchantability or fitness for any particular
  30. *  purpose.
  31. *
  32. *  Please cite the author in any work or product based on this material.
  33. *
  34. * ===========================================================================
  35. *
  36. * Author: Aleksey Grichenko, Eugene Vasilchenko
  37. *
  38. * File Description:
  39. *   Seq-graph handle
  40. *
  41. */
  42. #include <corelib/ncbiobj.hpp>
  43. #include <objmgr/impl/heap_scope.hpp>
  44. #include <objects/seqres/Seq_graph.hpp>
  45. #include <objmgr/impl/seq_annot_info.hpp>
  46. BEGIN_NCBI_SCOPE
  47. BEGIN_SCOPE(objects)
  48. class CScope;
  49. class CSeq_annot_Handle;
  50. class CSeq_graph_Handle
  51. {
  52. public:
  53.     CSeq_graph_Handle(void);
  54.     CSeq_graph_Handle(CScope& scope,
  55.                       const CSeq_annot_Info& annot_info,
  56.                       size_t index);
  57.     ~CSeq_graph_Handle(void);
  58.     CSeq_annot_Handle GetAnnot(void) const;
  59.     CConstRef<CSeq_graph> GetSeq_graph(void) const;
  60.     // Mappings for CSeq_graph methods
  61.     bool IsSetTitle(void) const;
  62.     const string& GetTitle(void) const;
  63.     bool IsSetComment(void) const;
  64.     const string& GetComment(void) const;
  65.     const CSeq_loc& GetLoc(void) const;
  66.     bool IsSetTitle_x(void) const;
  67.     const string& GetTitle_x(void) const;
  68.     bool IsSetTitle_y(void) const;
  69.     const string& GetTitle_y(void) const;
  70.     bool IsSetComp(void) const;
  71.     TSeqPos GetComp(void) const;
  72.     bool IsSetA(void) const;
  73.     double GetA(void) const;
  74.     bool IsSetB(void) const;
  75.     double GetB(void) const;
  76.     TSeqPos GetNumval(void) const;
  77.     const CSeq_graph::TGraph& GetGraph(void) const;
  78. private:
  79.     const CSeq_graph& x_GetSeq_graph(void) const;
  80.     CHeapScope                 m_Scope;
  81.     CConstRef<CSeq_annot_Info> m_Annot;
  82.     size_t                     m_Index;
  83. };
  84. inline
  85. bool CSeq_graph_Handle::IsSetTitle(void) const
  86. {
  87.     return x_GetSeq_graph().IsSetTitle();
  88. }
  89. inline
  90. const string& CSeq_graph_Handle::GetTitle(void) const
  91. {
  92.     return x_GetSeq_graph().GetTitle();
  93. }
  94. inline
  95. bool CSeq_graph_Handle::IsSetComment(void) const
  96. {
  97.     return x_GetSeq_graph().IsSetComment();
  98. }
  99. inline
  100. const string& CSeq_graph_Handle::GetComment(void) const
  101. {
  102.     return x_GetSeq_graph().GetComment();
  103. }
  104. inline
  105. const CSeq_loc& CSeq_graph_Handle::GetLoc(void) const
  106. {
  107.     return x_GetSeq_graph().GetLoc();
  108. }
  109. inline
  110. bool CSeq_graph_Handle::IsSetTitle_x(void) const
  111. {
  112.     return x_GetSeq_graph().IsSetTitle_x();
  113. }
  114. inline
  115. const string& CSeq_graph_Handle::GetTitle_x(void) const
  116. {
  117.     return x_GetSeq_graph().GetTitle_x();
  118. }
  119. inline
  120. bool CSeq_graph_Handle::IsSetTitle_y(void) const
  121. {
  122.     return x_GetSeq_graph().IsSetTitle_y();
  123. }
  124. inline
  125. const string& CSeq_graph_Handle::GetTitle_y(void) const
  126. {
  127.     return x_GetSeq_graph().GetTitle_y();
  128. }
  129. inline
  130. bool CSeq_graph_Handle::IsSetComp(void) const
  131. {
  132.     return x_GetSeq_graph().IsSetComp();
  133. }
  134. inline
  135. TSeqPos CSeq_graph_Handle::GetComp(void) const
  136. {
  137.     return x_GetSeq_graph().GetComp();
  138. }
  139. inline
  140. bool CSeq_graph_Handle::IsSetA(void) const
  141. {
  142.     return x_GetSeq_graph().IsSetA();
  143. }
  144. inline
  145. double CSeq_graph_Handle::GetA(void) const
  146. {
  147.     return x_GetSeq_graph().GetA();
  148. }
  149. inline
  150. bool CSeq_graph_Handle::IsSetB(void) const
  151. {
  152.     return x_GetSeq_graph().IsSetB();
  153. }
  154. inline
  155. double CSeq_graph_Handle::GetB(void) const
  156. {
  157.     return x_GetSeq_graph().GetB();
  158. }
  159. inline
  160. TSeqPos CSeq_graph_Handle::GetNumval(void) const
  161. {
  162.     return x_GetSeq_graph().GetNumval();
  163. }
  164. inline
  165. const CSeq_graph::TGraph& CSeq_graph_Handle::GetGraph(void) const
  166. {
  167.     return x_GetSeq_graph().GetGraph();
  168. }
  169. END_SCOPE(objects)
  170. END_NCBI_SCOPE
  171. /*
  172. * ---------------------------------------------------------------------------
  173. * $Log: seq_graph_handle.hpp,v $
  174. * Revision 1000.0  2004/06/01 19:25:47  gouriano
  175. * PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.1
  176. *
  177. * Revision 1.1  2004/05/04 18:06:06  grichenk
  178. * Initial revision
  179. *
  180. *
  181. * ===========================================================================
  182. */
  183. #endif  // SEQ_GRAPH_HANDLE__HPP