📄 wydirent.cpp
字号:
/* Copyright is licensed under GNU LGPL. by I.J.Wang 2003*/#define WYLIB_SOURCE#include "wydirent.h"#include <cstring> // for memcmpconst char WyDirEnt::class_name[]="WyDirEnt";WyDirEnt::WyDirEnt() WY__TSPC(){ _ent.d_ino=0; _ent.d_off=0; _ent.d_reclen=0; _ent.d_name[0]=0;};WyDirEnt::WyDirEnt(const WyDirEnt& src) WY__TSPC(){ _ent=src._ent;};WyDirEnt::WyDirEnt(WyDirEnt& src, Wy::ByMove_t) WY__TSPC(){ _ent=src._ent;};WyDirEnt::WyDirEnt(const struct dirent& dt) WY__TSPC(){ // self-copy ok std::memcpy(&_ent,&dt,sizeof(_ent));};bool WyDirEnt::is_default() const WY__TSPC(){ if((_ent.d_ino!=0)|| (_ent.d_off!=0)|| (_ent.d_reclen!=0)|| (_ent.d_name[0]!=0)) { return(false); } return(true);};void WyDirEnt::reset() WY__TSPC(){ _ent.d_ino=0; _ent.d_off=0; _ent.d_reclen=0; _ent.d_name[0]=0;};void WyDirEnt::reset(const WyDirEnt &src) WY__TSPC(){ _ent=src._ent;};void WyDirEnt::swap(WyDirEnt& src) WY__TSPC(){ Wy__Base::memswp(&_ent,&src._ent,sizeof(_ent));};long WyDirEnt::dt_ino(void) const WY__TSPC(){ return _ent.d_ino;};off_t WyDirEnt::dt_off(void) const WY__TSPC(){ return _ent.d_off;};size_t WyDirEnt::dt_reclen(void) const WY__TSPC(){ return _ent.d_reclen;};const char* WyDirEnt::dt_name(void) const WY__TSPC(){ // man (3)readdir indicates d_name is zero terminated but not counted return(_ent.d_name); };const WyDirEnt& WyDirEnt::operator =(const WyDirEnt &rhs) WY__TSPC(){ _ent=rhs._ent; return(*this); };bool WyDirEnt::operator ==(const WyDirEnt& rhs) const WY__TSPC(){ if((_ent.d_ino!=rhs._ent.d_ino)|| (_ent.d_off!=rhs._ent.d_off)|| (_ent.d_reclen!=rhs._ent.d_reclen)) { return(false); } return std::memcmp(_ent.d_name,rhs._ent.d_name,_ent.d_reclen)==0;};bool WyDirEnt::operator !=(const WyDirEnt& rhs) const WY__TSPC(){ return !(this->operator==(rhs));};struct ::dirent* WyDirEnt::wy_dent_ptr(void) WY__NOTHROW__{ return &_ent;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -