|
Open CASCADE Technology
6.7.1
|
Simple Management of a Line Buffer, to be used by Interface
File Writers.
While a String is suitable to do that, this class ensures an
optimised Memory Management, because this is a hard point of
File Writing.
More...
#include <Interface_LineBuffer.hxx>
Public Member Functions | |
| Interface_LineBuffer (const Standard_Integer size=10) | |
| Creates a LineBuffer with an absolute maximum size (Default value is only to satisfy compiler requirement) More... | |
| void | SetMax (const Standard_Integer max) |
| Changes Maximum allowed size of Buffer. If <max> is Zero, Maximum size is set to the initial size. More... | |
| void | SetInitial (const Standard_Integer initial) |
| Sets an Initial reservation for Blank characters (this reservation is counted in the size of the current Line) More... | |
| void | SetKeep () |
| Sets a Keep Status at current Length. It means that at next Move, the new line will begin by characters between Keep + 1 and current Length More... | |
| Standard_Boolean | CanGet (const Standard_Integer more) |
| Returns True if there is room enough to add <more> characters Else, it is required to Dump the Buffer before refilling it <more> is recorded to manage SetKeep status More... | |
| Standard_CString | Content () const |
Returns the Content of the LineBuffer <br> was C++ : return const | |
| Standard_Integer | Length () const |
| Returns the Length of the LineBuffer More... | |
| void | Clear () |
| Clears completely the LineBuffer More... | |
| void | FreezeInitial () |
| Inhibits effect of SetInitial until the next Move (i.e. Keep) Then Prepare will not insert initial blanks, but further ones will. This allows to cancel initial blanks on an internal Split A call to SetInitial has no effect on this until Move More... | |
| void | Move (TCollection_AsciiString &str) |
| Fills a AsciiString <str> with the Content of the Line Buffer, then Clears the LineBuffer More... | |
| void | Move (const Handle< TCollection_HAsciiString > &str) |
| Same as above, but <str> is known through a Handle More... | |
| Handle_TCollection_HAsciiString | Moved () |
| Same as above, but generates the HAsciiString More... | |
| void | Add (const Standard_CString text) |
| Adds a text as a CString. Its Length is evaluated from the text (by C function strlen) More... | |
| void | Add (const Standard_CString text, const Standard_Integer lntext) |
| Adds a text as a CString. Its length is given as <lntext> More... | |
| void | Add (const TCollection_AsciiString &text) |
| Adds a text as a AsciiString from TCollection More... | |
| void | Add (const Standard_Character text) |
| Adds a text made of only ONE Character More... | |
Simple Management of a Line Buffer, to be used by Interface
File Writers.
While a String is suitable to do that, this class ensures an
optimised Memory Management, because this is a hard point of
File Writing.
| Interface_LineBuffer::Interface_LineBuffer | ( | const Standard_Integer | size = 10 | ) |
Creates a LineBuffer with an absolute maximum size
(Default value is only to satisfy compiler requirement)
| void Interface_LineBuffer::Add | ( | const Standard_CString | text | ) |
Adds a text as a CString. Its Length is evaluated from the
text (by C function strlen)
| void Interface_LineBuffer::Add | ( | const Standard_CString | text, |
| const Standard_Integer | lntext | ||
| ) |
Adds a text as a CString. Its length is given as <lntext>
| void Interface_LineBuffer::Add | ( | const TCollection_AsciiString & | text | ) |
Adds a text as a AsciiString from TCollection
| void Interface_LineBuffer::Add | ( | const Standard_Character | text | ) |
Adds a text made of only ONE Character
| Standard_Boolean Interface_LineBuffer::CanGet | ( | const Standard_Integer | more | ) |
Returns True if there is room enough to add <more> characters
Else, it is required to Dump the Buffer before refilling it
<more> is recorded to manage SetKeep status
| void Interface_LineBuffer::Clear | ( | ) |
Clears completely the LineBuffer
| Standard_CString Interface_LineBuffer::Content | ( | ) | const |
Returns the Content of the LineBuffer <br>
was C++ : return const
| void Interface_LineBuffer::FreezeInitial | ( | ) |
Inhibits effect of SetInitial until the next Move (i.e. Keep)
Then Prepare will not insert initial blanks, but further ones
will. This allows to cancel initial blanks on an internal Split
A call to SetInitial has no effect on this until Move
| Standard_Integer Interface_LineBuffer::Length | ( | ) | const |
Returns the Length of the LineBuffer
| void Interface_LineBuffer::Move | ( | TCollection_AsciiString & | str | ) |
Fills a AsciiString <str> with the Content of the Line Buffer,
then Clears the LineBuffer
| void Interface_LineBuffer::Move | ( | const Handle< TCollection_HAsciiString > & | str | ) |
Same as above, but <str> is known through a Handle
| Handle_TCollection_HAsciiString Interface_LineBuffer::Moved | ( | ) |
Same as above, but generates the HAsciiString
| void Interface_LineBuffer::SetInitial | ( | const Standard_Integer | initial | ) |
Sets an Initial reservation for Blank characters
(this reservation is counted in the size of the current Line)
| void Interface_LineBuffer::SetKeep | ( | ) |
Sets a Keep Status at current Length. It means that at next
Move, the new line will begin by characters between Keep + 1
and current Length
| void Interface_LineBuffer::SetMax | ( | const Standard_Integer | max | ) |
Changes Maximum allowed size of Buffer.
If <max> is Zero, Maximum size is set to the initial size.
1.8.5