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:
63  SharedFileStream(const std::string &file_name, const WriteMode &mode = New) ecl_throw_decl(StandardException) {
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_ */
Macros for ecl streams.
#define ecl_throw(exception)
Standard ecl throw exception throw.
#define ecl_throw_decl(exception)
Standard ecl throw exception declaration.
#define LOC
Stringify the line of code you are at.
Standard exception type, provides code location and error string.
Convenience class for SharedFile TextStream definitions.
Convenience header for various text streams.
A text streaming interface.
Definition: text_stream.hpp:94
SharedFileStream()
Default constructor, underlying device must be manually opened.
SharedFileStream(const std::string &file_name, const WriteMode &mode=New) ecl_throw_decl(StandardException)
Convenience constructor for shared file text streams.
#define ecl_catch(exception)
The catch part of a try-catch macro matching ecl_throw calls.
#define ecl_streams_PUBLIC
#define ecl_try
The try part of a try-catch macro matching ecl_throw calls.


xbot_driver
Author(s): Roc, wangpeng@droid.ac.cn
autogenerated on Sat Oct 10 2020 03:27:38