Vowpal Wabbit
comp_io.h
Go to the documentation of this file.
1 /*
2 Copyright (c) by respective owners including Yahoo!, Microsoft, and
3 individual contributors. All rights reserved. Released under a BSD
4 license as described in the file LICENSE.
5  */
6 #pragma once
7 #include "io_buf.h"
8 #include "v_array.h"
9 #include <vector>
10 #include <cstdio>
11 
12 #if (ZLIB_VERNUM < 0x1252)
13 typedef void* gzFile;
14 #else
15 struct gzFile_s;
16 typedef struct gzFile_s* gzFile;
17 #endif
18 
19 class comp_io_buf : public io_buf
20 {
21  public:
22  std::vector<gzFile> gz_files;
23 
24  int open_file(const char* name, bool stdin_off, int flag) override;
25 
26  void reset_file(int f) override;
27 
28  ssize_t read_file(int f, void* buf, size_t nbytes) override;
29 
30  size_t num_files() override;
31 
32  ssize_t write_file(int file, const void* buf, size_t nbytes) override;
33 
34  bool compressed() override;
35 
36  void flush() override;
37 
38  bool close_file() override;
39 };
int open_file(const char *name, bool stdin_off, int flag) override
Definition: comp_io.cc:5
ssize_t read_file(int f, void *buf, size_t nbytes) override
Definition: comp_io.cc:52
bool close_file() override
Definition: comp_io.cc:76
size_t num_files() override
Definition: comp_io.cc:59
ssize_t write_file(int file, const void *buf, size_t nbytes) override
Definition: comp_io.cc:61
void flush() override
Definition: comp_io.cc:69
Definition: io_buf.h:54
std::vector< gzFile > gz_files
Definition: comp_io.h:22
void reset_file(int f) override
Definition: comp_io.cc:44
bool compressed() override
Definition: comp_io.cc:67
void * gzFile
Definition: comp_io.h:13
float f
Definition: cache.cc:40