OTstream Class Reference

A simple output token stream that can be used to build token lists. Always UNCOMPRESSED. More...

Inheritance diagram for OTstream:
[legend]
Collaboration diagram for OTstream:
[legend]

Public Member Functions

 OTstream (IOstreamOption streamOpt=IOstreamOption())
 Default construct, set stream status. More...
 
 OTstream (const OTstream &os)
 Copy construct. More...
 
 OTstream (OTstream &&os)
 Move construct. More...
 
 ~OTstream ()=default
 Destructor. More...
 
const DynamicList< token > & tokens () const
 The tokens. More...
 
DynamicList< token > & tokens ()
 The tokens. More...
 
virtual bool write (const token &tok)
 Write token to stream or otherwise handle it. More...
 
virtual Ostreamwrite (const char c)
 Write single character. Whitespace is suppressed. More...
 
virtual Ostreamwrite (const char *str)
 Write the word-characters of a character string. More...
 
virtual Ostreamwrite (const word &str)
 Write word. More...
 
virtual Ostreamwrite (const string &str)
 Write string. More...
 
virtual OstreamwriteQuoted (const std::string &str, const bool quoted=true)
 Write std::string surrounded by quotes. More...
 
virtual Ostreamwrite (const int32_t val)
 Write int32_t as a label. More...
 
virtual Ostreamwrite (const int64_t val)
 Write int64_t as a label. More...
 
virtual Ostreamwrite (const floatScalar val)
 Write floatScalar. More...
 
virtual Ostreamwrite (const doubleScalar val)
 Write doubleScalar. More...
 
virtual Ostreamwrite (const char *data, std::streamsize count)
 Write binary block with 8-byte alignment. More...
 
virtual OstreamwriteRaw (const char *data, std::streamsize count)
 Low-level raw binary output. More...
 
virtual bool beginRawWrite (std::streamsize count)
 Begin marker for low-level raw binary output. More...
 
virtual bool endRawWrite ()
 End marker for low-level raw binary output. More...
 
virtual void indent ()
 Add indentation characters. More...
 
virtual ios_base::fmtflags flags () const
 Get flags of output stream. More...
 
std::ios_base::fmtflags flags (const ios_base::fmtflags)
 Set flags of stream - ignored. More...
 
virtual void flush ()
 Flush stream. More...
 
virtual void endl ()
 Add newline and flush stream. More...
 
virtual char fill () const
 Get the current padding character. More...
 
virtual char fill (const char)
 Set padding character for formatted field up to field width. More...
 
virtual int width () const
 Get width of output field. More...
 
virtual int width (const int)
 Set width of output field. More...
 
virtual int precision () const
 Get precision of output field. More...
 
virtual int precision (const int)
 Set precision of output field. More...
 
void reset ()
 Reset the output buffer and rewind the stream. More...
 
virtual void rewind ()
 Rewind the output stream. More...
 
void print (Ostream &os) const
 Print stream description to Ostream. More...
 
- Public Member Functions inherited from Ostream
 Ostream (const Ostream &)=default
 Copy construct. More...
 
virtual ~Ostream ()=default
 Destructor. More...
 
 Ostream (IOstreamOption streamOpt=IOstreamOption())
 
 Ostream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver=IOstreamOption::currentVersion, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED)
 Construct with format, version (compression) More...
 
virtual bool write (const token &tok)=0
 Write token to stream or otherwise handle it. More...
 
virtual Ostreamwrite (const char c)=0
 Write character. More...
 
virtual Ostreamwrite (const char *str)=0
 Write character string. More...
 
virtual Ostreamwrite (const word &str)=0
 Write word. More...
 
virtual Ostreamwrite (const keyType &kw)
 Write keyType. More...
 
virtual Ostreamwrite (const string &str)=0
 Write string. More...
 
virtual OstreamwriteQuoted (const std::string &str, const bool quoted=true)=0
 Write std::string surrounded by quotes. More...
 
virtual Ostreamwrite (const int32_t val)=0
 Write int32_t. More...
 
virtual Ostreamwrite (const int64_t val)=0
 Write int64_t. More...
 
virtual Ostreamwrite (const floatScalar val)=0
 Write floatScalar. More...
 
virtual Ostreamwrite (const doubleScalar val)=0
 Write doubleScalar. More...
 
virtual Ostreamwrite (const char *data, std::streamsize count)=0
 Write binary block. More...
 
virtual OstreamwriteRaw (const char *data, std::streamsize count)=0
 Low-level raw binary output. More...
 
virtual bool beginRawWrite (std::streamsize count)=0
 Emit begin marker for low-level raw binary output. More...
 
virtual bool endRawWrite ()=0
 Emit end marker for low-level raw binary output. More...
 
virtual void indent ()=0
 Add indentation characters. More...
 
unsigned short indentSize () const noexcept
 Return indent size (spaces per level) More...
 
unsigned short indentSize (unsigned short val) noexcept
 Change indent size (spaces per level), return old value. More...
 
unsigned short indentLevel () const noexcept
 Return the indent level. More...
 
unsigned short indentLevel (unsigned short val) noexcept
 Change the indent level, return old value. More...
 
void incrIndent () noexcept
 Increment the indent level. More...
 
void decrIndent ()
 Decrement the indent level. More...
 
virtual OstreamwriteKeyword (const keyType &kw)
 Write the keyword followed by an appropriate indentation. More...
 
virtual OstreambeginBlock (const keyType &kw)
 Write begin block group with the given name. More...
 
virtual OstreambeginBlock ()
 Write begin block group without a name. More...
 
virtual OstreamendBlock ()
 Write end block group. More...
 
virtual OstreamendEntry ()
 Write end entry (';') followed by newline. More...
 
template<class T >
OstreamwriteEntry (const keyType &key, const T &value)
 Write a keyword/value entry. More...
 
template<class T >
OstreamwriteEntryIfDifferent (const word &key, const T &value1, const T &value2)
 Write a keyword/value entry only when the two values differ. More...
 
virtual void flush ()=0
 Flush stream. More...
 
virtual void endl ()=0
 Add newline and flush stream. More...
 
virtual char fill () const =0
 Get padding character. More...
 
virtual char fill (const char fillch)=0
 Set padding character for formatted field up to field width. More...
 
virtual int width () const =0
 Get width of output field. More...
 
virtual int width (const int w)=0
 Set width of output field (and return old width) More...
 
virtual int precision () const =0
 Get precision of output field. More...
 
virtual int precision (const int p)=0
 Set precision of output field (and return old precision) More...
 
Ostreamoperator() () const
 Return a non-const reference to const Ostream. More...
 
unsigned short & indentLevel () noexcept
 Access to indent level. More...
 
unsigned short & indentSize () noexcept
 Access to indent size. More...
 
- Public Member Functions inherited from IOstream
 IOstream (const IOstream &)=default
 Copy construct. More...
 
virtual ~IOstream ()=default
 Destructor. More...
 
 IOstream (IOstreamOption streamOpt=IOstreamOption())
 
 IOstream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED)
 Construct with format, version (compression) More...
 
virtual const fileNamename () const
 Return the name of the stream. More...
 
virtual fileNamename ()
 Return stream name for modification. More...
 
fileName relativeName () const
 Return the name of the stream relative to the current case. More...
 
virtual bool check (const char *operation) const
 Check IOstream status for given operation. More...
 
bool fatalCheck (const char *operation) const
 Check IOstream status for given operation. More...
 
bool opened () const noexcept
 True if stream has been opened. More...
 
bool closed () const noexcept
 True if stream is closed. More...
 
bool good () const noexcept
 True if next operation might succeed. More...
 
bool eof () const noexcept
 True if end of input seen. More...
 
bool fail () const noexcept
 True if next operation will fail. More...
 
bool bad () const noexcept
 True if stream is corrupted. More...
 
 operator bool () const noexcept
 Return true if the stream has not failed. More...
 
bool operator! () const noexcept
 Return true if the stream has failed. More...
 
unsigned labelByteSize () const noexcept
 The sizeof (label) in bytes associated with the stream. More...
 
unsigned scalarByteSize () const noexcept
 The sizeof (scalar) in bytes associated with the stream. More...
 
void setLabelByteSize (unsigned nbytes) noexcept
 Set the sizeof (label) in bytes associated with the stream. More...
 
void setScalarByteSize (unsigned nbytes) noexcept
 Set the sizeof (scalar) in bytes associated with the stream. More...
 
template<class T = label>
std::enable_if< std::is_integral< T >::value, bool >::type checkLabelSize () const noexcept
 
template<class T = scalar>
std::enable_if< std::is_floating_point< T >::value, bool >::type checkScalarSize () const noexcept
 
label lineNumber () const noexcept
 Const access to the current stream line number. More...
 
label & lineNumber () noexcept
 Non-const access to the current stream line number. More...
 
label lineNumber (const label num) noexcept
 Set the stream line number. More...
 
virtual ios_base::fmtflags flags () const =0
 Return flags of stream. More...
 
void setEof () noexcept
 Set stream state as reached 'eof'. More...
 
void setFail () noexcept
 Set stream state as 'failed'. More...
 
void setBad ()
 Set stream state to be 'bad'. More...
 
virtual ios_base::fmtflags flags (const ios_base::fmtflags f)=0
 Set flags of stream. More...
 
ios_base::fmtflags setf (const ios_base::fmtflags f)
 Set flags of stream. More...
 
ios_base::fmtflags setf (const ios_base::fmtflags f, const ios_base::fmtflags mask)
 Set flags of given field of stream. More...
 
void unsetf (const ios_base::fmtflags f)
 Unset flags of stream. More...
 
virtual void print (Ostream &os) const
 Print stream description to Ostream. More...
 
void print (Ostream &os, const int streamState) const
 Print information about the stream state bits. More...
 
InfoProxy< IOstreaminfo () const
 Return info proxy. More...
 
- Public Member Functions inherited from IOstreamOption
constexpr IOstreamOption (streamFormat fmt=streamFormat::ASCII, compressionType comp=compressionType::UNCOMPRESSED) noexcept
 
constexpr IOstreamOption (streamFormat fmt, compressionType comp, versionNumber ver) noexcept
 Construct from components (format, compression, version) More...
 
constexpr IOstreamOption (streamFormat fmt, versionNumber ver, compressionType comp=compressionType::UNCOMPRESSED) noexcept
 Construct from components (format, version, compression) More...
 
 IOstreamOption (const IOstreamOption &opt, streamFormat fmt) noexcept
 Copy construct with change of format. More...
 
streamFormat format () const noexcept
 Get the current stream format. More...
 
streamFormat format (const streamFormat fmt) noexcept
 Set the stream format. More...
 
streamFormat format (const word &formatName)
 Set the stream format from string value. More...
 
compressionType compression () const noexcept
 Get the stream compression. More...
 
compressionType compression (const compressionType comp) noexcept
 Set the stream compression. More...
 
compressionType compression (const word &compName)
 Set the stream compression from string value. More...
 
versionNumber version () const noexcept
 Get the stream version. More...
 
versionNumber version (const versionNumber ver) noexcept
 Set the stream version. More...
 
versionNumber version (const token &tok)
 Set the stream version from token. More...
 
- Public Member Functions inherited from DynamicList< token >
constexpr DynamicList () noexcept
 Default construct, an empty list without allocation. More...
 
 DynamicList (const label len)
 Construct an empty list with given reserve size. More...
 
 DynamicList (const label len, const token &val)
 Construct with given size and value for all elements. More...
 
 DynamicList (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 DynamicList (const DynamicList< token, 16 > &lst)
 Copy construct. More...
 
 DynamicList (const DynamicList< token, AnySizeMin > &lst)
 Copy construct from DynamicList with different sizing parameters. More...
 
 DynamicList (const UList< token > &lst)
 Construct from UList. Size set to UList size. More...
 
 DynamicList (const FixedList< token, N > &lst)
 Construct from a FixedList. More...
 
 DynamicList (std::initializer_list< token > lst)
 Construct from an initializer list. Size set to list size. More...
 
 DynamicList (const IndirectListBase< token, Addr > &lst)
 Construct from IndirectList. Size set to addressing size. More...
 
 DynamicList (DynamicList< token, 16 > &&lst)
 Move construct. More...
 
 DynamicList (DynamicList< token, AnySizeMin > &&lst)
 Move construct with different sizing parameters. More...
 
 DynamicList (List< token > &&lst)
 Move construct from List. More...
 
 DynamicList (Istream &is)
 Construct from Istream. Size set to size of list read. More...
 
label capacity () const noexcept
 Size of the underlying storage. More...
 
std::streamsize capacity_bytes () const noexcept
 Number of contiguous bytes of the underlying storage. More...
 
void setCapacity (const label len)
 Alter the size of the underlying storage. More...
 
void setCapacity_nocopy (const label len)
 
void setCapacity_unsafe (const label len) noexcept
 
void reserve (const label len)
 
void reserve_nocopy (const label len)
 
void resize (const label len)
 
void resize (const label len, const token &val)
 Alter addressable size and fill new entries with constant value. More...
 
void resize_nocopy (const label len)
 
void setSize (const label n)
 Same as resize() More...
 
void setSize (const label n, const token &val)
 Same as resize() More...
 
void clear () noexcept
 Clear the addressed list, i.e. set the size to zero. More...
 
void clearStorage ()
 Clear the list and delete storage. More...
 
label expandStorage () noexcept
 Expand the addressable size to fit the allocated capacity. More...
 
void shrinkStorage ()
 Shrink the allocated space to the number of elements used. More...
 
DynamicList< token, 16 > & shrink ()
 Shrink the allocated space to the number of elements used. More...
 
void swap (DynamicList< token, AnySizeMin > &other)
 Swap content, independent of sizing parameter. More...
 
void transfer (List< token > &list)
 Transfer contents of the argument List into this. More...
 
void transfer (DynamicList< token, AnySizeMin > &list)
 Transfer contents of any sized DynamicList into this. More...
 
void append (const token &val)
 Copy append an element to the end of this list. More...
 
void append (token &&val)
 Move append an element. More...
 
void append (const UList< token > &lst)
 Append another list to the end of this list. More...
 
void append (const FixedList< token, N > &lst)
 Append a FixedList to the end of this list. More...
 
void append (std::initializer_list< token > lst)
 Append an initializer list at the end of this list. More...
 
void append (const IndirectListBase< token, Addr > &lst)
 Append a IndirectList at the end of this list. More...
 
void append (List< token > &&lst)
 Move append list. More...
 
void append (DynamicList< token, AnySizeMin > &&list)
 Move append list. More...
 
label appendUniq (const token &val)
 Append an element if not already in the list. More...
 
token remove ()
 Remove and return the last element. Fatal on an empty list. More...
 
token remove (const label idx, const bool fast=false)
 Remove and return the specified element. Fatal on an empty list. More...
 
label remove (const labelRange &range)
 Remove a (start,size) subset from the list. More...
 
label remove (std::initializer_list< label > start_size)
 Remove a (start,size) subset from the list. More...
 
label subset (const labelRange &range)
 Retain a (start,size) subset from the list. More...
 
label subset (std::initializer_list< label > start_size)
 Retain a (start,size) subset from List. More...
 
tokenoperator() (const label i)
 Return non-const access to an element, resizing list if needed. More...
 
void operator= (const token &val)
 Assignment of all addressed entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (const UList< token > &lst)
 Assignment to UList. More...
 
void operator= (const FixedList< token, N > &lst)
 Assignment to FixedList. More...
 
void operator= (const DynamicList< token, 16 > &lst)
 Assignment to DynamicList. More...
 
void operator= (const DynamicList< token, AnySizeMin > &lst)
 Assignment from DynamicList with different sizing parameters. More...
 
void operator= (std::initializer_list< token > lst)
 Assignment from initializer list. More...
 
void operator= (const IndirectListBase< token, Addr > &lst)
 Assignment from IndirectList. More...
 
void operator= (List< token > &&lst)
 Move assignment. More...
 
void operator= (DynamicList< token, 16 > &&lst)
 Move assignment. More...
 
void operator= (DynamicList< token, AnySizeMin > &&lst)
 Move assignment. More...
 
IstreamreadList (Istream &is)
 Read from Istream, discarding existing contents. More...
 
- Public Member Functions inherited from List< T >
constexpr List () noexcept
 Default construct. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const T &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const Foam::one, const T &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const Foam::one, T &&val)
 Construct with length=1, moving the value as the only content. More...
 
 List (const Foam::one, const Foam::zero)
 Construct with length=1, initializing content to zero. More...
 
 List (const List< T > &a)
 Copy construct from list. More...
 
 List (const UList< T > &a)
 Copy construct contents from list. More...
 
 List (List< T > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< T > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
template<unsigned N>
 List (const UList< T > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
template<unsigned N>
 List (const FixedList< T, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< T > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< T > &list)
 Construct as copy of SLList<T> More...
 
template<class Addr >
 List (const IndirectListBase< T, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< T > list)
 Construct from an initializer list. More...
 
 List (List< T > &&list)
 Move construct from List. More...
 
template<int SizeMin>
 List (DynamicList< T, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SLList< T > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< T > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void clear ()
 Clear the list, i.e. set size to zero. More...
 
void resize (const label len)
 Adjust allocated size of list. More...
 
void resize (const label len, const T &val)
 Adjust allocated size of list and set val for new elements. More...
 
void resize_nocopy (const label len)
 Adjust allocated size of list without necessarily. More...
 
void setSize (const label n)
 Alias for resize() More...
 
void setSize (const label n, const T &val)
 Alias for resize() More...
 
void append (const T &val)
 Append an element at the end of the list. More...
 
void append (T &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< T > &list)
 Append a List to the end of this list. More...
 
template<class Addr >
void append (const IndirectListBase< T, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
label appendUniq (const T &val)
 Append an element if not already in the list. More...
 
void transfer (List< T > &list)
 
template<int SizeMin>
void transfer (DynamicList< T, SizeMin > &list)
 
TnewElmt (const label i)
 
void operator= (const UList< T > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< T > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< T > &list)
 Assignment to SLList operator. Takes linear time. More...
 
template<class Addr >
void operator= (const IndirectListBase< T, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
template<unsigned N>
void operator= (const FixedList< T, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< T > list)
 Assignment to an initializer list. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (List< T > &&list)
 Move assignment. Takes constant time. More...
 
template<int SizeMin>
void operator= (DynamicList< T, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< T > &&list)
 Move assignment. Takes constant time. More...
 
IstreamreadList (Istream &is)
 Read List from Istream, discarding contents of existing List. More...
 
void shallowCopy (const UList< T > &)=delete
 No shallowCopy permitted. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 A bitSet::set() method for a list of bool. More...
 
IstreamreadList (Istream &is)
 
void resize (const label newLen)
 
IstreamreadList (Istream &is)
 
- Public Member Functions inherited from UList< T >
 UList (const UList< T > &)=default
 Copy construct. More...
 
constexpr UList () noexcept
 Default construct, zero-sized and nullptr. More...
 
 UList (T *__restrict__ v, const label len) noexcept
 Construct from components. More...
 
label fcIndex (const label i) const noexcept
 
label rcIndex (const label i) const noexcept
 
const TfcValue (const label i) const
 Return forward circular value (ie, next value in the list) More...
 
TfcValue (const label i)
 Return forward circular value (ie, next value in the list) More...
 
const TrcValue (const label i) const
 Return reverse circular value (ie, previous value in the list) More...
 
TrcValue (const label i)
 Return reverse circular value (ie, previous value in the list) More...
 
const Tcdata () const noexcept
 Return pointer to the underlying array serving as data storage. More...
 
Tdata () noexcept
 Return pointer to the underlying array serving as data storage. More...
 
const char * cdata_bytes () const noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
char * data_bytes () noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
Tfirst ()
 Return the first element of the list. More...
 
const Tfirst () const
 Return first element of the list. More...
 
Tlast ()
 Return the last element of the list. More...
 
const Tlast () const
 Return the last element of the list. More...
 
std::streamsize size_bytes () const noexcept
 Number of contiguous bytes for the List data. More...
 
std::streamsize byteSize () const
 
void checkStart (const label start) const
 Check start is within valid range [0,size) More...
 
void checkSize (const label size) const
 Check size is within valid range [0,size]. More...
 
void checkRange (const label start, const label len) const
 Check that start and length define a valid range. More...
 
void checkIndex (const label i) const
 Check index is within valid range [0,size) More...
 
bool uniform () const
 True if all entries have identical values, and list is non-empty. More...
 
label find (const T &val, label pos=0) const
 Find index of the first occurrence of the value. More...
 
label rfind (const T &val, label pos=-1) const
 Find index of the last occurrence of the value. More...
 
bool found (const T &val, label pos=0) const
 True if the value if found in the list. More...
 
void moveFirst (const label i)
 Move element to the first position. More...
 
void moveLast (const label i)
 Move element to the last position. More...
 
void swapFirst (const label i)
 Swap element with the first element. Fatal on an empty list. More...
 
void swapLast (const label i)
 Swap element with the last element. Fatal on an empty list. More...
 
void shallowCopy (const UList< T > &list)
 Copy the pointer and size held by the given UList. More...
 
void deepCopy (const UList< T > &list)
 Copy elements of the given UList. Sizes must match! More...
 
template<class Addr >
void deepCopy (const IndirectListBase< T, Addr > &list)
 Copy elements of the given indirect list. Sizes must match! More...
 
SubList< Tslice (const label pos, label len=-1)
 Return SubList slice (non-const access) - no range checking. More...
 
const SubList< Tslice (const label pos, label len=-1) const
 Return SubList slice (const access) - no range checking. More...
 
SubList< Tslice (const labelRange &range)
 Return SubList slice (non-const access) - with range checking. More...
 
const SubList< Tslice (const labelRange &range) const
 Return SubList slice (const access) - with range checking. More...
 
Toperator[] (const label i)
 Return element of UList. More...
 
const Toperator[] (const label i) const
 Return element of constant UList. More...
 
 operator const Foam::List< T > & () const
 Allow cast to a const List<T>&. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
iterator begin () noexcept
 Return an iterator to begin traversing the UList. More...
 
iterator end () noexcept
 Return an iterator to end traversing the UList. More...
 
const_iterator cbegin () const noexcept
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator cend () const noexcept
 Return const_iterator to end traversing the constant UList. More...
 
const_iterator begin () const noexcept
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator end () const noexcept
 Return const_iterator to end traversing the constant UList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the UList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
label size () const noexcept
 The number of elements in the UList. More...
 
bool empty () const noexcept
 True if the UList is empty (ie, size() is zero) More...
 
void swap (UList< T > &list)
 Swap content with another UList of the same type in constant time. More...
 
bool operator== (const UList< T > &a) const
 Equality operation on ULists of the same type. More...
 
bool operator!= (const UList< T > &a) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const UList< T > &list) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator> (const UList< T > &a) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator<= (const UList< T > &a) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const UList< T > &a) const
 Return true if !(a < b). Takes linear time. More...
 
IstreamreadList (Istream &is)
 Read List contents from Istream. More...
 
void writeEntry (const word &keyword, Ostream &os) const
 Write the List as a dictionary entry with keyword. More...
 
OstreamwriteList (Ostream &os, const label shortLen=0) const
 Write List, with line-breaks in ASCII when length exceeds shortLen. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type test (const label i) const
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type get (const label i) const
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type unset (const label i)
 
IstreamreadList (Istream &is)
 
OstreamwriteList (Ostream &os, const label) const
 
const booloperator[] (const label i) const
 
Foam::UPstream::commsStructoperator[] (const label procID)
 
const Foam::UPstream::commsStructoperator[] (const label procID) const
 
UPstream::commsStructoperator[] (const label procID)
 
const UPstream::commsStructoperator[] (const label procID) const
 
OstreamwriteList (Ostream &os, const label) const
 
IstreamreadList (Istream &is)
 

Additional Inherited Members

- Public Types inherited from IOstream
enum  streamAccess : char { CLOSED = 0 , OPENED }
 Enumeration for stream open/closed state. More...
 
- Public Types inherited from IOstreamOption
enum  streamFormat : char { ASCII = 0 , BINARY }
 Data format (ascii | binary) More...
 
enum  compressionType : char { UNCOMPRESSED = 0 , COMPRESSED }
 Compression treatment (UNCOMPRESSED | COMPRESSED) More...
 
- Public Types inherited from List< T >
typedef SubList< TsubList
 Declare type of subList. More...
 
- Public Types inherited from UList< T >
typedef T value_type
 The value type the list contains. More...
 
typedef Tpointer
 The pointer type for non-const access to value_type items. More...
 
typedef const Tconst_pointer
 The pointer type for const access to value_type items. More...
 
typedef Treference
 The type used for storing into value_type objects. More...
 
typedef const Tconst_reference
 The type used for reading from constant value_type objects. More...
 
typedef Titerator
 Random access iterator for traversing a UList. More...
 
typedef const Tconst_iterator
 Random access iterator for traversing a UList. More...
 
typedef label size_type
 The type to represent the size of a UList. More...
 
typedef label difference_type
 The difference between iterator objects. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Reverse iterator (non-const access) More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Reverse iterator (const access) More...
 
- Static Public Member Functions inherited from IOstream
static unsigned int defaultPrecision () noexcept
 Return the default precision. More...
 
static unsigned int defaultPrecision (unsigned int prec) noexcept
 Reset the default precision. More...
 
- Static Public Member Functions inherited from IOstreamOption
static streamFormat formatEnum (const word &formatName, const streamFormat deflt=streamFormat::ASCII)
 
static streamFormat formatEnum (const word &key, const dictionary &dict, const streamFormat deflt=streamFormat::ASCII)
 Failsafe construct streamFormat from optional dictionary lookup. More...
 
static compressionType compressionEnum (const word &compName, const compressionType deflt=compressionType::UNCOMPRESSED)
 The compression enum corresponding to the string. More...
 
static compressionType compressionEnum (const word &key, const dictionary &dict, const compressionType deflt=compressionType::UNCOMPRESSED)
 Failsafe construct compressionType from optional dictionary lookup. More...
 
- Static Public Member Functions inherited from DynamicList< token >
static constexpr label min_size () noexcept
 Normal lower capacity limit - the SizeMin template parameter. More...
 
- Static Public Member Functions inherited from List< T >
static const List< T > & null ()
 Return a null List. More...
 
- Static Public Member Functions inherited from UList< T >
static const UList< T > & null ()
 Return a UList reference to a nullObject. More...
 
static constexpr label max_size () noexcept
 The size of the largest possible UList. More...
 
- Static Public Attributes inherited from IOstream
static unsigned int precision_
 Default precision. More...
 
- Static Public Attributes inherited from IOstreamOption
static const Enum< streamFormatformatNames
 Stream format names (ascii, binary) More...
 
static const versionNumber currentVersion
 The current version number (2.0) More...
 
- Protected Member Functions inherited from IOstream
void setOpened () noexcept
 Set stream opened. More...
 
void setClosed () noexcept
 Set stream closed. More...
 
void setState (std::ios_base::iostate state) noexcept
 Set stream state. More...
 
void setGood () noexcept
 Set stream state to be good. More...
 
- Protected Member Functions inherited from UList< T >
void setAddressableSize (const label n) noexcept
 Set addressed size to be inconsistent with allocated storage. More...
 
void size (const label n)
 Older name for setAddressableSize. More...
 
void writeEntry (Ostream &os) const
 Write the UList with its compound type. More...
 
labelRange validateRange (const labelRange &requestedRange) const
 
UList< T > & operator= (const UList< T > &)=delete
 No copy assignment (default: shallow copy) More...
 
void writeEntry (Ostream &os) const
 
void writeEntry (Ostream &os) const
 
- Protected Attributes inherited from Ostream
unsigned short indentSize_ = 4
 Number of spaces per indent level. More...
 
unsigned short indentLevel_ = 0
 Current indent level. More...
 
- Protected Attributes inherited from IOstream
std::ios_base::iostate ioState_
 Mirror of internal stream io state. More...
 
streamAccess openClosed_
 The stream open/closed state. More...
 
unsigned char sizeofLabel_
 The sizeof (label), possibly read from the header. More...
 
unsigned char sizeofScalar_
 The sizeof (scalar), possibly read from the header. More...
 
label lineNumber_
 The file line. More...
 
- Static Protected Attributes inherited from Ostream
static constexpr const unsigned short entryIndentation_ = 16
 Indentation of the entry from the start of the keyword. More...
 
- Static Protected Attributes inherited from IOstream
static fileName staticName_
 Name for any generic stream - normally treat as readonly. More...
 

Detailed Description

A simple output token stream that can be used to build token lists. Always UNCOMPRESSED.

Note
Appending single characters to token list is fragile.
Source files

Definition at line 56 of file OTstream.H.

Constructor & Destructor Documentation

◆ OTstream() [1/3]

OTstream ( IOstreamOption  streamOpt = IOstreamOption())
inlineexplicit

Default construct, set stream status.

Definition at line 66 of file OTstream.H.

References IOstream::setGood(), and IOstream::setOpened().

Here is the call graph for this function:

◆ OTstream() [2/3]

OTstream ( const OTstream os)
inline

Copy construct.

Definition at line 76 of file OTstream.H.

References IOstream::setGood(), and IOstream::setOpened().

Here is the call graph for this function:

◆ OTstream() [3/3]

OTstream ( OTstream &&  os)
inline

Move construct.

Definition at line 86 of file OTstream.H.

References IOstream::setGood(), and IOstream::setOpened().

Here is the call graph for this function:

◆ ~OTstream()

~OTstream ( )
default

Destructor.

Member Function Documentation

◆ tokens() [1/2]

const DynamicList< token > & tokens ( ) const
inline

The tokens.

Definition at line 103 of file OTstream.H.

◆ tokens() [2/2]

DynamicList< token > & tokens ( )
inline

The tokens.

Definition at line 109 of file OTstream.H.

◆ write() [1/10]

bool write ( const token tok)
virtual

Write token to stream or otherwise handle it.

Returns
false if the token type was not handled by this method

Implements Ostream.

Definition at line 34 of file OTstream.C.

References DynamicList< token >::append(), and token::good().

Here is the call graph for this function:

◆ write() [2/10]

Foam::Ostream & write ( const char  c)
virtual

Write single character. Whitespace is suppressed.

Implements Ostream.

Definition at line 46 of file OTstream.C.

References append().

Here is the call graph for this function:

◆ write() [3/10]

Foam::Ostream & write ( const char *  str)
virtual

Write the word-characters of a character string.

Sends as a single char, or as word.

Implements Ostream.

Definition at line 58 of file OTstream.C.

References write().

Here is the call graph for this function:

◆ write() [4/10]

Foam::Ostream & write ( const word str)
virtual

Write word.

Implements Ostream.

Definition at line 77 of file OTstream.C.

References append().

Here is the call graph for this function:

◆ write() [5/10]

Foam::Ostream & write ( const string str)
virtual

Write string.

Implements Ostream.

Definition at line 85 of file OTstream.C.

References append().

Here is the call graph for this function:

◆ writeQuoted()

Foam::Ostream & writeQuoted ( const std::string &  str,
const bool  quoted = true 
)
virtual

Write std::string surrounded by quotes.

Optional write without quotes.

Implements Ostream.

Definition at line 93 of file OTstream.C.

References append().

Here is the call graph for this function:

◆ write() [6/10]

Foam::Ostream & write ( const int32_t  val)
virtual

Write int32_t as a label.

Implements Ostream.

Definition at line 112 of file OTstream.C.

References append().

Here is the call graph for this function:

◆ write() [7/10]

Foam::Ostream & write ( const int64_t  val)
virtual

Write int64_t as a label.

Implements Ostream.

Definition at line 120 of file OTstream.C.

References append().

Here is the call graph for this function:

◆ write() [8/10]

Foam::Ostream & write ( const floatScalar  val)
virtual

Write floatScalar.

Implements Ostream.

Definition at line 128 of file OTstream.C.

References append().

Here is the call graph for this function:

◆ write() [9/10]

Foam::Ostream & write ( const doubleScalar  val)
virtual

Write doubleScalar.

Implements Ostream.

Definition at line 136 of file OTstream.C.

References append().

Here is the call graph for this function:

◆ write() [10/10]

Foam::Ostream & write ( const char *  data,
std::streamsize  count 
)
virtual

Write binary block with 8-byte alignment.

Implements Ostream.

Definition at line 144 of file OTstream.C.

References Foam::abort(), IOstreamOption::BINARY, Foam::FatalError, FatalErrorInFunction, format(), and NotImplemented.

Here is the call graph for this function:

◆ writeRaw()

Foam::Ostream & writeRaw ( const char *  data,
std::streamsize  count 
)
virtual

Low-level raw binary output.

Implements Ostream.

Definition at line 159 of file OTstream.C.

References NotImplemented.

◆ beginRawWrite()

bool beginRawWrite ( std::streamsize  count)
virtual

Begin marker for low-level raw binary output.

The count indicates the number of bytes for subsequent writeRaw calls.

Implements Ostream.

Definition at line 174 of file OTstream.C.

References Foam::abort(), IOstreamOption::BINARY, Foam::FatalError, FatalErrorInFunction, format(), and NotImplemented.

Here is the call graph for this function:

◆ endRawWrite()

virtual bool endRawWrite ( )
inlinevirtual

End marker for low-level raw binary output.

Implements Ostream.

Definition at line 166 of file OTstream.H.

◆ indent()

virtual void indent ( )
inlinevirtual

Add indentation characters.

Implements Ostream.

Definition at line 172 of file OTstream.H.

◆ flags() [1/2]

virtual ios_base::fmtflags flags ( ) const
inlinevirtual

Get flags of output stream.

Implements IOstream.

Definition at line 179 of file OTstream.H.

◆ flags() [2/2]

std::ios_base::fmtflags flags ( const ios_base::fmtflags  )
inlinevirtual

Set flags of stream - ignored.

Implements IOstream.

Definition at line 185 of file OTstream.H.

◆ flush()

virtual void flush ( )
inlinevirtual

Flush stream.

Implements Ostream.

Definition at line 191 of file OTstream.H.

◆ endl()

virtual void endl ( )
inlinevirtual

Add newline and flush stream.

Implements Ostream.

Definition at line 195 of file OTstream.H.

◆ fill() [1/2]

virtual char fill ( ) const
inlinevirtual

Get the current padding character.

Returns
previous padding character

Implements Ostream.

Definition at line 200 of file OTstream.H.

◆ fill() [2/2]

virtual char fill ( const char  )
inlinevirtual

Set padding character for formatted field up to field width.

Implements Ostream.

Definition at line 206 of file OTstream.H.

◆ width() [1/2]

virtual int width ( ) const
inlinevirtual

Get width of output field.

Implements Ostream.

Definition at line 212 of file OTstream.H.

◆ width() [2/2]

virtual int width ( const int  )
inlinevirtual

Set width of output field.

Returns
previous width

Implements Ostream.

Definition at line 219 of file OTstream.H.

◆ precision() [1/2]

virtual int precision ( ) const
inlinevirtual

Get precision of output field.

Implements Ostream.

Definition at line 225 of file OTstream.H.

◆ precision() [2/2]

virtual int precision ( const int  )
inlinevirtual

Set precision of output field.

Returns
old precision

Implements Ostream.

Definition at line 232 of file OTstream.H.

◆ reset()

void reset ( )
inline

Reset the output buffer and rewind the stream.

Definition at line 241 of file OTstream.H.

References OTstream::rewind().

Here is the call graph for this function:

◆ rewind()

virtual void rewind ( )
inlinevirtual

Rewind the output stream.

Definition at line 247 of file OTstream.H.

References DynamicList< T, SizeMin >::clear(), IOstream::setGood(), and IOstream::setOpened().

Referenced by OTstream::reset().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ print()

void print ( Ostream os) const
virtual

Print stream description to Ostream.

Reimplemented from IOstream.

Definition at line 189 of file OTstream.C.

References Foam::name(), os(), and objectiveManager::print().

Here is the call graph for this function:

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