Isis 3 Programmer Reference
TableRecord.h
1 #ifndef TableRecord_h
2 #define TableRecord_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include <vector>
11 #include "TableField.h"
12 
13 namespace Isis {
38  class TableRecord {
39  public:
40  TableRecord();
41  ~TableRecord();
42 
43 
44  static QString toString(TableRecord record, QString fieldDelimiter = ",", bool fieldNames = false, bool endLine = true);
45 
46  void operator+=(Isis::TableField &field);
47  TableField&operator [](const int field);
48  TableField &operator[](const QString &field);
49 
50  int Fields() const;
51  int RecordSize() const;
52 
53  void Pack(char *buf) const;
54  void Unpack(const char *buf);
55  void Swap(char *buf) const;
56 
57  private:
58  std::vector<TableField> p_fields;
60  };
61 };
62 
63 #endif
Isis::TableRecord::Pack
void Pack(char *buf) const
Writes record information into the binary buffer.
Definition: TableRecord.cpp:100
Isis::TableRecord::operator[]
TableField & operator[](const int field)
Returns the TableField at the specified location in the TableRecord.
Definition: TableRecord.cpp:45
Isis::TableRecord::Fields
int Fields() const
Returns the number of fields that are currently in the record.
Definition: TableRecord.cpp:78
Isis::TableRecord
Definition: TableRecord.h:38
Isis::TableRecord::p_fields
std::vector< TableField > p_fields
Vector of TableFields in the record.
Definition: TableRecord.h:58
Isis::TableRecord::~TableRecord
~TableRecord()
Destroys the TableRecord object.
Definition: TableRecord.cpp:25
Isis::TableRecord::RecordSize
int RecordSize() const
Returns the number of bytes per record.
Definition: TableRecord.cpp:87
Isis::TableRecord::TableRecord
TableRecord()
Constructs an empty TableRecord object. No member variables are set.
Definition: TableRecord.cpp:21
Isis::TableRecord::Unpack
void Unpack(const char *buf)
Reads record information from the binary buffer.
Definition: TableRecord.cpp:152
Isis::TableRecord::operator+=
void operator+=(Isis::TableField &field)
Adds a TableField to a TableRecord.
Definition: TableRecord.cpp:34
Isis::TableRecord::Swap
void Swap(char *buf) const
Swaps bytes of the buffer, depending on the TableField::Type.
Definition: TableRecord.cpp:168
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::TableField
Class for storing an Isis::Table's field information.
Definition: TableField.h:47