summaryrefslogtreecommitdiffstats
path: root/fitsy++/card.h
diff options
context:
space:
mode:
Diffstat (limited to 'fitsy++/card.h')
-rw-r--r--fitsy++/card.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/fitsy++/card.h b/fitsy++/card.h
new file mode 100644
index 0000000..1838c69
--- /dev/null
+++ b/fitsy++/card.h
@@ -0,0 +1,71 @@
+// Copyright (C) 1999-2018
+// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
+// For conditions of distribution and use, see copyright notice in "copyright"
+
+#ifndef __fitscard_h__
+#define __fitscard_h__
+
+#define FTY_CARDLEN 80
+
+#include <string.h>
+
+#include <iostream>
+#include <sstream>
+#include <iomanip>
+using namespace std;
+
+class FitsCard {
+private:
+ char* card_;
+ int managed;
+ // only used to return pointer to internal string
+ static char buf_[FTY_CARDLEN];
+
+public:
+ FitsCard();
+ FitsCard(char*);
+ FitsCard(const FitsCard&);
+ ~FitsCard();
+ FitsCard& operator=(const FitsCard&);
+
+ char* card() {return card_;}
+
+ FitsCard& clear();
+
+ FitsCard& setKey(const char *name);
+
+ FitsCard& setLogical(const char* name, int value, const char* comment);
+ FitsCard& setLogical(int value, const char *comment)
+ {return setLogical(NULL, value, comment);}
+
+ FitsCard& setInteger(const char* name, int value, const char *comment);
+ FitsCard& setInteger(int value, const char *comment)
+ {return setInteger(NULL, value, comment);}
+
+ FitsCard& setReal(const char* name, double value, int prec, const char *comment);
+ FitsCard& setReal(double value, int prec, const char *comment)
+ {return setReal(NULL, value, prec, comment);}
+
+ FitsCard& setComplex(const char* name, double real, double img,
+ int prec, const char *comment);
+ FitsCard& setComplex(double real, double img, int prec, const char *comment)
+ {return setComplex(NULL, real, img, prec, comment);}
+
+ FitsCard& setString(const char* name, const char *value, const char *comm);
+ FitsCard& setString(const char *value, const char *comment)
+ {return setString(NULL, value, comment);}
+
+ FitsCard& setComment(const char* name, const char* value);
+ FitsCard& setComment(const char *value)
+ {return setComment(NULL, value);}
+
+ int getLogical();
+ int getInteger();
+ double getReal();
+ void getComplex(double*, double*);
+ char* getString();
+ char* getComment();
+ char* getKeyword();
+};
+
+#endif