CCfits  2.4
AsciiTable.h
00001 //      Astrophysics Science Division,
00002 //      NASA/ Goddard Space Flight Center
00003 //      HEASARC
00004 //      http://heasarc.gsfc.nasa.gov
00005 //      e-mail: ccfits@legacy.gsfc.nasa.gov
00006 //
00007 //      Original author: Ben Dorman
00008 
00009 #ifndef ASCIITABLE_H
00010 #define ASCIITABLE_H 1
00011 
00012 // HDUCreator
00013 #include "HDUCreator.h"
00014 // Table
00015 #include "Table.h"
00016 // needed for CLONE_DEFECT
00017 #ifdef _MSC_VER
00018 #include "MSconfig.h"
00019 #endif
00020 
00021 
00022 namespace CCfits {
00023 
00136   class AsciiTable : public Table  //## Inherits: <unnamed>%3804A75CE420
00137   {
00138 
00139     public:
00140         virtual AsciiTable * clone (FITSBase* p) const;
00141         virtual void readData (bool readFlag = false, const std::vector<String>& keys = std::vector<String>());
00142         virtual void addColumn (ValueType type, const String& columnName, long repeatWidth, const String& colUnit = String(""), long decimals = 0, size_t columnNumber = 0);
00143 
00144       // Additional Public Declarations
00145 
00146     protected:
00147         AsciiTable (FITSBase* p, const String &hduName = String(""), bool readFlag = false, const std::vector<String>& keys = std::vector<String>(), int version = 1);
00148         AsciiTable (FITSBase* p, const String &hduName, int rows, const std::vector<String>& columnName = std::vector<String>(), const std::vector<String>& columnFmt = std::vector<String>(), const std::vector<String>& columnUnit = std::vector<String>(), int version = 1);
00149         //      ExtHDU constructor for getting ExtHDUs by number.
00150         //      Necessary since EXTNAME is a reserved not required
00151         //      keyword.
00152         AsciiTable (FITSBase* p, int number);
00153         ~AsciiTable();
00154 
00155       // Additional Protected Declarations
00156 
00157     private:
00158         AsciiTable(const AsciiTable &right);
00159 
00160         virtual void readTableHeader (int ncols, std::vector<String>& colName, std::vector<String>& colFmt, std::vector<String>& colUnit);
00161 
00162       // Additional Private Declarations
00163 
00164     private: //## implementation
00165       // Additional Implementation Declarations
00166       friend class HDUCreator;
00167   };
00168 
00169   // Class CCfits::AsciiTable 
00170 
00171 } // namespace CCfits
00172 
00173 
00174 #endif