CoinUtils
2.9.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
CoinUtils
src
CoinFileIO.hpp
Go to the documentation of this file.
1
/* $Id: CoinFileIO.hpp 1439 2011-06-13 16:31:21Z stefan $ */
2
// Copyright (C) 2005, COIN-OR. All Rights Reserved.
3
// This code is licensed under the terms of the Eclipse Public License (EPL).
4
5
#ifndef CoinFileIO_H
6
#define CoinFileIO_H
7
8
#include <string>
9
11
class
CoinFileIOBase
12
{
13
public
:
16
CoinFileIOBase
(
const
std::string &fileName);
17
19
~CoinFileIOBase
();
20
22
const
char
*
getFileName
()
const
;
23
25
inline
std::string
getReadType
()
const
26
{
return
readType_
.c_str();}
27
protected
:
28
std::string
readType_
;
29
private
:
30
CoinFileIOBase
();
31
CoinFileIOBase
(
const
CoinFileIOBase
&);
32
33
std::string
fileName_
;
34
};
35
37
class
CoinFileInput
:
public
CoinFileIOBase
38
{
39
public
:
41
static
bool
haveGzipSupport
();
43
static
bool
haveBzip2Support
();
44
52
static
CoinFileInput
*
create
(
const
std::string &fileName);
53
56
CoinFileInput
(
const
std::string &fileName);
57
59
virtual
~CoinFileInput
();
60
65
virtual
int
read
(
void
*buffer,
int
size) = 0;
66
76
virtual
char
*
gets
(
char
*buffer,
int
size) = 0;
77
};
78
80
class
CoinFileOutput
:
public
CoinFileIOBase
81
{
82
public
:
83
85
enum
Compression
{
86
COMPRESS_NONE
= 0,
87
COMPRESS_GZIP
= 1,
88
COMPRESS_BZIP2
= 2
89
};
90
93
static
bool
compressionSupported
(
Compression
compression);
94
105
static
CoinFileOutput
*
create
(
const
std::string &fileName,
106
Compression
compression);
107
110
CoinFileOutput
(
const
std::string &fileName);
111
113
virtual
~CoinFileOutput
();
114
119
virtual
int
write
(
const
void
* buffer,
int
size) = 0;
120
128
virtual
bool
puts
(
const
char
*s);
129
131
inline
bool
puts
(
const
std::string &s)
132
{
133
return
puts
(s.c_str ());
134
}
135
};
136
144
bool
fileAbsPath
(
const
std::string &path) ;
145
164
bool
fileCoinReadable
(std::string &name,
165
const
std::string &dfltPrefix = std::string(
""
));
166
#endif
Generated by
1.8.3.1