OTstream Class Reference

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

Inheritance diagram for OTstream:
Collaboration diagram for OTstream:

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 noexcept
 The tokens. More...
 
DynamicList< token > & tokens () noexcept
 The tokens. More...
 
virtual bool write (const token &tok) override
 Write token to stream or otherwise handle it. More...
 
virtual Ostreamwrite (const char c) override
 Write single character. Whitespace is suppressed. More...
 
virtual OstreamwriteQuoted (const char *str, std::streamsize len, const bool quoted=true) override
 Write character/string content, with/without surrounding quotes. More...
 
virtual Ostreamwrite (const char *str) override
 Write the word-characters of a character string. More...
 
virtual Ostreamwrite (const word &str) override
 Write word. More...
 
virtual Ostreamwrite (const std::string &str) override
 Write string. More...
 
virtual Ostreamwrite (const int32_t val) override
 Write int32_t as a label. More...
 
virtual Ostreamwrite (const int64_t val) override
 Write int64_t as a label. More...
 
virtual Ostreamwrite (const float val) override
 Write float. More...
 
virtual Ostreamwrite (const double val) override
 Write double. More...
 
virtual Ostreamwrite (const char *data, std::streamsize count) override
 Write binary block with 8-byte alignment. More...
 
virtual OstreamwriteRaw (const char *data, std::streamsize count) override
 Low-level raw binary output. More...
 
virtual bool beginRawWrite (std::streamsize count) override
 Begin marker for low-level raw binary output. More...
 
virtual bool endRawWrite () override
 End marker for low-level raw binary output. More...
 
virtual void indent () override
 Add indentation characters. More...
 
virtual ios_base::fmtflags flags () const override
 Get flags of output stream. More...
 
std::ios_base::fmtflags flags (const ios_base::fmtflags) override
 Set flags of stream - ignored. More...
 
virtual void flush () override
 Flush stream. More...
 
virtual void endl () override
 Add newline and flush stream. More...
 
virtual char fill () const override
 Get the current padding character. More...
 
virtual char fill (const char) override
 Set padding character for formatted field up to field width. More...
 
virtual int width () const override
 Get width of output field. More...
 
virtual int width (const int) override
 Set width of output field. More...
 
virtual int precision () const override
 Get precision of output field. More...
 
virtual int precision (const int) override
 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 override
 Print stream description to Ostream. More...
 
virtual OstreamwriteQuoted (const char *str, std::streamsize len, const bool quoted=true)=0
 Inherit write methods from Ostream. More...
 
virtual OstreamwriteQuoted (const std::string &str, const bool quoted=true)
 Inherit write methods from Ostream. More...
 
- Public Member Functions inherited from Ostream
 Ostream (const Ostream &)=default
 Copy construct. More...
 
virtual ~Ostream ()=default
 Destructor. More...
 
 Ostream (IOstreamOption streamOpt=IOstreamOption())
 Default construct (ASCII, uncompressed), construct with specified stream option. More...
 
 Ostream (IOstreamOption::streamFormat fmt, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED)
 Construct with format (uncompressed) More...
 
virtual OstreamwriteQuoted (const std::string &str, const bool quoted=true)
 Write string content, with/without surrounding quotes. More...
 
virtual Ostreamwrite (const keyType &kw)
 Write keyType. 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...
 
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())
 Default construct (ASCII, uncompressed), construct with specified stream option. More...
 
 IOstream (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp=IOstreamOption::UNCOMPRESSED)
 Construct with format, version (compression) More...
 
virtual const fileNamename () const
 The name of the stream. 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
 Check if the label byte-size associated with the stream is the same as the given type. More...
 
template<class T = scalar>
std::enable_if< std::is_floating_point< T >::value, bool >::type checkScalarSize () const noexcept
 Check if the scalar byte-size associated with the stream is the same as the given type. More...
 
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...
 
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...
 
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...
 
void print (Ostream &os, const int streamState) const
 Print information about the stream state bits. More...
 
InfoProxy< IOstreaminfo () const noexcept
 Return info proxy, used to print IOstream information to a stream. More...
 
- Public Member Functions inherited from IOstreamOption
constexpr IOstreamOption (streamFormat fmt=streamFormat::ASCII, compressionType comp=compressionType::UNCOMPRESSED) noexcept
 Default construct (ASCII, UNCOMPRESSED, currentVersion) or construct with format, compression. More...
 
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 initialCapacity)
 Construct an empty list with given initial capacity. 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 UList< token > &list, const labelUList &indices)
 Copy construct subset of list. 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 > &&list) noexcept
 Move construct. More...
 
 DynamicList (DynamicList< token, AnySizeMin > &&list) noexcept
 Move construct with different sizing parameters. More...
 
 DynamicList (List< token > &&list) noexcept
 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)
 Alter the size of the underlying storage, without retaining old content. More...
 
void setCapacity_unsafe (const label len) noexcept
 Change the value for the list capacity directly (ADVANCED, UNSAFE) Does not perform any memory management or resizing. More...
 
void reserve (const label len)
 Reserve allocation space for at least this size, allocating new space if required and retaining old content. More...
 
void reserve_nocopy (const label len)
 Reserve allocation space for at least this size, allocating new space if required without retaining old content. More...
 
void resize (const label len)
 Alter addressable list size, allocating new space if required while recovering old content. More...
 
void resize (const label len, const token &val)
 Alter addressable size and fill new entries with constant value. More...
 
void resize_fill (const label len, const token &val)
 Alter addressable size and set val for all addressed entries. More...
 
void resize_nocopy (const label len)
 Alter addressable list size, allocating new space if required without necessarily recovering old content. More...
 
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...
 
void shrink_to_fit ()
 Shrink the allocated space to the number of elements used. More...
 
void shrink_unsafe ()
 Shrink the internal bookkeeping of the allocated space to the number of addressed elements without affecting allocation. More...
 
DynamicList< token, 16 > & shrink ()
 Calls shrink_to_fit() and returns a reference to the DynamicList. More...
 
void swap (List< token > &list)
 Swap with plain List content. Implies shrink_to_fit(). More...
 
void swap (DynamicList< token, AnySizeMin > &other) noexcept
 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...
 
tokenemplace_back (Args &&... args)
 Construct an element at the end of the list, return reference to the new list element. More...
 
void push_back (const token &val)
 Copy append an element to the end of this list. More...
 
void push_back (token &&val)
 Move append an element. More...
 
void push_back (const UList< token > &list)
 Copy append another list to the end of this list. More...
 
void push_back (const FixedList< token, N > &list)
 Copy append a FixedList to the end of this list. More...
 
void push_back (std::initializer_list< token > list)
 Copy append an initializer list at the end of this list. More...
 
void push_back (const IndirectListBase< token, Addr > &lst)
 Copy append an IndirectList at the end of this list. More...
 
void push_back (List< token > &&list)
 Move append list. More...
 
void push_back (DynamicList< token, AnySizeMin > &&list)
 Move append list. More...
 
label push_uniq (const token &val)
 Append an element if not already in the list. More...
 
void pop_back (label n=1)
 Reduce size by 1 or more elements. Can be called on an empty 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...
 
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 > &list)
 Append another list to the end of this list. More...
 
void append (const FixedList< token, N > &list)
 Append a FixedList to the end of this list. More...
 
void append (std::initializer_list< token > list)
 Append an initializer list at the end of this list. More...
 
void append (const IndirectListBase< token, Addr > &list)
 Append a IndirectList at the end of this list. More...
 
void append (List< token > &&list)
 Move append list. More...
 
void append (DynamicList< token, AnySizeMin > &&list)
 Move append list. More...
 
label appendUniq (const token &val)
 Same as push_uniq() 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 > &list)
 Copy construct from list. More...
 
 List (const UList< T > &list)
 Copy construct contents from list. More...
 
 List (List< T > &list, 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...
 
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) noexcept
 Move construct from List. More...
 
template<int SizeMin>
 List (DynamicList< T, SizeMin > &&list)
 Move construct from DynamicList. 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_fill (const label len, const T &val)
 Adjust allocated size of list and set val for all elements. More...
 
void resize_nocopy (const label len)
 Adjust allocated size of list without necessarily. More...
 
void resize_unsafe (const label len) noexcept
 Change the addressed list size directly without affecting any memory management (advanced usage). More...
 
void setSize (const label n)
 Alias for resize() More...
 
void setSize (const label n, const T &val)
 Alias for resize() More...
 
void transfer (List< T > &list)
 Transfer the contents of the argument List into this list and annul the argument list. More...
 
template<int SizeMin>
void transfer (DynamicList< T, SizeMin > &list)
 Transfer the contents of the argument List into this list and annul the argument list. More...
 
TnewElmt (const label i)
 Return subscript-checked element of UList and resizing the list if required. More...
 
template<class... Args>
Templace_back (Args &&... args)
 Construct an element at the end of the list, return reference to the new list element. More...
 
void push_back (const T &val)
 Append an element at the end of the list. More...
 
void push_back (T &&val)
 Move append an element at the end of the list. More...
 
void push_back (const UList< T > &list)
 Append a List to the end of this list. More...
 
template<class Addr >
void push_back (const IndirectListBase< T, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
label push_uniq (const T &val)
 Append an element if not already in the list. More...
 
void pop_back (label n=1)
 Reduce size by 1 or more elements. Can be called on an empty list. More...
 
void operator= (const UList< T > &list)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< T > &list)
 Assignment 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...
 
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...
 
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)
 Same as push_uniq() More...
 
 List (const SLList< T > &list)
 Copy construct from SLList. More...
 
void operator= (const SLList< T > &list)
 Copy assign from SLList in linear time. More...
 
template<>
void resize (const label newLen)
 
- 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
 The forward circular index. The next index in the list which returns to the first at the end of the list. More...
 
label rcIndex (const label i) const noexcept
 The reverse circular index. The previous index in the list which returns to the last at the beginning of the list. More...
 
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...
 
Tfront ()
 Access first element of the list, position [0]. More...
 
const Tfront () const
 Access first element of the list. More...
 
Tback ()
 Access last element of the list, position [size()-1]. More...
 
const Tback () const
 Access last element of the list, position [size()-1]. More...
 
std::streamsize size_bytes () const noexcept
 Number of contiguous bytes for the List data. More...
 
std::streamsize byteSize () const
 Number of contiguous bytes for the List data, runtime FatalError if type is not contiguous. More...
 
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...
 
bool contains (const T &val) const
 True if the value is contained in the list. More...
 
bool contains (const T &val, label pos, label len=-1) const
 Is the value contained in the list? More...
 
label find (const T &val) const
 Find index of the first occurrence of the value. More...
 
label find (const T &val, label pos, label len=-1) 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...
 
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 (T *__restrict__ ptr, const label len) noexcept
 Copy the pointer and size. More...
 
void shallowCopy (const UList< T > &list) noexcept
 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...
 
iterator begin (const label i) noexcept
 Return iterator at offset i from begin, clamped to [0,size] range. 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...
 
const_iterator cbegin (const label i) const noexcept
 Return const_iterator at offset i from begin, clamped to [0,size] range. More...
 
const_iterator begin (const label i) const noexcept
 Return const_iterator at offset i from begin, clamped to [0,size] range. 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...
 
bool empty () const noexcept
 True if List is empty (ie, size() is zero) More...
 
label size () const noexcept
 The number of elements in the container. More...
 
label capacity () const noexcept
 Size of the underlying storage. More...
 
void swap (UList< T > &list) noexcept
 Swap content with another UList of the same type in constant time. More...
 
bool operator== (const UList< T > &list) const
 Equality operation on ULists of the same type. More...
 
bool operator!= (const UList< T > &list) 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 > &list) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator<= (const UList< T > &list) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const UList< T > &list) 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
 Test bool value at specified position, always false for out-of-range access. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type get (const label i) const
 Return bool value at specified position, always false for out-of-range access. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type unset (const label i)
 Unset the bool entry at specified position, always false for out-of-range access. More...
 
Tfirst ()
 Access first element of the list, position [0]. More...
 
const Tfirst () const
 Access first element of the list. More...
 
Tlast ()
 Access last element of the list, position [size()-1]. More...
 
const Tlast () const
 Access last element of the list, position [size()-1]. More...
 
bool found (const T &val, label pos=0) const
 Same as contains() More...
 
template<>
const bool & operator[] (const label i) const
 
template<>
UPstream::commsStructoperator[] (const label procID)
 
template<>
const UPstream::commsStructoperator[] (const label procID) const
 
template<>
Foam::UPstream::commsStructoperator[] (const label procID)
 
template<>
const Foam::UPstream::commsStructoperator[] (const label procID) const
 

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...
 
enum  appendType : char { NON_APPEND = 0, APPEND }
 File appending (NON_APPEND | APPEND) More...
 
enum  atomicType : char { NON_ATOMIC = 0, ATOMIC }
 Atomic operations (output) More...
 
enum  floatFormat : unsigned { general = unsigned(0), fixed = unsigned(std::ios_base::fixed), scientific = unsigned(std::ios_base::scientific) }
 Float formats (eg, time directory name formats) 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 floatFormat floatFormatEnum (const word &fmtName, const floatFormat deflt=floatFormat::general)
 Lookup floatFormat enum corresponding to the string (general | fixed | scientific). More...
 
static floatFormat floatFormatEnum (const word &key, const dictionary &dict, const floatFormat deflt=floatFormat::general)
 getOrDefault floatFormat from dictionary, warn only on bad enumeration. More...
 
static streamFormat formatEnum (const word &fmtName, const streamFormat deflt=streamFormat::ASCII)
 Lookup streamFormat enum corresponding to the string (ascii | binary). More...
 
static streamFormat formatEnum (const word &key, const dictionary &dict, const streamFormat deflt=streamFormat::ASCII)
 getOrDefault streamFormat from dictionary, warn only on bad enumeration. 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)
 getOrDefault compressionType from dictionary, warn only on bad enumeration. 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< floatFormatfloatFormatNames
 Names for float formats (general, fixed, scientific) More...
 
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
 Return a validated (start,size) subset range, which means that it always addresses a valid section of the list. More...
 
void fill_uniform (const T &val)
 Assign all entries to the given value. More...
 
void fill_uniform (const Foam::zero)
 Assign all entries to zero. More...
 
UList< T > & operator= (const UList< T > &)=delete
 No copy assignment (default: shallow copy) More...
 
template<>
void writeEntry (Ostream &os) const
 Character list writeEntry. More...
 
template<>
void operator= (const Foam::zero)
 Character list assign zero - avoids Foam::zero casting ambiguities. More...
 
template<>
void writeEntry (Ostream &os) const
 
template<>
void operator= (const Foam::zero)
 
- 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 52 of file OTstream.H.

Constructor & Destructor Documentation

◆ OTstream() [1/3]

OTstream ( IOstreamOption  streamOpt = IOstreamOption())
inlineexplicit

Default construct, set stream status.

Definition at line 64 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 88 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
inlinenoexcept

The tokens.

Definition at line 109 of file OTstream.H.

Referenced by OTstream::write().

Here is the caller graph for this function:

◆ tokens() [2/2]

DynamicList<token>& tokens ( )
inlinenoexcept

The tokens.

Definition at line 117 of file OTstream.H.

◆ write() [1/10]

bool write ( const token tok)
overridevirtual

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 27 of file OTstream.C.

References token::good(), DynamicList< T, SizeMin >::push_back(), and OTstream::tokens().

Here is the call graph for this function:

◆ write() [2/10]

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

Write single character. Whitespace is suppressed.

Implements Ostream.

Definition at line 39 of file OTstream.C.

References Foam::constant::universal::c, and Foam::isspace().

Here is the call graph for this function:

◆ writeQuoted() [1/3]

Foam::Ostream & writeQuoted ( const char *  str,
std::streamsize  len,
const bool  quoted = true 
)
overridevirtual

Write character/string content, with/without surrounding quotes.

Implements Ostream.

Definition at line 52 of file OTstream.C.

◆ write() [3/10]

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

Write the word-characters of a character string.

Sends as a single char, or as word.

Implements Ostream.

Definition at line 77 of file OTstream.C.

References Foam::vtk::write().

Here is the call graph for this function:

◆ write() [4/10]

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

Write word.

Implements Ostream.

Definition at line 96 of file OTstream.C.

◆ write() [5/10]

Foam::Ostream & write ( const std::string &  str)
overridevirtual

Write string.

Implements Ostream.

Definition at line 105 of file OTstream.C.

◆ write() [6/10]

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

Write int32_t as a label.

Implements Ostream.

Definition at line 114 of file OTstream.C.

◆ write() [7/10]

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

Write int64_t as a label.

Implements Ostream.

Definition at line 122 of file OTstream.C.

◆ write() [8/10]

Foam::Ostream & write ( const float  val)
overridevirtual

Write float.

Implements Ostream.

Definition at line 130 of file OTstream.C.

◆ write() [9/10]

Foam::Ostream & write ( const double  val)
overridevirtual

Write double.

Implements Ostream.

Definition at line 138 of file OTstream.C.

◆ write() [10/10]

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

Write binary block with 8-byte alignment.

Implements Ostream.

Definition at line 146 of file OTstream.C.

References NotImplemented.

◆ writeRaw()

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

Low-level raw binary output.

Implements Ostream.

Definition at line 161 of file OTstream.C.

References NotImplemented.

◆ beginRawWrite()

bool beginRawWrite ( std::streamsize  count)
overridevirtual

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 NotImplemented.

◆ endRawWrite()

virtual bool endRawWrite ( )
inlineoverridevirtual

End marker for low-level raw binary output.

Implements Ostream.

Definition at line 218 of file OTstream.H.

◆ indent()

virtual void indent ( )
inlineoverridevirtual

Add indentation characters.

Implements Ostream.

Definition at line 226 of file OTstream.H.

◆ flags() [1/2]

virtual ios_base::fmtflags flags ( ) const
inlineoverridevirtual

Get flags of output stream.

Implements IOstream.

Definition at line 235 of file OTstream.H.

◆ flags() [2/2]

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

Set flags of stream - ignored.

Implements IOstream.

Definition at line 243 of file OTstream.H.

◆ flush()

virtual void flush ( )
inlineoverridevirtual

Flush stream.

Implements Ostream.

Definition at line 251 of file OTstream.H.

◆ endl()

virtual void endl ( )
inlineoverridevirtual

Add newline and flush stream.

Implements Ostream.

Definition at line 257 of file OTstream.H.

◆ fill() [1/2]

virtual char fill ( ) const
inlineoverridevirtual

Get the current padding character.

Returns
previous padding character

Implements Ostream.

Definition at line 265 of file OTstream.H.

◆ fill() [2/2]

virtual char fill ( const char  )
inlineoverridevirtual

Set padding character for formatted field up to field width.

Implements Ostream.

Definition at line 273 of file OTstream.H.

◆ width() [1/2]

virtual int width ( ) const
inlineoverridevirtual

Get width of output field.

Implements Ostream.

Definition at line 281 of file OTstream.H.

◆ width() [2/2]

virtual int width ( const int  )
inlineoverridevirtual

Set width of output field.

Returns
previous width

Implements Ostream.

Definition at line 291 of file OTstream.H.

◆ precision() [1/2]

virtual int precision ( ) const
inlineoverridevirtual

Get precision of output field.

Implements Ostream.

Definition at line 299 of file OTstream.H.

◆ precision() [2/2]

virtual int precision ( const int  )
inlineoverridevirtual

Set precision of output field.

Returns
old precision

Implements Ostream.

Definition at line 309 of file OTstream.H.

◆ reset()

void reset ( )
inline

Reset the output buffer and rewind the stream.

Definition at line 320 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 328 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
overridevirtual

Print stream description to Ostream.

Reimplemented from IOstream.

Definition at line 188 of file OTstream.C.

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

Here is the call graph for this function:

◆ writeQuoted() [2/3]

virtual Ostream& writeQuoted

Inherit write methods from Ostream.

◆ writeQuoted() [3/3]

Foam::Ostream & writeQuoted

Inherit write methods from Ostream.

Definition at line 45 of file Ostream.C.


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