OpenEV
Extending OpenCV to event-based vision
Loading...
Searching...
No Matches
plain-text-reader.hpp
Go to the documentation of this file.
1
6#ifndef OPENEV_READERS_PLAIN_TEXT_READER_HPP
7#define OPENEV_READERS_PLAIN_TEXT_READER_HPP
8
9#include "openev/readers/abstract-reader.hpp"
10#include <cstddef>
11#include <fstream>
12#include <stdint.h>
13#include <string>
14
15namespace ev {
16constexpr bool USING_PLAIN_TEXT_READER_HPP = true;
17
18enum PlainTextReaderColumns : uint8_t {
19 TXYP,
20 XYTP,
21 PTXY,
22 PXYT
23};
24
28class PlainTextReader : public AbstractReader_ {
29public:
30 explicit PlainTextReader(const std::string &filename, const PlainTextReaderColumns columns = PlainTextReaderColumns::TXYP, const std::string &separator = " ", const std::size_t buffer_size = 0, const bool use_threading = false);
31 ~PlainTextReader();
32
34 PlainTextReader(const PlainTextReader &) = delete;
35 PlainTextReader(PlainTextReader &&) noexcept = delete;
36 PlainTextReader &operator=(const PlainTextReader &) = delete;
37 PlainTextReader &operator=(PlainTextReader &&) noexcept = delete;
39
40private:
41 std::fstream file_;
42 PlainTextReaderColumns columns_;
43 char sep_char_; // non-zero when separator is a single non-space char
44 std::string sep_str_; // non-empty when separator is multi-char
45
46 bool updateBuffer_() override;
47};
48
49} // namespace ev
50
51#endif // OPENEV_READERS_PLAIN_TEXT_READER_HPP
AbstractReader_(const std::size_t buffer_size, const bool use_threading)
Constructor for AbstractReader_.
Definition abstract-reader.cpp:8