⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wyregfile.h

📁 一个不错
💻 H
字号:
/* Copyright is licensed under GNU LGPL.                 by I.J.Wang 2003   Documentation in file wyregfile.3wy*/#ifndef WYREGFILE_H__#define WYREGFILE_H__#define WYREGFILE_VERSION 31#include "wybyteflow.h"// This function may be cancellation point on different systems//off_t wyc_lseek(int fd, off_t offset, int whence);int wyc_ftruncate(int fd, off_t length);int wyc_mkstemp(char *temp);class WyRegFile;class WyChrFile;class WyTerminal;class WyFifoFile;class WySockFile;class WyRegFile : public WyByteFlow {    static Wy__FtBits cftbits(void) WY__NOTHROW__;    static const off_t DefaultPos=0;    off_t _pos;    // Hidden    const WyRegFile & operator =(const WyRegFile &);    bool operator==(const WyRegFile&) const;    bool operator!=(const WyRegFile&) const;    mode_t ftype(void) const WY__TSPC();    // Hidden    WyRet _fsync(void);    WyRet _fdatasync(void);    WyRet _tcdrain(void);    bool _isatty(void) const;    // Hidden (for compile time rule-out)    //WyRegFile(const WyRegFile&);    WyRegFile(const WyChrFile&);    WyRegFile(const WyTerminal&);    WyRegFile(const WyFifoFile&);    WyRegFile(const WySockFile&);    //WyRet reset(const WyRegFile&);    WyRet reset(const WyChrFile&);    WyRet reset(const WyTerminal&);    WyRet reset(const WyFifoFile&);    WyRet reset(const WySockFile&);  public:    static const char class_name[];    WY_THROW_REPLY;    WyRegFile();    explicit  // no implicit conversion    WyRegFile(WyFileHandle fh);    WyRegFile(const WySysFile& bf);    WyRegFile(const char* pathname,int f);    WyRegFile(const WyStr& pathname,int f);    WyRegFile(const WyRegFile& regf);    // [Move Constructor]    //    // Note: regf must be whole object except in initialization list    //    WyRegFile(WyRegFile& regf, Wy::ByMove_t) WY__TSPC();    virtual ~WyRegFile() {};    // [Derived]    //bool is_default(void) const WY__TSPC();    //WyFileHandle fh(void) const WY__TSPC();    //WyRet stat(WyFileStat& filestat) const;    // [Override]    virtual WyRet reset(void);    virtual WyRet reset(WyFileHandle fh);    virtual WyRet reset(const WySysFile& regf);    virtual WyRet reset(const char* pathname,int f);    virtual WyRet reset(const WyStr& pathname,int f);    // [Override]    virtual WyRet _swap(WySysFile& regf) WY__TSPC();    virtual WyRegFile* _alloc(WyRet&) const;    // [Override]    virtual WyRet read(void *buf, size_t count, size_t &n_read);    virtual WyRet read(WyStr& buf, size_t count, size_t &n_read);    // [Override]    virtual WyRet write(const void *, size_t, size_t&);    virtual WyRet write(WyCSeg, size_t&);    virtual WyRet write(const WyStr&, size_t&);    // [Add]    off_t pos(void) const;    virtual void set_pos(off_t ofst);    virtual WyRet seek_end(void);    virtual WyRet resize(off_t length);    // [Added]    virtual WyRet _read_till(void *buf, size_t count, size_t& n_read,char);    virtual WyRet _read_till(WyStr &buf,size_t count, size_t& n_read,char);    virtual WyRet fsync(void);    virtual WyRet fdatasync(void);    static WyRet create(WyRegFile&,const char*,int,mode_t);    static WyRet create(WyRegFile&,const WyStr&,int,mode_t);    static WyRet create_tmpfile(WyRegFile&,WyStr&);    static WyRet wy_pread(Wy__TypeFD fd, void *buf, size_t count, size_t& n_read, off_t pos);    static WyRet wy_max_pread(Wy__TypeFD fd, void *buf, size_t count, size_t& n_read, off_t pos);    static WyRet wy_pwrite(Wy__TypeFD fd, const void *buf, size_t count, size_t &n_written,off_t pos);};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -