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

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: bdb_filedump.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/29 19:43:56  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.3
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #ifndef BDB_FILEDUMP__HPP
  10. #define BDB_FILEDUMP__HPP
  11. /* $Id: bdb_filedump.hpp,v 1000.0 2003/10/29 19:43:56 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:  Anatoliy Kuznetsov
  37.  *   
  38.  * File Description: Dumper for BDB files into text format.
  39.  *
  40.  */
  41. /// @file bdb_filedump.hpp
  42. /// BDB File covertion into text.
  43. BEGIN_NCBI_SCOPE
  44. /** @addtogroup BDB_Files
  45.  *
  46.  * @{
  47.  */
  48. class CBDB_File;
  49. /// Utility class to convert DBD files into text files. 
  50. ///
  51. class NCBI_BDB_EXPORT CBDB_FileDumper
  52. {
  53. public:
  54.     /// Constructor.
  55.     /// @param col_separator
  56.     ///    Column separator
  57.     CBDB_FileDumper(const string& col_separator = "t");
  58.     CBDB_FileDumper(const CBDB_FileDumper& fdump);
  59.     CBDB_FileDumper& operator=(const CBDB_FileDumper& fdump);
  60.     void SetColumnSeparator(const string& col_separator);
  61.     enum EPrintFieldNames
  62.     {
  63.         ePrintNames,
  64.         eDropNames
  65.     };
  66.     void SetColumnNames(EPrintFieldNames print_names);
  67.     /// Convert BDB file into text file
  68.     void Dump(const string& dump_file_name, CBDB_File& db);
  69.     /// Convert BDB file into text and write it into the specified stream
  70.     void Dump(CNcbiOstream& out, CBDB_File& db);
  71. protected:
  72.     string               m_ColumnSeparator;
  73.     EPrintFieldNames     m_PrintNames;
  74. }; 
  75. /* @} */
  76. inline
  77. CBDB_FileDumper::CBDB_FileDumper(const string& col_separator)
  78. : m_ColumnSeparator(col_separator),
  79.   m_PrintNames(ePrintNames) 
  80. {
  81. }
  82. inline
  83. CBDB_FileDumper::CBDB_FileDumper(const CBDB_FileDumper& fdump)
  84. : m_ColumnSeparator(fdump.m_ColumnSeparator)
  85. {
  86. }
  87. inline
  88. CBDB_FileDumper& CBDB_FileDumper::operator=(const CBDB_FileDumper& fdump)
  89. {
  90.     m_ColumnSeparator = fdump.m_ColumnSeparator;
  91.     return *this;
  92. }
  93. inline
  94. void CBDB_FileDumper::SetColumnSeparator(const string& col_separator)
  95. {
  96.     m_ColumnSeparator = col_separator;
  97. }
  98. inline
  99. void CBDB_FileDumper::SetColumnNames(EPrintFieldNames print_names)
  100. {
  101.     m_PrintNames = print_names;
  102. }
  103. END_NCBI_SCOPE
  104. /*
  105.  * ===========================================================================
  106.  * $Log: bdb_filedump.hpp,v $
  107.  * Revision 1000.0  2003/10/29 19:43:56  gouriano
  108.  * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.3
  109.  *
  110.  * Revision 1.3  2003/10/28 14:56:51  kuznets
  111.  * Added option to print field names when dumping the data
  112.  *
  113.  * Revision 1.2  2003/10/27 14:27:07  kuznets
  114.  * Minor compilation bug fixed.
  115.  *
  116.  * Revision 1.1  2003/10/27 14:17:57  kuznets
  117.  * Initial revision
  118.  *
  119.  *
  120.  * ===========================================================================
  121.  */
  122. #endif