eminem
Parse Matrix Market files in C++
Loading...
Searching...
No Matches
from_gzip.hpp
1#ifndef EMINEM_FROM_GZIP_HPP
2#define EMINEM_FROM_GZIP_HPP
3
4#include "Parser.hpp"
5#include "byteme/GzipFileReader.hpp"
6#include "byteme/ZlibBufferReader.hpp"
7#include "byteme/SomeFileReader.hpp"
8#include "byteme/SomeBufferReader.hpp"
9#include <memory>
10
16namespace eminem {
17
23template<bool parallel_ = false>
24struct GzipFileParser : public Parser<parallel_, std::unique_ptr<byteme::GzipFileReader> > {
25public:
30 GzipFileParser(const char* path, size_t buffer_size = 65536) :
31 Parser<parallel_, std::unique_ptr<byteme::GzipFileReader> >(std::make_unique<byteme::GzipFileReader>(path, buffer_size)) {}
32};
33
39template<bool parallel_ = false>
40struct ZlibBufferParser : public Parser<parallel_, std::unique_ptr<byteme::ZlibBufferReader> > {
41public:
48 ZlibBufferParser(const unsigned char* buffer, size_t len, int mode = 3, size_t buffer_size = 65536) :
49 Parser<parallel_, std::unique_ptr<byteme::ZlibBufferReader> >(std::make_unique<byteme::ZlibBufferReader>(buffer, len, mode, buffer_size)) {}
50};
51
57template<bool parallel_ = false>
58struct SomeFileParser : public Parser<parallel_, std::unique_ptr<byteme::SomeFileReader> > {
59public:
64 SomeFileParser(const char* path, size_t buffer_size = 65536) :
65 Parser<parallel_, std::unique_ptr<byteme::SomeFileReader> >(std::make_unique<byteme::SomeFileReader>(path, buffer_size)) {}
66};
67
73template<bool parallel_ = false>
74struct SomeBufferParser : public Parser<parallel_, std::unique_ptr<byteme::SomeBufferReader> > {
75public:
81 SomeBufferParser(const unsigned char* buffer, size_t len, size_t buffer_size = 65536) :
82 Parser<parallel_, std::unique_ptr<byteme::SomeBufferReader> >(std::make_unique<byteme::SomeBufferReader>(buffer, len, buffer_size)) {}
83};
84
85}
86
87#endif
Parse a matrix from a Matrix Market file.
Parse a matrix from a Matrix Market file.
Definition: Parser.hpp:29
Classes and methods for parsing Matrix Market files.
Parse a Gzip-compressed Matrix Market file.
Definition: from_gzip.hpp:24
GzipFileParser(const char *path, size_t buffer_size=65536)
Definition: from_gzip.hpp:30
Parse a (possibly Zlib-compressed) Matrix Market buffer.
Definition: from_gzip.hpp:74
SomeBufferParser(const unsigned char *buffer, size_t len, size_t buffer_size=65536)
Definition: from_gzip.hpp:81
Parse a (possibly Gzip-compressed) Matrix Market file.
Definition: from_gzip.hpp:58
SomeFileParser(const char *path, size_t buffer_size=65536)
Definition: from_gzip.hpp:64
Parse a Zlib-compressed Matrix Market buffer.
Definition: from_gzip.hpp:40
ZlibBufferParser(const unsigned char *buffer, size_t len, int mode=3, size_t buffer_size=65536)
Definition: from_gzip.hpp:48