00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00039 #ifndef _CPP_BASIC_FILE
00040 #define _CPP_BASIC_FILE 1
00041 
00042 #pragma GCC system_header
00043 
00044 #include <bits/c++config.h>
00045 #include <ios>
00046 
00047 namespace std 
00048 {
00049   
00050   template<typename _CharT>
00051     class __basic_file; 
00052 
00053   
00054   template<>
00055     class __basic_file<char>
00056     {
00057       
00058       __c_file*     _M_cfile;
00059       
00060       bool      _M_cfile_created;
00061 
00062     public:
00063       __basic_file(__c_lock* __lock = 0);
00064       
00065       void 
00066       _M_open_mode(ios_base::openmode __mode, int& __p_mode, int& __rw_mode, 
00067            char* __c_mode);
00068       
00069       __basic_file* 
00070       open(const char* __name, ios_base::openmode __mode, int __prot = 0664);
00071 
00072       __basic_file*
00073       sys_open(__c_file* __file, ios_base::openmode);
00074 
00075       __basic_file*
00076       sys_open(int __fd, ios_base::openmode __mode, bool __del);
00077 
00078       int
00079       sys_getc();
00080 
00081       int
00082       sys_ungetc(int);
00083 
00084       __basic_file* 
00085       close(); 
00086 
00087       bool 
00088       is_open() const;
00089 
00090       int 
00091       fd();
00092 
00093       ~__basic_file();
00094 
00095       streamsize 
00096       xsputn(const char* __s, streamsize __n);
00097 
00098       streamsize 
00099       xsgetn(char* __s, streamsize __n);
00100 
00101       streamoff
00102       seekoff(streamoff __off, ios_base::seekdir __way,
00103           ios_base::openmode __mode = ios_base::in | ios_base::out);
00104 
00105       streamoff
00106       seekpos(streamoff __pos, 
00107           ios_base::openmode __mode = ios_base::in | ios_base::out);
00108 
00109       int 
00110       sync();
00111     };
00112 }  
00113 
00114 #endif  // _CPP_BASIC_FILE