mapgd  0.4
A program for the Maximum-likelihood analysis of population genomic data.
 All Data Structures Functions Variables Friends Groups Pages
key.h
1 /* basically column names in tables */
2 
3 #ifndef _KEY_H_
4 #define _KEY_H_
5 
6 #include <iostream>
7 #include <cfloat>
8 #include <iomanip>
9 #include <vector>
10 #include <string.h>
11 
12 #include "typedef.h"
13 #include "data.h"
14 #include "stream_tools.h"
15 
17 class Key : public virtual Data {
18 private:
19  void read(std::istream& str);
21  void write(std::ostream& str) const;
22  static const Registration registered;
23  static Data * create(const std::vector <std::string> & Columns){
24  return new Key(Columns);
25  };
26 public:
27  char delim;
28  char name[8];
29 
30  std::string description, type;
31 
32  Key();
33  Key(const std::vector <std::string> &) : Key(){};
34  Key(const std::string &, const float_t &);
35 
36  static const std::string file_name;
37  static const std::string table_name;
38  static const bool binary;
39 
40  std::string header(void) const;
41  size_t size(void) const;
42 
43  const std::string get_file_name(void) const;
44  const std::string get_table_name(void) const;
45  const bool get_binary(void) const;
46 
47  const std::string sql_header(void) const;
48  const std::string sql_column_names(void) const;
49  const std::string sql_values(void) const;
50 };
51 
52 #endif
static const bool binary
Destination table in Db.
Definition: key.h:38
void write(std::ostream &str) const
! the write function must be ? by the child class.
Definition: key.cc:37
const std::string sql_header(void) const
Destination table in Db.
Definition: key.cc:47
char delim
the delimiter used when reading/writing the class in text mode.
Definition: key.h:25
static const std::string table_name
Destination table in Db.
Definition: key.h:37
const std::string get_file_name(void) const
The dafualt extention for files.
Definition: key.cc:68
const std::string sql_column_names(void) const
Destination table in Db.
Definition: key.cc:51
const std::string sql_values(void) const
Destination table in Db.
Definition: key.cc:55
size_t size(void) const
The size of the class in bytes.
Definition: key.cc:62
void read(std::istream &str)
The read function must be defined in the child class.
Definition: key.cc:25
const bool get_binary(void) const
The dafualt extention for files.
Definition: key.cc:78
A key is (i.e. what the user called it).
Definition: key.h:17
A class which registers a child of Data in Data::new_data_.
Definition: data.h:222
static const std::string file_name
The dafualt extention for files.
Definition: key.h:36
A class which can be written as flat text file or into an SQL database.
Definition: data.h:34
const std::string get_table_name(void) const
The dafualt extention for files.
Definition: key.cc:73