foamVtkBase64Layer Class Reference

Base-64 encoded output layer - normally only used indirectly by formatters. More...

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

Public Member Functions

virtual ~foamVtkBase64Layer ()
 Destructor. Closes/flushes the underlying layer. More...
 
virtual const char * encoding () const
 Name for the XML append encoding ("base64"). More...
 
virtual bool writeSize (const uint64_t numbytes)
 Write leading size for binary output. More...
 
virtual void write (const uint8_t val)
 
virtual void write (const label val)
 
virtual void write (const float val)
 
virtual void write (const double val)
 
virtual void flush ()
 End the encoding sequence (padding the final characters with '=') More...
 
virtual std::size_t encodedLength (std::size_t n) const
 The encoded length for base64 encoded output. More...
 
- Public Member Functions inherited from formatter
virtual ~formatter ()=default
 Destructor. More...
 
std::ostream & os ()
 Access to the underlying output stream. More...
 
virtual const outputOptionsopts () const =0
 The format-type / output options. More...
 
virtual const char * name () const =0
 Name for the XML output type or the legacy output type. More...
 
void quoting (const quoteChar quote)
 Change quoting char for XML attributes (default: SINGLE_QUOTE) More...
 
virtual uint64_t offset (const uint64_t numbytes)
 Increase the append data offset by numbytes and sizeof(uint64_t). More...
 
void indent ()
 Add indenting according to the current XML tag depth. More...
 
void indent (label n)
 Add indenting of n spaces. More...
 
formatterxmlHeader ()
 Write XML header. More...
 
template<class... Args>
formatterxmlComment (const std::string &text, Args &&... args)
 Write XML comment (at the current indentation level) More...
 
template<class... Args>
formatteropenTag (const word &tagName, Args &&... args)
 Start an XML tag, optionally with attributes. More...
 
template<class... Args>
formatteropenTag (vtk::fileTag t, Args &&... args)
 Start an XML tag, optionally with attributes. More...
 
formattercloseTag (const bool isEmpty=false)
 Finish an XML tag, optional as an empty container. More...
 
formatterendTag (const word &tagName=word::null)
 An end XML tag, optional with sanity check. More...
 
virtual formatterendTag (vtk::fileTag t)
 An end XML tag with sanity check. More...
 
template<class... Args>
formattertag (const word &t, Args &&... args)
 Write XML tag without any attributes. Combines openTag/closeTag. More...
 
template<class... Args>
formattertag (vtk::fileTag t, Args &&... args)
 Write XML tag without any attributes. Combines openTag/closeTag. More...
 
formatterbeginVTKFile (const word &contentType, const word &contentVersion, const bool leaveOpen=false)
 
formatterbeginVTKFile (vtk::fileTag contentType, const word &contentVersion, const bool leaveOpen=false)
 
formatterbeginVTKFile (vtk::fileTag contentType, const bool leaveOpen=false)
 
template<vtk::fileTag ContentType>
formatterbeginVTKFile (bool leaveOpen=false)
 
formatterbeginAppendedData ()
 
formatterbeginBlock (label index, std::string name="")
 Begin "Block" XML section. More...
 
formatterendBlock ()
 End "Block" XML section. More...
 
formatterbeginPiece (label index, std::string name="")
 Begin "Piece" XML section. More...
 
virtual formatterendPiece ()
 End "Piece" XML section. More...
 
formatterDataSet (label index, std::string file="", bool autoName=true)
 Insert a single "DataSet" XML entry tag. More...
 
formatterDataSet (label index, std::string file, std::string name)
 Insert a single "DataSet" XML entry tag. More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatterbeginDataArray (const word &dataName, uint64_t payLoad=npos, bool leaveOpen=false)
 Begin "DataArray" XML section. More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatterbeginDataArray (const vtk::dataArrayAttr &dataName, uint64_t payLoad=npos, bool leaveOpen=false)
 Begin "DataArray" XML section. More...
 
virtual formatterendDataArray ()
 End "DataArray" XML section. More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatterPDataArray (const word &dataName)
 Insert a single "PDataArray" XML entry tag. More...
 
formatterbeginFieldData ()
 Begin "FieldData" XML section. More...
 
formatterbeginCellData ()
 Begin "CellData" XML section. More...
 
formatterbeginPointData ()
 Begin "PointData" XML section. More...
 
virtual formatterendFieldData ()
 End "FieldData" XML section. More...
 
virtual formatterendCellData ()
 End "CellData" XML section. More...
 
virtual formatterendPointData ()
 End "PointData" XML section. More...
 
formatterendAppendedData ()
 End "AppendedData" XML section. More...
 
virtual formatterendVTKFile ()
 End "VTKFile" XML section. More...
 
formatterwriteTimeValue (scalar timeValue)
 Emit "TimeValue" for FieldData (name as per Catalyst output) More...
 
template<class... Args>
formatterxmlAttr (const word &k, const std::string &v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const word &k, const int32_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const word &k, const int64_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const word &k, const uint64_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const word &k, const scalar v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const std::string &v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const int32_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const int64_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const uint64_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const scalar v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatteropenDataArray (const word &dataName)
 Open "DataArray" XML tag and leave open (requires a closeTag). More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatteropenDataArray (const vtk::dataArrayAttr &dataName)
 Open "DataArray" XML tag and leave open (requires a closeTag). More...
 
template<class... Args>
Foam::vtk::formatterxmlComment (const std::string &text, Args &&... args)
 
template<class... Args>
Foam::vtk::formatteropenTag (const word &tagName, Args &&... args)
 
template<class... Args>
Foam::vtk::formatteropenTag (vtk::fileTag t, Args &&... args)
 
template<class... Args>
Foam::vtk::formattertag (const word &t, Args &&... args)
 
template<class... Args>
Foam::vtk::formattertag (vtk::fileTag t, Args &&... args)
 
template<Foam::vtk::fileTag ContentType>
Foam::vtk::formatterbeginVTKFile (bool leaveOpen)
 
template<class Type , Foam::direction nComp, int nTuple>
Foam::vtk::formatterbeginDataArray (const vtk::dataArrayAttr &dataName, uint64_t payLoad, bool leaveOpen)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const std::string &v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const int32_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const int64_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const uint64_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const scalar v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const std::string &v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const int32_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const int64_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const uint64_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const scalar v, Args &&... args)
 
template<class Type , Foam::direction nComp, int nTuple>
Foam::vtk::formatterbeginDataArray (const word &dataName, uint64_t payLoad, bool leaveOpen)
 
template<class Type , Foam::direction nComp, int nTuple>
Foam::vtk::formatterPDataArray (const word &dataName)
 

Protected Member Functions

void write (const char *s, std::streamsize n)
 Write. More...
 
 foamVtkBase64Layer (std::ostream &os)
 Construct and attach to an output stream. More...
 
- Protected Member Functions inherited from formatter
bool canWriteAttr (const word &k) const
 
bool canWriteToplevel (const char *what) const
 
template<class Type >
void writeAttr (const word &k, const Type &v)
 Write XML key/value attribute pair (implementation). More...
 
formatterxmlAttr ()
 No-op write XML attribute (for templating code). More...
 
void xmlCommentLoop ()
 No-op XML comment loop (for templating code). More...
 
template<class... Args>
void xmlCommentLoop (const std::string &text, Args &&... args)
 Loop/output XML comments. More...
 
bool openTagImpl (const word &tagName)
 
 formatter (std::ostream &os)
 Construct and attach to an output stream. More...
 
- Protected Member Functions inherited from base64Layer
void add (char c)
 Add a character to the group, outputting when the group is full. More...
 
 base64Layer (std::ostream &os)
 Construct and attach to an output stream. More...
 
 ~base64Layer ()
 Destructor. Performs close() More...
 
void write (const char *s, std::streamsize n)
 Encode the character sequence, writing when possible. More...
 
void reset ()
 Restart a new encoding sequence. More...
 
bool close ()
 End the encoding sequence, padding the final characters with '='. More...
 

Additional Inherited Members

- Public Types inherited from formatter
enum  quoteChar : char { DOUBLE_QUOTE = '\"', SINGLE_QUOTE = '\'' }
 Quoting for XML attributes. More...
 
typedef uint64_t headerType
 The header data is vtk UInt64. More...
 
- Static Public Attributes inherited from formatter
static constexpr uint64_t npos = uint64_t(-1)
 Out of range position or size. More...
 
- Static Protected Member Functions inherited from base64Layer
static std::size_t encodedLength (std::size_t n)
 The encoded length has 4 bytes out for every 3 bytes in. More...
 
- Protected Attributes inherited from formatter
std::ostream & os_
 The output stream for the formatter. More...
 
DynamicList< wordxmlTags_
 LIFO stack of current XML tags. More...
 
bool inTag_
 Tag open/closed/ended state. More...
 
char quote_
 Quoting character for XML attributes. More...
 

Detailed Description

Base-64 encoded output layer - normally only used indirectly by formatters.

Definition at line 50 of file foamVtkBase64Layer.H.

Constructor & Destructor Documentation

◆ foamVtkBase64Layer()

foamVtkBase64Layer ( std::ostream &  os)
protected

Construct and attach to an output stream.

Definition at line 50 of file foamVtkBase64Layer.C.

◆ ~foamVtkBase64Layer()

~foamVtkBase64Layer ( )
virtual

Destructor. Closes/flushes the underlying layer.

Definition at line 59 of file foamVtkBase64Layer.C.

References base64Layer::close().

Here is the call graph for this function:

Member Function Documentation

◆ write() [1/5]

void write ( const char *  s,
std::streamsize  n 
)
protected

Write.

Definition at line 39 of file foamVtkBase64Layer.C.

References n, s, and Foam::vtk::write().

Here is the call graph for this function:

◆ encoding()

const char * encoding ( ) const
virtual

Name for the XML append encoding ("base64").

Implements formatter.

Definition at line 67 of file foamVtkBase64Layer.C.

◆ writeSize()

bool writeSize ( const uint64_t  numbytes)
virtual

Write leading size for binary output.

Returns
True - format uses this information

Implements formatter.

Definition at line 73 of file foamVtkBase64Layer.C.

References Foam::vtk::write().

Here is the call graph for this function:

◆ write() [2/5]

void write ( const uint8_t  val)
virtual

Implements formatter.

Definition at line 80 of file foamVtkBase64Layer.C.

References base64Layer::add().

Here is the call graph for this function:

◆ write() [3/5]

void write ( const label  val)
virtual

Implements formatter.

Definition at line 86 of file foamVtkBase64Layer.C.

References Foam::vtk::write().

Here is the call graph for this function:

◆ write() [4/5]

void write ( const float  val)
virtual

Implements formatter.

Definition at line 93 of file foamVtkBase64Layer.C.

References Foam::vtk::write().

Here is the call graph for this function:

◆ write() [5/5]

void write ( const double  val)
virtual

Implements formatter.

Definition at line 100 of file foamVtkBase64Layer.C.

References Foam::max(), and Foam::vtk::write().

Here is the call graph for this function:

◆ flush()

void flush ( )
virtual

End the encoding sequence (padding the final characters with '=')

Implements formatter.

Reimplemented in base64Formatter.

Definition at line 121 of file foamVtkBase64Layer.C.

References base64Layer::close().

Here is the call graph for this function:

◆ encodedLength()

std::size_t encodedLength ( std::size_t  n) const
virtual

The encoded length for base64 encoded output.

Reimplemented from formatter.

Definition at line 127 of file foamVtkBase64Layer.C.

References base64Layer::encodedLength(), and n.

Here is the call graph for this function:

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