FLANG
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Fortran::runtime::io::ExternalFileUnit Class Reference
Inheritance diagram for Fortran::runtime::io::ExternalFileUnit:
Fortran::runtime::io::ConnectionState Fortran::runtime::io::OpenFile Fortran::runtime::io::FileFrame< STORE, minBuffer > Fortran::runtime::io::ConnectionAttributes

Public Member Functions

RT_API_ATTRS ExternalFileUnit (int unitNumber)
 
RT_API_ATTRS int unitNumber () const
 
RT_API_ATTRS bool swapEndianness () const
 
RT_API_ATTRS bool createdForInternalChildIo () const
 
RT_API_ATTRS bool OpenUnit (Fortran::common::optional< OpenStatus >, Fortran::common::optional< Action >, Position, OwningPtr< char > &&path, std::size_t pathLength, Convert, IoErrorHandler &)
 
RT_API_ATTRS bool OpenAnonymousUnit (Fortran::common::optional< OpenStatus >, Fortran::common::optional< Action >, Position, Convert, IoErrorHandler &)
 
RT_API_ATTRS void CloseUnit (CloseStatus, IoErrorHandler &)
 
RT_API_ATTRS void DestroyClosed ()
 
RT_API_ATTRS Iostat SetDirection (Direction)
 
template<typename A , typename... X>
RT_API_ATTRS IoStatementStateBeginIoStatement (const Terminator &terminator, X &&...xs)
 
RT_API_ATTRS bool Emit (const char *, std::size_t, std::size_t elementBytes, IoErrorHandler &)
 
RT_API_ATTRS bool Receive (char *, std::size_t, std::size_t elementBytes, IoErrorHandler &)
 
RT_API_ATTRS std::size_t GetNextInputBytes (const char *&, IoErrorHandler &)
 
RT_API_ATTRS std::size_t ViewBytesInRecord (const char *&, bool forward) const
 
RT_API_ATTRS bool BeginReadingRecord (IoErrorHandler &)
 
RT_API_ATTRS void FinishReadingRecord (IoErrorHandler &)
 
RT_API_ATTRS bool AdvanceRecord (IoErrorHandler &)
 
RT_API_ATTRS void BackspaceRecord (IoErrorHandler &)
 
RT_API_ATTRS void FlushOutput (IoErrorHandler &)
 
RT_API_ATTRS void FlushIfTerminal (IoErrorHandler &)
 
RT_API_ATTRS void Endfile (IoErrorHandler &)
 
RT_API_ATTRS void Rewind (IoErrorHandler &)
 
RT_API_ATTRS void EndIoStatement ()
 
RT_API_ATTRS bool SetStreamPos (std::int64_t, IoErrorHandler &)
 
RT_API_ATTRS bool SetDirectRec (std::int64_t, IoErrorHandler &)
 
RT_API_ATTRS std::int64_t InquirePos () const
 
RT_API_ATTRS ChildIoGetChildIo ()
 
RT_API_ATTRS ChildIoPushChildIo (IoStatementState &)
 
RT_API_ATTRS void PopChildIo (ChildIo &)
 
RT_API_ATTRS int GetAsynchronousId (IoErrorHandler &)
 
RT_API_ATTRS bool Wait (int)
 
template<bool ANY_DIR, Direction DIR>
void DoEndfile (IoErrorHandler &handler)
 
- Public Member Functions inherited from Fortran::runtime::io::ConnectionState
RT_API_ATTRS bool IsAtEOF () const
 
RT_API_ATTRS bool IsAfterEndfile () const
 
RT_API_ATTRS std::size_t RemainingSpaceInRecord () const
 
RT_API_ATTRS bool NeedAdvance (std::size_t) const
 
RT_API_ATTRS void HandleAbsolutePosition (std::int64_t)
 
RT_API_ATTRS void HandleRelativePosition (std::int64_t)
 
RT_API_ATTRS void BeginRecord ()
 
RT_API_ATTRS Fortran::common::optional< std::int64_t > EffectiveRecordLength () const
 
- Public Member Functions inherited from Fortran::runtime::io::ConnectionAttributes
RT_API_ATTRS bool IsRecordFile () const
 
template<typename CHAR = char>
constexpr RT_API_ATTRS bool useUTF8 () const
 
- Public Member Functions inherited from Fortran::runtime::io::OpenFile
const char * path () const
 
std::size_t pathLength () const
 
void set_path (OwningPtr< char > &&, std::size_t bytes)
 
bool mayRead () const
 
bool mayWrite () const
 
bool mayPosition () const
 
bool mayAsynchronous () const
 
void set_mayAsynchronous (bool yes)
 
bool isTerminal () const
 
bool isWindowsTextFile () const
 
Fortran::common::optional< FileOffset > knownSize () const
 
bool IsConnected () const
 
void Open (OpenStatus, Fortran::common::optional< Action >, Position, IoErrorHandler &)
 
void Predefine (int fd)
 
void Close (CloseStatus, IoErrorHandler &)
 
std::size_t Read (FileOffset, char *, std::size_t minBytes, std::size_t maxBytes, IoErrorHandler &)
 
std::size_t Write (FileOffset, const char *, std::size_t, IoErrorHandler &)
 
void Truncate (FileOffset, IoErrorHandler &)
 
int ReadAsynchronously (FileOffset, char *, std::size_t, IoErrorHandler &)
 
int WriteAsynchronously (FileOffset, const char *, std::size_t, IoErrorHandler &)
 
void Wait (int id, IoErrorHandler &)
 
void WaitAll (IoErrorHandler &)
 
Position InquirePosition () const
 
- Public Member Functions inherited from Fortran::runtime::io::FileFrame< STORE, minBuffer >
RT_API_ATTRS FileOffset FrameAt () const
 
RT_API_ATTRS char * Frame () const
 
RT_API_ATTRS std::size_t FrameLength () const
 
RT_API_ATTRS std::size_t BytesBufferedBeforeFrame () const
 
RT_API_ATTRS std::size_t ReadFrame (FileOffset at, std::size_t bytes, IoErrorHandler &handler)
 
RT_API_ATTRS void WriteFrame (FileOffset at, std::size_t bytes, IoErrorHandler &handler)
 
RT_API_ATTRS void Flush (IoErrorHandler &handler, std::int64_t keep=0)
 
RT_API_ATTRS void TruncateFrame (std::int64_t at, IoErrorHandler &handler)
 

Static Public Member Functions

static RT_API_ATTRS ExternalFileUnitLookUp (int unit)
 
static RT_API_ATTRS ExternalFileUnitLookUpOrCreate (int unit, const Terminator &, bool &wasExtant)
 
static RT_API_ATTRS ExternalFileUnitLookUpOrCreateAnonymous (int unit, Direction, Fortran::common::optional< bool > isUnformatted, IoErrorHandler &)
 
static RT_API_ATTRS ExternalFileUnitLookUp (const char *path, std::size_t pathLen)
 
static RT_API_ATTRS ExternalFileUnitCreateNew (int unit, const Terminator &)
 
static RT_API_ATTRS ExternalFileUnitLookUpForClose (int unit)
 
static RT_API_ATTRS ExternalFileUnitNewUnit (const Terminator &, bool forChildIo)
 
static RT_API_ATTRS void CloseAll (IoErrorHandler &)
 
static RT_API_ATTRS void FlushAll (IoErrorHandler &)
 

Static Public Attributes

static constexpr int maxAsyncIds {64 * 16}
 

Additional Inherited Members

- Public Types inherited from Fortran::runtime::io::OpenFile
using FileOffset = std::int64_t
 
- Public Types inherited from Fortran::runtime::io::FileFrame< STORE, minBuffer >
using FileOffset = std::int64_t
 
- Public Attributes inherited from Fortran::runtime::io::ConnectionState
Fortran::common::optional< std::int64_t > recordLength
 
std::int64_t currentRecordNumber {1}
 
std::int64_t positionInRecord {0}
 
std::int64_t furthestPositionInRecord {0}
 
Fortran::common::optional< std::int64_t > leftTabLimit
 
Fortran::common::optional< std::int64_t > endfileRecordNumber
 
MutableModes modes
 
bool pinnedFrame {false}
 
bool unterminatedRecord {false}
 
- Public Attributes inherited from Fortran::runtime::io::ConnectionAttributes
Access access {Access::Sequential}
 
Fortran::common::optional< bool > isUnformatted
 
bool isUTF8 {false}
 
unsigned char internalIoCharKind {0}
 
Fortran::common::optional< std::int64_t > openRecl
 

The documentation for this class was generated from the following files: