lean cpp library
A lean C++ library providing efficient utility classes for high-performance C++ applications.
|
00001 /*****************************************************/ 00002 /* lean I/O (c) Tobias Zirr 2011 */ 00003 /*****************************************************/ 00004 00005 #ifndef LEAN_LOGGING_IO_RAW_FILE 00006 #define LEAN_LOGGING_IO_RAW_FILE 00007 00008 #include "../lean.h" 00009 #include "../strings/types.h" 00010 #include "file.h" 00011 00012 namespace lean 00013 { 00014 namespace io 00015 { 00016 00018 class raw_file : public file 00019 { 00020 public: 00022 LEAN_MAYBE_EXPORT explicit raw_file(const utf8_ntri &name, 00023 uint4 access = file::read | file::write, open_mode mode = file::open, 00024 uint4 hints = file::none, uint4 share = file::share_default); 00026 LEAN_MAYBE_EXPORT ~raw_file(); 00027 00029 LEAN_MAYBE_EXPORT size_t read(char *begin, size_t count) const; 00031 LEAN_MAYBE_EXPORT size_t write(const char *begin, size_t count); 00032 00034 LEAN_MAYBE_EXPORT size_t print(const char_ntri &message); 00035 }; 00036 00037 } // namespace 00038 00039 using io::raw_file; 00040 00041 } // namespace 00042 00043 #ifdef LEAN_INCLUDE_INLINED 00044 #include "source/raw_file.cpp" 00045 #endif 00046 00047 #endif