ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::stream_n::base_streams_impl_n::in_impl_t结构体 参考
类 elc::defs::stream_n::base_streams_impl_n::in_impl_t 继承关系图:
[图例]
elc::defs::stream_n::base_streams_impl_n::in_impl_t 的协作图:
[图例]

Public 成员函数

 in_impl_t () noexcept
 
virtual ~in_impl_t () noexcept override=default
 
virtual int_t seek (seek_type dir, int_t off) noexcept override
 
virtual int_t tell () noexcept override
 
virtual bool seek_to (int_t pos) noexcept override
 
virtual void sync () noexcept override
 
virtual void flush () noexcept override
 
virtual void close () noexcept override
 
virtual size_t read (char_t *buf, size_t size) noexcept override
 
virtual bool is_end () noexcept override
 
virtual bool waitting_for_data () noexcept override
 
virtual operator bool () noexcept override
 
virtual void unread (const char_t *buf, size_t size) noexcept override
 
void tie_with (noexcept_text_ostream_t< char_t > *stream) noexcept
 
noexcept_text_ostream_t< char_t > * tie_with () noexcept
 
- Public 成员函数 继承自 elc::defs::stream_n::noexcept_text_istream_t< char_t >
virtual char_t peek () noexcept override
 
virtual char_t get () noexcept override
 
- Public 成员函数 继承自 elc::defs::stream_n::base_stream_t
virtual ~base_stream_t ()=default
 
- Public 成员函数 继承自 elc::defs::stream_n::noexcept_not_unreadable_text_istream_t< char_T >
virtual size_t read (char_T *buf, size_t size) noexcept override=0
 
- Public 成员函数 继承自 elc::defs::stream_n::text_istream_t< char_T >
virtual void unread (const char_T *buf, size_t size)=0
 

额外继承的成员函数

- Public 类型 继承自 elc::defs::stream_n::text_stream_t< char_T >
typedef char_T char_type
 
typedef char_type data_type
 

详细描述

在文件 all_defs.cpp59054 行定义.

构造及析构函数说明

◆ in_impl_t()

elc::defs::stream_n::base_streams_impl_n::in_impl_t::in_impl_t ( )
inlinenoexcept

在文件 all_defs.cpp59060 行定义.

59060:_tie_with(&out_impl){}

◆ ~in_impl_t()

virtual elc::defs::stream_n::base_streams_impl_n::in_impl_t::~in_impl_t ( )
overridevirtualdefaultnoexcept

成员函数说明

◆ close()

virtual void elc::defs::stream_n::base_streams_impl_n::in_impl_t::close ( )
inlineoverridevirtualnoexcept

实现了 elc::defs::stream_n::base_stream_t.

在文件 all_defs.cpp59063 行定义.

◆ flush()

virtual void elc::defs::stream_n::base_streams_impl_n::in_impl_t::flush ( )
inlineoverridevirtualnoexcept

实现了 elc::defs::stream_n::base_stream_t.

在文件 all_defs.cpp59063 行定义.

◆ is_end()

virtual bool elc::defs::stream_n::base_streams_impl_n::in_impl_t::is_end ( )
inlineoverridevirtualnoexcept

实现了 elc::defs::stream_n::base_not_unreadable_istream_t.

在文件 all_defs.cpp59094 行定义.

59094 {
59095 return _in.is_end();
59096 }

◆ operator bool()

virtual elc::defs::stream_n::base_streams_impl_n::in_impl_t::operator bool ( )
inlineexplicitoverridevirtualnoexcept

重载 elc::defs::stream_n::base_not_unreadable_istream_t .

在文件 all_defs.cpp59100 行定义.

59100 {
59101 return _in.operator bool();
59102 }
constexpr T down_cast(U a) noexcept
向下转型至

◆ read()

virtual size_t elc::defs::stream_n::base_streams_impl_n::in_impl_t::read ( char_t buf,
size_t  size 
)
inlineoverridevirtualnoexcept

在文件 all_defs.cpp59065 行定义.

59065 {
59066 const size_t aret=_in.read(buf,size);
59067 if(_tie_with)
59068 if(aret>_unread_size){
59069 const size_t tie_size=aret-_unread_size;
59070 //回显中需要将回车换行、回车转换为换行
59072 while(str.size()){
59073 const auto pos=str.find(ec('\r'));
59074 if(pos==npos){
59075 *_tie_with<<str;
59076 break;
59077 }
59078 else{
59079 _tie_with->write(str.data(),pos);
59080 if(pos+1<str.size()&&str[pos+1]==ec('\n'))
59081 str=str.substr(pos+2);
59082 else
59083 str=str.substr(pos+1);
59084 *_tie_with << ec('\n');
59085 }
59086 }
59087 }
59088 if(aret<=_unread_size)
59089 _unread_size-=aret;
59090 else
59091 _unread_size=0;
59092 return aret;
59093 }
#define ec(ch)
Definition all_defs.cpp:681
constexpr size_t size(::size_t v)
string_view_t< char_t > string_view
virtual size_t read(char_t *buf, size_t size) noexcept override
virtual void write(const char_T *buf, size_t size) noexcept override=0
函数调用图:

◆ seek()

virtual int_t elc::defs::stream_n::base_streams_impl_n::in_impl_t::seek ( seek_type  dir,
int_t  off 
)
inlineoverridevirtualnoexcept

实现了 elc::defs::stream_n::base_stream_t.

在文件 all_defs.cpp59063 行定义.

◆ seek_to()

virtual bool elc::defs::stream_n::base_streams_impl_n::in_impl_t::seek_to ( int_t  pos)
inlineoverridevirtualnoexcept

实现了 elc::defs::stream_n::base_stream_t.

在文件 all_defs.cpp59063 行定义.

◆ sync()

virtual void elc::defs::stream_n::base_streams_impl_n::in_impl_t::sync ( )
inlineoverridevirtualnoexcept

实现了 elc::defs::stream_n::base_stream_t.

在文件 all_defs.cpp59063 行定义.

◆ tell()

virtual int_t elc::defs::stream_n::base_streams_impl_n::in_impl_t::tell ( )
inlineoverridevirtualnoexcept

重载 elc::defs::stream_n::base_stream_t .

在文件 all_defs.cpp59063 行定义.

◆ tie_with() [1/2]

noexcept_text_ostream_t< char_t > * elc::defs::stream_n::base_streams_impl_n::in_impl_t::tie_with ( )
inlinenoexcept

在文件 all_defs.cpp59110 行定义.

59110 {
59111 return _tie_with;
59112 }

◆ tie_with() [2/2]

void elc::defs::stream_n::base_streams_impl_n::in_impl_t::tie_with ( noexcept_text_ostream_t< char_t > *  stream)
inlinenoexcept

在文件 all_defs.cpp59107 行定义.

59107 {
59108 _tie_with=stream;
59109 }

◆ unread()

virtual void elc::defs::stream_n::base_streams_impl_n::in_impl_t::unread ( const char_t buf,
size_t  size 
)
inlineoverridevirtualnoexcept

实现了 elc::defs::stream_n::noexcept_text_istream_t< char_t >.

在文件 all_defs.cpp59103 行定义.

59103 {
59104 _in.unread(buf,size);
59105 _unread_size+=size;
59106 }
virtual void unread(const char_t *buf, size_t size) noexcept override

◆ waitting_for_data()

virtual bool elc::defs::stream_n::base_streams_impl_n::in_impl_t::waitting_for_data ( )
inlineoverridevirtualnoexcept

实现了 elc::defs::stream_n::base_not_unreadable_istream_t.

在文件 all_defs.cpp59097 行定义.

59097 {
59098 return _in.waitting_for_data();
59099 }

该结构体的文档由以下文件生成: