Base-64 encoded output layer - normally only used indirectly by formatters. More...
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... | |
![]() | |
virtual | ~formatter ()=default |
Destructor. More... | |
std::ostream & | os () |
Access to the underlying output stream. More... | |
virtual const outputOptions & | opts () 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... | |
formatter & | xmlHeader () |
Write XML header. More... | |
template<class... Args> | |
formatter & | xmlComment (const std::string &text, Args &&... args) |
Write XML comment (at the current indentation level) More... | |
template<class... Args> | |
formatter & | openTag (const word &tagName, Args &&... args) |
Start an XML tag, optionally with attributes. More... | |
template<class... Args> | |
formatter & | openTag (vtk::fileTag t, Args &&... args) |
Start an XML tag, optionally with attributes. More... | |
formatter & | closeTag (const bool isEmpty=false) |
Finish an XML tag, optional as an empty container. More... | |
formatter & | endTag (const word &tagName=word::null) |
An end XML tag, optional with sanity check. More... | |
virtual formatter & | endTag (vtk::fileTag t) |
An end XML tag with sanity check. More... | |
template<class... Args> | |
formatter & | tag (const word &t, Args &&... args) |
Write XML tag without any attributes. Combines openTag/closeTag. More... | |
template<class... Args> | |
formatter & | tag (vtk::fileTag t, Args &&... args) |
Write XML tag without any attributes. Combines openTag/closeTag. More... | |
formatter & | beginVTKFile (const word &contentType, const word &contentVersion, const bool leaveOpen=false) |
formatter & | beginVTKFile (vtk::fileTag contentType, const word &contentVersion, const bool leaveOpen=false) |
formatter & | beginVTKFile (vtk::fileTag contentType, const bool leaveOpen=false) |
template<vtk::fileTag ContentType> | |
formatter & | beginVTKFile (bool leaveOpen=false) |
formatter & | beginAppendedData () |
formatter & | beginBlock (label index, std::string name="") |
Begin "Block" XML section. More... | |
formatter & | endBlock () |
End "Block" XML section. More... | |
formatter & | beginPiece (label index, std::string name="") |
Begin "Piece" XML section. More... | |
virtual formatter & | endPiece () |
End "Piece" XML section. More... | |
formatter & | DataSet (label index, std::string file="", bool autoName=true) |
Insert a single "DataSet" XML entry tag. More... | |
formatter & | DataSet (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> | |
formatter & | beginDataArray (const word &dataName, uint64_t payLoad=npos, bool leaveOpen=false) |
Begin "DataArray" XML section. More... | |
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. More... | |
virtual formatter & | endDataArray () |
End "DataArray" XML section. More... | |
template<class Type , direction nComp = 1, int nTuple = 0> | |
formatter & | PDataArray (const word &dataName) |
Insert a single "PDataArray" XML entry tag. More... | |
formatter & | beginFieldData () |
Begin "FieldData" XML section. More... | |
formatter & | beginCellData () |
Begin "CellData" XML section. More... | |
formatter & | beginPointData () |
Begin "PointData" XML section. More... | |
virtual formatter & | endFieldData () |
End "FieldData" XML section. More... | |
virtual formatter & | endCellData () |
End "CellData" XML section. More... | |
virtual formatter & | endPointData () |
End "PointData" XML section. More... | |
formatter & | endAppendedData () |
End "AppendedData" XML section. More... | |
virtual formatter & | endVTKFile () |
End "VTKFile" XML section. More... | |
formatter & | writeTimeValue (scalar timeValue) |
Emit "TimeValue" for FieldData (name as per Catalyst output) More... | |
template<class... Args> | |
formatter & | xmlAttr (const word &k, const std::string &v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (const word &k, const int32_t v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (const word &k, const int64_t v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (const word &k, const uint64_t v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (const word &k, const scalar v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (const vtk::fileAttr &k, const std::string &v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (const vtk::fileAttr &k, const int32_t v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (const vtk::fileAttr &k, const int64_t v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (const vtk::fileAttr &k, const uint64_t v, Args &&... args) |
Pair-wise write of XML key/value attributes. More... | |
template<class... Args> | |
formatter & | xmlAttr (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> | |
formatter & | openDataArray (const word &dataName) |
Open "DataArray" XML tag and leave open (requires a closeTag). More... | |
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). More... | |
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) |
template<class Type , Foam::direction nComp, int nTuple> | |
Foam::vtk::formatter & | beginDataArray (const word &dataName, uint64_t payLoad, bool leaveOpen) |
template<class Type , Foam::direction nComp, int nTuple> | |
Foam::vtk::formatter & | PDataArray (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... | |
![]() | |
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... | |
formatter & | xmlAttr () |
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... | |
![]() | |
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 | |
![]() | |
enum | quoteChar : char { DOUBLE_QUOTE = '\"', SINGLE_QUOTE = '\'' } |
Quoting for XML attributes. More... | |
typedef uint64_t | headerType |
The header data is vtk UInt64. More... | |
![]() | |
static constexpr uint64_t | npos = uint64_t(-1) |
Out of range position or size. More... | |
![]() | |
static std::size_t | encodedLength (std::size_t n) |
The encoded length has 4 bytes out for every 3 bytes in. More... | |
![]() | |
std::ostream & | os_ |
The output stream for the formatter. More... | |
DynamicList< word > | xmlTags_ |
LIFO stack of current XML tags. More... | |
bool | inTag_ |
Tag open/closed/ended state. More... | |
char | quote_ |
Quoting character for XML attributes. More... | |
Base-64 encoded output layer - normally only used indirectly by formatters.
Definition at line 50 of file foamVtkBase64Layer.H.
|
protected |
Construct and attach to an output stream.
Definition at line 50 of file foamVtkBase64Layer.C.
|
virtual |
Destructor. Closes/flushes the underlying layer.
Definition at line 59 of file foamVtkBase64Layer.C.
References base64Layer::close().
|
protected |
Write.
Definition at line 39 of file foamVtkBase64Layer.C.
References n, s, and Foam::vtk::write().
|
virtual |
Name for the XML append encoding ("base64").
Implements formatter.
Definition at line 67 of file foamVtkBase64Layer.C.
|
virtual |
Write leading size for binary output.
Implements formatter.
Definition at line 73 of file foamVtkBase64Layer.C.
References Foam::vtk::write().
|
virtual |
Implements formatter.
Definition at line 80 of file foamVtkBase64Layer.C.
References base64Layer::add().
|
virtual |
Implements formatter.
Definition at line 86 of file foamVtkBase64Layer.C.
References Foam::vtk::write().
|
virtual |
Implements formatter.
Definition at line 93 of file foamVtkBase64Layer.C.
References Foam::vtk::write().
|
virtual |
Implements formatter.
Definition at line 100 of file foamVtkBase64Layer.C.
References Foam::max(), and Foam::vtk::write().
|
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().
|
virtual |
The encoded length for base64 encoded output.
Reimplemented from formatter.
Definition at line 127 of file foamVtkBase64Layer.C.
References base64Layer::encodedLength(), and n.