Inline base-64 encoded binary output. Uses an output filter layer to write base-64 encoded content. More...
#include <foamVtkBase64Formatter.H>


Public Member Functions | |
| base64Formatter (std::ostream &os) | |
| Construct and attach to an output stream. | |
| virtual | ~base64Formatter () |
| Destructor. Closes/flushes the underlying layer. | |
| virtual const vtk::outputOptions & | opts () const |
| The output is INLINE_BASE64. | |
| virtual const char * | name () const |
| Name for the XML output type ("binary"). | |
| virtual void | flush () |
| End the encoding sequence (padding the final characters with '='). | |
| Public Member Functions inherited from foamVtkBase64Layer | |
| virtual | ~foamVtkBase64Layer () |
| Destructor. Closes/flushes the underlying layer. | |
| virtual const char * | encoding () const |
| Name for the XML append encoding ("base64"). | |
| virtual bool | writeSize (const uint64_t numbytes) |
| Write leading size for binary output. | |
| 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 std::size_t | encodedLength (std::size_t n) const |
| The encoded length for base64 encoded output. | |
| Public Member Functions inherited from formatter | |
| virtual | ~formatter ()=default |
| Destructor. | |
| std::ostream & | os () noexcept |
| Access to the underlying output stream. | |
| void | quoting (quoteChar quote) noexcept |
| Change quoting char for XML attributes (default: SINGLE_QUOTE). | |
| virtual uint64_t | offset (const uint64_t numbytes) |
| Increase the append data offset by numbytes and sizeof(uint64_t). | |
| void | indent () |
| Add indenting according to the current XML tag depth. | |
| void | indent (label n) |
| Add indenting of n spaces. | |
| formatter & | xmlHeader () |
| Write XML header. | |
| template<class... Args> | |
| formatter & | xmlComment (const std::string &text, Args &&... args) |
| Write XML comment (at the current indentation level). | |
| template<class... Args> | |
| formatter & | openTag (const word &tagName, Args &&... args) |
| Start an XML tag, optionally with attributes. | |
| template<class... Args> | |
| formatter & | openTag (vtk::fileTag t, Args &&... args) |
| Start an XML tag, optionally with attributes. | |
| formatter & | closeTag (const bool isEmpty=false) |
| Finish an XML tag, optional as an empty container. | |
| formatter & | endTag (const word &tagName=word::null) |
| An end XML tag, optional with sanity check. | |
| virtual formatter & | endTag (vtk::fileTag t) |
| An end XML tag with sanity check. | |
| template<class... Args> | |
| formatter & | tag (const word &t, Args &&... args) |
| Write XML tag without any attributes. Combines openTag/closeTag. | |
| template<class... Args> | |
| formatter & | tag (vtk::fileTag t, Args &&... args) |
| Write XML tag without any attributes. Combines openTag/closeTag. | |
| formatter & | beginVTKFile (const word &contentType, const word &contentVersion, const bool leaveOpen=false) |
| Add a "VTKFile" XML tag for contentType, followed by a tag for the contentType itself. | |
| formatter & | beginVTKFile (vtk::fileTag contentType, const word &contentVersion, const bool leaveOpen=false) |
| Add a "VTKFile" XML tag for contentType, followed by a tag for the contentType itself. | |
| formatter & | beginVTKFile (vtk::fileTag contentType, const bool leaveOpen=false) |
| Add a "VTKFile" XML tag for contentType, followed by a tag for the contentType itself. | |
| template<vtk::fileTag ContentType> | |
| formatter & | beginVTKFile (bool leaveOpen=false) |
| Add a "VTKFile" XML tag for contentType, followed by a tag for the contentType itself. | |
| formatter & | beginAppendedData () |
| Add a "AppendedData" XML tag with the current encoding and output the requisite '_' prefix. | |
| formatter & | beginBlock (label index, std::string name="") |
| Begin "Block" XML section. | |
| formatter & | endBlock () |
| End "Block" XML section. | |
| formatter & | beginPiece (label index, std::string name="") |
| Begin "Piece" XML section. | |
| virtual formatter & | endPiece () |
| End "Piece" XML section. | |
| formatter & | DataSet (label index, std::string file="", bool autoName=true) |
| Insert a single "DataSet" XML entry tag. | |
| formatter & | DataSet (label index, std::string file, std::string name) |
| Insert a single "DataSet" XML entry tag. | |
| template<class Type, direction nComp = 1, int nTuple = 0> | |
| formatter & | beginDataArray (const word &dataName, uint64_t payLoad=npos, bool leaveOpen=false) |
| Begin "DataArray" XML section. | |
| template<class Type, direction nComp = 1, int nTuple = 0> | |
| formatter & | beginDataArray (const vtk::dataArrayAttr &dataName, uint64_t payLoad=npos, bool leaveOpen=false) |
| Begin "DataArray" XML section. | |
| virtual formatter & | endDataArray () |
| End "DataArray" XML section. | |
| template<class Type, direction nComp = 1, int nTuple = 0> | |
| formatter & | PDataArray (const word &dataName) |
| Insert a single "PDataArray" XML entry tag. | |
| formatter & | beginFieldData () |
| Begin "FieldData" XML section. | |
| formatter & | beginCellData () |
| Begin "CellData" XML section. | |
| formatter & | beginPointData () |
| Begin "PointData" XML section. | |
| virtual formatter & | endFieldData () |
| End "FieldData" XML section. | |
| virtual formatter & | endCellData () |
| End "CellData" XML section. | |
| virtual formatter & | endPointData () |
| End "PointData" XML section. | |
| formatter & | endAppendedData () |
| End "AppendedData" XML section. | |
| virtual formatter & | endVTKFile () |
| End "VTKFile" XML section. | |
| formatter & | writeTimeValue (scalar timeValue) |
| Emit "TimeValue" for FieldData (name as per Catalyst output). | |
| template<class... Args> | |
| formatter & | xmlAttr (const word &k, const std::string &v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const word &k, const int32_t v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const word &k, const int64_t v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const word &k, const uint64_t v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const word &k, const scalar v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const vtk::fileAttr &k, const std::string &v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const vtk::fileAttr &k, const int32_t v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const vtk::fileAttr &k, const int64_t v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const vtk::fileAttr &k, const uint64_t v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class... Args> | |
| formatter & | xmlAttr (const vtk::fileAttr &k, const scalar v, Args &&... args) |
| Pair-wise write of XML key/value attributes. | |
| template<class Type, direction nComp = 1, int nTuple = 0> | |
| formatter & | openDataArray (const word &dataName) |
| Open "DataArray" XML tag and leave open (requires a closeTag). | |
| template<class Type, direction nComp = 1, int nTuple = 0> | |
| formatter & | openDataArray (const vtk::dataArrayAttr &dataName) |
| Open "DataArray" XML tag and leave open (requires a closeTag). | |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlComment (const std::string &text, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | openTag (const word &tagName, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | openTag (vtk::fileTag t, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | tag (const word &t, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | tag (vtk::fileTag t, Args &&... args) |
| template<Foam::vtk::fileTag ContentType> | |
| Foam::vtk::formatter & | beginVTKFile (bool leaveOpen) |
| template<class Type, Foam::direction nComp, int nTuple> | |
| Foam::vtk::formatter & | beginDataArray (const vtk::dataArrayAttr &dataName, uint64_t payLoad, bool leaveOpen) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const word &k, const std::string &v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const word &k, const int32_t v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const word &k, const int64_t v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const word &k, const uint64_t v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const word &k, const scalar v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const vtk::fileAttr &k, const std::string &v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const vtk::fileAttr &k, const int32_t v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const vtk::fileAttr &k, const int64_t v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const vtk::fileAttr &k, const uint64_t v, Args &&... args) |
| template<class... Args> | |
| Foam::vtk::formatter & | xmlAttr (const vtk::fileAttr &k, const scalar v, Args &&... args) |
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. | |
| Static Public Attributes inherited from formatter | |
| static constexpr uint64_t | npos = uint64_t(-1) |
| Out of range position or size. | |
| Protected Member Functions inherited from foamVtkBase64Layer | |
| void | write (const char *s, std::streamsize n) |
| Write. | |
| foamVtkBase64Layer (const foamVtkBase64Layer &)=delete | |
| No copy construct. | |
| void | operator= (const foamVtkBase64Layer &)=delete |
| No copy assignment. | |
| foamVtkBase64Layer (std::ostream &os) | |
| Construct and attach to an output stream. | |
| Protected Member Functions inherited from formatter | |
| bool | canWriteAttr (const word &k) const |
| Can write XML key/value attribute pair when inside a tag. Emit warning and return false if this condition is not met. | |
| bool | canWriteToplevel (const char *what) const |
| Can write tag-like top-level content (eg, comment, ...) when not already inside a tag. Emit warning and return false if this condition is not met. | |
| template<class Type> | |
| void | writeAttr (const word &k, const Type &v) |
| Write XML key/value attribute pair (implementation). | |
| formatter & | xmlAttr () |
| No-op write XML attribute (for templating code). | |
| template<class... Args> | |
| void | xmlCommentLoop (const std::string &text, Args &&... args) |
| Loop/output XML comments. | |
| bool | openTagImpl (const word &tagName) |
| Open XML tag (implementation), checking if not already inside another tag. Emit warning and return false if this condition is not met. | |
| formatter (std::ostream &os) | |
| Construct and attach to an output stream. | |
| Protected Member Functions inherited from base64Layer | |
| void | add (char c) |
| Add a character to the group, outputting when the group is full. | |
| base64Layer (std::ostream &os) noexcept | |
| Attach to an output stream. | |
| base64Layer (const base64Layer &)=delete | |
| No copy construct. | |
| void | operator= (const base64Layer &)=delete |
| No copy assignment. | |
| ~base64Layer () | |
| Destructor. Performs close(). | |
| void | write (const char *s, std::streamsize n) |
| Encode the character sequence, writing when possible. | |
| void | reset () noexcept |
| Restart a new encoding sequence. | |
| bool | close () |
| End the encoding sequence, padding the final characters with '='. | |
| Static Protected Member Functions inherited from base64Layer | |
| static constexpr std::size_t | encodedLength (std::size_t len) noexcept |
| The encoded length has 4 bytes out for every 3 bytes and any trailing bytes are padded with '='. | |
| Protected Attributes inherited from formatter | |
| std::ostream & | os_ |
| The output stream for the formatter. | |
| DynamicList< word > | xmlTags_ |
| LIFO stack of current XML tags. | |
| bool | inTag_ |
| Tag open/closed/ended state. | |
| char | quote_ |
| Quoting character for XML attributes. | |
Inline base-64 encoded binary output. Uses an output filter layer to write base-64 encoded content.
Definition at line 50 of file foamVtkBase64Formatter.H.
|
explicit |
Construct and attach to an output stream.
References formatter::os().

|
virtual |
Destructor. Closes/flushes the underlying layer.
|
virtual |
The output is INLINE_BASE64.
Implements formatter.
|
virtual |
Name for the XML output type ("binary").
Implements formatter.
|
virtual |
End the encoding sequence (padding the final characters with '=').
and write a newline to the output if any encoding was done.
Reimplemented from foamVtkBase64Layer.