3#include <NDEVR/BaseValues.h>
5#include <NDEVR/Buffer.h>
19 void DumpFields(
const char* szDestFileName,
const char** fields,
size_t numFields);
21 template<
class t_type>
27 for (
uint04 i = 0; i < columns.size(); ++i)
29 if (columns[i].archName == column)
32 final_offset = szRowSize - (row_skip_size + columns[i].uLength);
35 row_skip_size += columns[i].uLength;
40 clFile.seekg(m_data_start, std::ios_base::beg);
42 size_t uNumRecords = 0;
44 while (uNumRecords < stHeader.uNumRecords)
47 clFile.read(&deleted, 1);
50 clFile.seekg(szRowSize, std::ios_base::cur);
54 if (row_skip_size > 0)
56 clFile.seekg(row_skip_size, std::ios_base::cur);
59 s.
setSize(columns[index].uLength);
60 clFile.read(s.
begin(), columns[index].uLength);
65 clFile.seekg(final_offset, std::ios_base::cur);
76 char arcLastUpdate[3];
99 uint01 uDecimalPlaces;
108 const DbfRecord_s& rstRecord;
111 FieldInfo_s(
const DbfRecord_s& rec) :
118 std::ifstream clFile;
119 DbfHeader_s stHeader;
120 Buffer<DbfRecord_s> columns;
123 size_t szLargestFieldSize;
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
void add(t_type &&object)
Adds object to the end of the buffer.
Definition Buffer.hpp:186
void setSize(t_index_type new_size)
Definition Buffer.hpp:803
void ensureCapacity(t_index_type new_capacity, bool ensure_not_greater=false, bool ensure_not_less=true)
Definition Buffer.hpp:519
decltype(auto) begin()
Definition Buffer.hpp:402
Logic for reading or writing to a database file that uses the .dbf.
Definition DBFParser.h:15
void DumpFields(const char *szDestFileName, const char **fields, size_t numFields)
size_t recordCount() const
Definition DBFParser.h:20
void DumpAll(const char *szDestFileName)
DBFParser(const File &file)
Buffer< t_type > readColumn(const String &column)
Definition DBFParser.h:22
Logic for reading or writing to a file as well as navigating filesystems.
Definition File.h:48
The core String class for the NDEVR API.
Definition String.h:69
String & trimWhiteSpace()
Trims any white space (tabs, spaces, etc) from the beginning and end of the string.
t_type getAs() const
Converts a string into an object. To use this function an object must have overwritten StringStream<t...
Definition String.h:143
constexpr bool IsInvalid(const t_type &value)
Query if 'value' is valid or invalid. Invalid values should return invalid if used for calculations o...
Definition BaseFunctions.hpp:170
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:80
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
uint16_t uint02
-Defines an alias representing a 2 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:88
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
Definition BaseValues.hpp:233