SeekOrigin由enum改为enum class
This commit is contained in:
parent
5b55c34334
commit
557bd3d734
@ -56,7 +56,7 @@ namespace hgl
|
||||
return(in?in->ReadFully(buf,size):-1);
|
||||
}
|
||||
|
||||
virtual int64 Seek(int64 offset,SeekOrigin so=soBegin)
|
||||
virtual int64 Seek(int64 offset,SeekOrigin so=SeekOrigin::Begin)
|
||||
{
|
||||
return(in?in->Seek(offset,so):-1);
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ namespace hgl
|
||||
return(out?out->WriteFully(buf,size):-1);
|
||||
}
|
||||
|
||||
virtual int64 Seek(int64 offset,SeekOrigin so=soBegin)
|
||||
virtual int64 Seek(int64 offset,SeekOrigin so=SeekOrigin::Begin)
|
||||
{
|
||||
return(out?out->Seek(offset,so):-1);
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ namespace hgl
|
||||
virtual bool CanRestart()const{return CanSeek();} ///<文件是否可复位访问
|
||||
virtual bool CanSize()const{return(true);} ///<文件是否可取得长度
|
||||
|
||||
virtual int64 Seek(int64,SeekOrigin=soBegin); ///<定位访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin); ///<定位访问指针
|
||||
virtual int64 Tell()const; ///<取得访问指针位置
|
||||
virtual int64 GetSize(); ///<取得文件长度
|
||||
virtual bool Restart(); ///<复位访问指针
|
||||
|
@ -39,7 +39,7 @@ namespace hgl
|
||||
virtual int64 Tell()const; ///<取当前位置
|
||||
virtual int64 GetSize()const; ///<取得文件长度
|
||||
virtual bool Restart(); ///<复位访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=soBegin); ///<移动访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin); ///<移动访问指针
|
||||
|
||||
virtual int64 Available()const; ///<剩下的可以不受阻塞访问的字节数
|
||||
|
||||
|
@ -41,7 +41,7 @@ namespace hgl
|
||||
virtual int64 Tell()const; ///<取当前位置
|
||||
virtual int64 GetSize()const; ///<取得文件长度
|
||||
virtual bool Restart(); ///<复位访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=soBegin); ///<移动访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin); ///<移动访问指针
|
||||
virtual int64 Available()const{return -1;} ///<可不受影响写入的字节数
|
||||
|
||||
virtual int64 Write(int64,const void *,int64); ///<在指定位置写入指定长度的数据
|
||||
|
@ -29,7 +29,7 @@ namespace hgl
|
||||
|
||||
virtual bool Restart()=0; ///<复位访问指针
|
||||
virtual int64 Skip(int64)=0; ///<跳过指定字节不访问
|
||||
virtual int64 Seek(int64,SeekOrigin=soBegin)=0; ///<移动访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin)=0; ///<移动访问指针
|
||||
virtual int64 Tell()const=0; ///<返回当前访问位置
|
||||
virtual int64 GetSize()const=0; ///<取得流长度
|
||||
virtual int64 Available()const=0; ///<剩下的可以不受阻塞访问的字节数
|
||||
|
@ -115,19 +115,19 @@ namespace hgl
|
||||
|
||||
int64 Skip(int64 bytes)
|
||||
{
|
||||
return Seek(bytes,soCurrent);
|
||||
return Seek(bytes,SeekOrigin::Current);
|
||||
}
|
||||
|
||||
int64 Seek(int64 off,SeekOrigin so)
|
||||
{
|
||||
if(!CanSeek())return(-1);
|
||||
|
||||
if(so==soCurrent)
|
||||
if(so==SeekOrigin::Current)
|
||||
{
|
||||
off+=cur_pos;
|
||||
}
|
||||
else
|
||||
if(so==soEnd)
|
||||
if(so==SeekOrigin::End)
|
||||
{
|
||||
off+=buf_size;
|
||||
}
|
||||
|
@ -194,16 +194,16 @@ namespace hgl
|
||||
return(true);
|
||||
}
|
||||
|
||||
int64 Seek(int64 off,SeekOrigin so=soBegin) override
|
||||
int64 Seek(int64 off,SeekOrigin so=SeekOrigin::Begin) override
|
||||
{
|
||||
if(!CanSeek())return(-1);
|
||||
|
||||
if(so==soCurrent)
|
||||
if(so==SeekOrigin::Current)
|
||||
{
|
||||
off+=cur_pos;
|
||||
}
|
||||
else
|
||||
if(so==soEnd)
|
||||
if(so==SeekOrigin::End)
|
||||
{
|
||||
off+=buf_size;
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ namespace hgl
|
||||
virtual bool CanSize()const=0; ///<是否可以取得尺寸
|
||||
|
||||
virtual bool Restart()=0; ///<复位访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=soBegin)=0; ///<移动访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin)=0; ///<移动访问指针
|
||||
virtual int64 Tell()const=0; ///<返回当前访问位置
|
||||
virtual int64 GetSize()const=0; ///<取得流长度
|
||||
virtual int64 Available()const=0; ///<剩下的可以不受阻塞写入的字节数
|
||||
|
@ -40,7 +40,7 @@ namespace hgl
|
||||
virtual int64 Tell()const; ///<取当前位置
|
||||
virtual int64 GetSize(); ///<取得文件长度
|
||||
virtual bool Restart(); ///<复位访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=soBegin); ///<移动访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin); ///<移动访问指针
|
||||
};//class RandomAccessFile
|
||||
}//namespace io
|
||||
}//namespace hgl
|
||||
|
@ -1,4 +1,4 @@
|
||||
#ifndef HGL_IO_SEEK_ACCESS_INCLUDE
|
||||
#ifndef HGL_IO_SEEK_ACCESS_INCLUDE
|
||||
#define HGL_IO_SEEK_ACCESS_INCLUDE
|
||||
|
||||
#include<hgl/type/DataType.h>
|
||||
@ -6,11 +6,11 @@ namespace hgl
|
||||
{
|
||||
namespace io
|
||||
{
|
||||
enum_int(SeekOrigin) /// 资源偏移方向枚举
|
||||
enum class SeekOrigin /// 资源偏移方向枚举
|
||||
{
|
||||
soBegin=0, ///<从资源最开始处开始,offset必须大于0。移到资源的offset位置
|
||||
soCurrent, ///<从资源当前位置开始,移到资源的Position+offset位置
|
||||
soEnd ///<从资源的结束位置开始,offset必须小于0,表示结束前的字符数
|
||||
Begin=0, ///<从资源最开始处开始,offset必须大于0。移到资源的offset位置
|
||||
Current, ///<从资源当前位置开始,移到资源的Position+offset位置
|
||||
End ///<从资源的结束位置开始,offset必须小于0,表示结束前的字符数
|
||||
};//enum SeekOrigin
|
||||
|
||||
/**
|
||||
@ -27,7 +27,7 @@ namespace hgl
|
||||
virtual bool CanSize()const=0; ///<是否可以取得尺寸
|
||||
|
||||
virtual bool Restart()=0; ///<复位访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=soBegin)=0; ///<移动访问指针
|
||||
virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin)=0; ///<移动访问指针
|
||||
virtual int64 Tell()const=0; ///<返回当前访问位置
|
||||
virtual int64 GetSize()const=0; ///<取得文件长度
|
||||
};//class SeekAccess
|
||||
|
@ -64,6 +64,7 @@ namespace hgl
|
||||
|
||||
virtual F Add(T *value)
|
||||
{
|
||||
if(!value)return(-1);
|
||||
if(!ResManage<F,T>::Add(id_count,value))
|
||||
return(-1);
|
||||
|
||||
|
@ -109,7 +109,7 @@ namespace hgl
|
||||
{
|
||||
if(!CanSeek())return(-1);
|
||||
|
||||
return hgl_lseek64(fp,offset,orign);
|
||||
return hgl_lseek64(fp,offset,(int)orign);
|
||||
}
|
||||
|
||||
int64 FileAccess::Tell()const
|
||||
@ -142,7 +142,7 @@ namespace hgl
|
||||
{
|
||||
if(!CanRestart())return(false);
|
||||
|
||||
return(Seek(0,soBegin)==0);
|
||||
return(Seek(0,SeekOrigin::Begin)==0);
|
||||
}
|
||||
|
||||
int64 FileAccess::Read(void *buf,int64 size)
|
||||
@ -159,7 +159,7 @@ namespace hgl
|
||||
int result=hgl_read64(fp,buf,size);
|
||||
|
||||
if(result>0)
|
||||
hgl_lseek64(fp,-result,soCurrent); //回移这个长度
|
||||
hgl_lseek64(fp,-result,(int)SeekOrigin::Current); //回移这个长度
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ namespace hgl
|
||||
bool FileInputStream::CanSize ()const {return file?file->CanSize():false;}
|
||||
bool FileInputStream::CanPeek ()const {return file?file->CanPeek():false;}
|
||||
|
||||
int64 FileInputStream::Skip (int64 bytes) {return file?file->Seek(bytes,soCurrent):-1;}
|
||||
int64 FileInputStream::Skip (int64 bytes) {return file?file->Seek(bytes,SeekOrigin::Current):-1;}
|
||||
int64 FileInputStream::Tell ()const {return file?file->Tell():-1;}
|
||||
int64 FileInputStream::GetSize ()const {return file?file->GetSize():-1;}
|
||||
bool FileInputStream::Restart () {return file?file->Restart():false;}
|
||||
|
@ -49,7 +49,7 @@ namespace hgl
|
||||
{
|
||||
if(!CanRead())return(-1);
|
||||
|
||||
if(_lseeki64(fp,offset,soBegin)==offset)
|
||||
if(_lseeki64(fp,offset,(int)SeekOrigin::Begin)==offset)
|
||||
return _read(fp,buf,size);
|
||||
else
|
||||
return -1;
|
||||
@ -59,7 +59,7 @@ namespace hgl
|
||||
{
|
||||
if(!CanWrite())return(-1);
|
||||
|
||||
if(_lseeki64(fp,offset,soBegin)==offset)
|
||||
if(_lseeki64(fp,offset,(int)SeekOrigin::Begin)==offset)
|
||||
return _write(fp,buf,size);
|
||||
else
|
||||
return -1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user