include
ecl
streams
shared_file_stream.hpp
Go to the documentation of this file.
1
8
/*****************************************************************************
9
** Ifdefs
10
*****************************************************************************/
11
12
#ifndef ECL_STREAMS_SHARED_FILE_STREAMS_HPP_
13
#define ECL_STREAMS_SHARED_FILE_STREAMS_HPP_
14
15
/*****************************************************************************
16
** Includes
17
*****************************************************************************/
18
19
#include <string>
20
#include <
ecl/config/macros.hpp
>
21
#include <
ecl/exceptions/standard_exception.hpp
>
22
#include <
ecl/devices/shared_file.hpp
>
23
#include "
text_stream.hpp
"
24
#include "
macros.hpp
"
25
26
/*****************************************************************************
27
** Namespaces
28
*****************************************************************************/
29
30
namespace
ecl
{
31
32
/*****************************************************************************
33
** Interfaces [SharedFileStream]
34
*****************************************************************************/
43
class
ecl_streams_PUBLIC
SharedFileStream :
public
TextStream<SharedFile> {
44
public
:
51
SharedFileStream() {};
63
SharedFileStream(
const
std::string &file_name,
const
WriteMode
&mode =
New
) {
64
ecl_try
{
65
if
( !this->device().open(file_name, mode) ) {
66
error = this->device().error();
67
}
68
}
ecl_catch
(StandardException &e) {
69
ecl_throw
(StandardException(LOC,e));
70
}
71
}
72
virtual
~SharedFileStream() {};
73
};
74
75
}
// namespace ecl
76
77
78
#endif
/* ECL_STREAMS_SHARED_FILE_STREAMS_HPP_ */
WriteMode
WriteMode
ecl_try
#define ecl_try
ecl::New
New
macros.hpp
Macros for ecl streams.
ecl_streams_PUBLIC
#define ecl_streams_PUBLIC
Definition:
macros.hpp:37
standard_exception.hpp
ecl_catch
#define ecl_catch(exception)
ecl_throw
#define ecl_throw(exception)
text_stream.hpp
Convenience header for various text streams.
macros.hpp
shared_file.hpp
ecl
ecl_streams
Author(s): Daniel Stonier
autogenerated on Wed Mar 2 2022 00:16:48