Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
Interface_LineBuffer Class Reference

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

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

Detailed Description

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.

Constructor & Destructor Documentation

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)

Member Function Documentation

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.


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