5namespace Stroika::Foundation::Streams {
12 template <
typename ELEMENT_TYPE>
15 , fSeekable_{rep->IsSeekable ()}
19 template <
typename ELEMENT_TYPE>
23 template <
typename ELEMENT_TYPE>
29 template <
typename ELEMENT_TYPE>
36 template <
typename ELEMENT_TYPE>
43 template <
typename ELEMENT_TYPE>
49 template <
typename ELEMENT_TYPE>
52 return IsSeekable () ? SeekableFlag::eSeekable : SeekableFlag::eNotSeekable;
54 template <
typename ELEMENT_TYPE>
60 template <
typename ELEMENT_TYPE>
64 return fRep_.get () ==
nullptr;
66 template <
typename ELEMENT_TYPE>
70 return fRep_.get () !=
nullptr;
77 constexpr EnumNames<Streams::SeekableFlag> DefaultNames<Streams::SeekableFlag>::k{{{
78 {Streams::SeekableFlag::eNotSeekable, L
"Not-Seekable"},
79 {Streams::SeekableFlag::eSeekable, L
"Seekable"},
#define RequireNotNull(p)
#define RequireExpression(c)
shared_lock< const AssertExternallySynchronizedMutex > ReadContext
Instantiate AssertExternallySynchronizedMutex::ReadContext to designate an area of code where protect...
unique_lock< AssertExternallySynchronizedMutex > WriteContext
Instantiate AssertExternallySynchronizedMutex::WriteContext to designate an area of code where protec...
A Streams::Ptr<ELEMENT_TYPE> is a smart-pointer to a stream of elements of type T.
nonvirtual void reset() noexcept
nonvirtual IRep< ELEMENT_TYPE > & GetRepRWRef() const
nonvirtual shared_ptr< IRep< ELEMENT_TYPE > > GetSharedRep() const
access to underlying stream smart pointer
nonvirtual bool operator==(nullptr_t) const
return true iff stream ptr is nullptr
nonvirtual SeekableFlag GetSeekability() const
nonvirtual const IRep< ELEMENT_TYPE > & GetRepConstRef() const
nonvirtual bool IsSeekable() const
Returns true iff this object was constructed with a seekable input stream rep.