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
00034
00035
00036
00037
00038
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 streamsize
00113 showmanyc_helper();
00114 };
00115 }
00116
00117 #endif // _CPP_BASIC_FILE