Program Listing for File file_streams.hpp
↰ Return to documentation for file (include/ecl/streams/file_streams.hpp
)
/*****************************************************************************
** Ifdefs
*****************************************************************************/
#ifndef ECL_STREAMS_FILE_STREAM_HPP_
#define ECL_STREAMS_FILE_STREAM_HPP_
/*****************************************************************************
** Includes
*****************************************************************************/
#include <string>
#include <ecl/config/macros.hpp>
#include <ecl/devices/ofile.hpp>
#include <ecl/exceptions/standard_exception.hpp>
#include "text_stream.hpp"
/*****************************************************************************
** Namespaces
*****************************************************************************/
namespace ecl {
/*****************************************************************************
** Interfaces [OFileStream]
*****************************************************************************/
class ecl_streams_PUBLIC OFileStream : public TextStream<OFile> {
public:
OFileStream() {};
OFileStream(const std::string &file_name, const WriteMode &mode = New) {
ecl_try {
if( !this->device().open(file_name, mode) ) {
error = this->device().error();
}
} ecl_catch(StandardException &e) {
ecl_throw(StandardException(LOC,e));
}
}
virtual ~OFileStream() {};
};
} // namespace ecl
#endif /* ECL_STREAMS_FILE_STREAM_HPP_ */