Sack Library Documentation
ContentsIndexReferenceHome
Macros
Macros
Name 
Description 
Flattens all segments in a line to a single segment result. 
Collapses an indirect segment or a while list of segments into a single segment with content expanded. When passed to things like TextParse and Burst, segments have their positioning encoded to counters for tabs and spaces; the segment itself contains only text without whitespace. Buildline expands these segments into their plain text representation. 
normal_punctuation=WIDE("'"\({[<>]}):@%/,;!?=*&$^~#`");
Process a line of PTEXT into another line of PTEXT, but with words parsed as appropriate for common language. 
This is macro sack::containers::text::CharWConvert. 
This is macro sack::containers::text::CharWConvertLen. 
This is macro sack::containers::text::DECLTEXT. 
This is macro sack::containers::text::DECLTEXTSZ. 
This is macro sack::containers::text::DECLTEXTSZTYPE. 
This is macro sack::containers::text::DEFTEXT. 
This is macro sack::containers::text::FORALLTEXT. 
 
special coordinate which is NO coordinate 
flag combinatoin which represents actual data is present even with 0 size extended format operations (position, ops) are also considered data. 
Tests a PTEXT segment to see if it might be a floating point number. 
IsSegAnyNumber returns 0 if no, 1 if is int, 2 if is float if pfNumber or piNumber are available then the text pointer will be updated to the next segment after what was used to resolve the number. bUseAllSegs is for testing pTexts which are indirect, such that only all segments within the indirect segment will result valid. pfNumber and piNumber may be passed as NULL, and the function can still be used to determine ifnumber the number resulting in the values pointed to will be filled in with (*pfNumber)=FltCreateFromSeg(p) (or Int as appropriate)
#define IsNumber(p) IsSegAnyNumberEx( &(p), NULL,... more 
Tests the content of a PTEXT to see if it might be a number. 
Duplicates a linked list of segments.
Duplicates the structure of a line. The resulting line is an exact duplicate of the input line. All segments linked in exactly the same sorts of ways. 
Computes the length of characters in a line, if all segments in the line are flattened into a single word. 
 
This is macro sack::containers::text::LineLengthExx. 
Release a line of text.
A line may be a single segment.
This is the proper way to dispose of PTEXT segments.
Any segment in the line may be passed, the first segment is found, and then all segments in the line are deleted. 
A convenient macro to go from one segment in a line of text to the next segment. 
A convenient macro to go from one segment in a line of text to the prior segment. 
This is function sack::containers::text::SegConcatEx. 
Create a PTEXT with specified number of character capacity. 
Create a text segment from a _64 bit value. (long long int) 
Creates a PTEXT segment from a string. 
 
Creates a text segment from a floating point value. Probably uses something like '%g' to format output. Fairly limited. 
Creates a text segment from a 64 bit integer. 
Creates a PTEXT segment from a string. 
 
Creates a PTEXT segment from a string. 
Creates a text segment that refers to the parameter indirectly. The new segment is not really a clone, but a reference of the original PTEXT
This duplicates a specific segment. It duplicates the first segment of a string. If the segment has indirect data, then the first segment of the indirect data is duplicated. 
This is macro sack::containers::text::SegExpand. 
Release a single segment. UNSAFE. Does not respect that it is in a list
Split a PTEXT segment. 
Sets a PTEXT to the last segment that it points to. 
Set segment's indirect data. 
Link one PTEXT segment to another. Sets one half of the links appropriate for usage. 
Link one PTEXT segment to another. Sets one half of the links appropriate for usage. 
Sets a pointer to PTEXT to the first text segment in the list
might also check to see if pseg is an indirect - setting this size would be BAD 
Duplicate the whole string of text to another string with exactly the same content. 
define SameText( l1, l2 ) ( strcmp( GetText(l1), GetText(l2) ) ) 
test flag, format has position data 
Adds a single character to a PVARTEXT collector. 
Adds a single character to a PVARTEXT collector. 
The simplest, most general way to create a PVARTEXT collector. The most extended vartext creator allows specification of how long the initial buffer is, and how much the buffer expands by when required. This was added to optimize building HUGE SQL queries, working withing 100k buffers that expanded by 50k at a time was a lot less operations than expanding 32 bytes or something at a time. 
This is function sack::containers::text::VarTextCreateExEx. 
Destroy a VarText collector. 
Empties a PVARTEXT structure. 
Commits the currently collected text to segment, and adds the segment to the internal line accumulator. returns true if any data was added... move any collected text to commit... 
Add a specified number of characters to the amount of space in the VARTEXT collector. 
Gets the text segment built in the VarText. The PVARTEXT is set to empty. Clears the collector. 
Probably should not be exported. Initializes a VARTEXT structure to prepare it for subsequent VarText operations. 
Returns the PTEXT that is currently in a PVARTEXT. It does not alter the contents of the PVARTEXT. Do not LineRelease this peeked value. 
TYPELIB_PROC int vtprintfEx( PVARTEXT pvt DBG_PASS TYPELIB_CALLTYPE CTEXTSTR format, ... ; 
This is macro sack::containers::text::WcharConvert. 
This is macro sack::containers::text::WcharConvertLen. 
Created with a commercial version of Doc-O-Matic. In order to make this message disappear you need to register this software. If you have problems registering this software please contact us at support@toolsfactory.com.
Copyright (c) 2000+. All rights reserved.