LEOValue (Private)

Includes:
"LEOValue.h"
"LEOInterpreter.h"
"LEOContextGroup.h"
<stdlib.h>
<stdio.h>
<string.h>
<ctype.h>
<math.h>
"LEOInstructions.h"

Introduction

The actual implementation and "private API" used to implement the various LEOValue subclasses.



Groups

LEOValueStringConstant

Group members:

 

LEOValueNumber

Group members:

 

LEOValueString

Group members:

 

LEOValueReference

Group members:

 

LEOValueBoolean

Group members:

 

LEOValueInteger

Group members:

 

Shared LEOValue Method Implementations

Group members:


Functions

LEOCantGetValueAsBoolean
LEOCantGetValueAsInteger
LEOCantGetValueAsNumber
LEOCantGetValueAsRange
LEOCantGetValueAsRangeOfString
LEOCantGetValueAsRect
LEOCantGetValueAsString
LEOCantGetValueForKey
LEOCantSetValueAsBoolean
LEOCantSetValueAsInteger
LEOCantSetValueAsNativeObject
LEOCantSetValueAsNumber
LEOCantSetValueAsRange
LEOCantSetValueAsRect
LEOCantSetValueAsString
LEOCantSetValueForKey
LEOCantSetValueRangeAsString
LEOCleanUpBooleanValue
LEOCleanUpIntegerValue
LEOCleanUpNativeObjectValue
LEOCleanUpNumberValue
LEOCleanUpReferenceValue
LEOCleanUpStringConstantValue
LEOCleanUpStringValue
LEOGetAnyValueAsRangeOfString
LEOGetBooleanValueAsBoolean
LEOGetBooleanValueAsString
LEOGetIntegerValueAsInteger
LEOGetIntegerValueAsNumber
LEOGetIntegerValueAsString
LEOGetNumberValueAsInteger
LEOGetNumberValueAsNumber
LEOGetNumberValueAsString
LEOGetRangeValueAsString
LEOGetRectValueAsString
LEOGetReferenceValueAsBoolean
LEOGetReferenceValueAsInteger
LEOGetReferenceValueAsNumber
LEOGetReferenceValueAsRange
LEOGetReferenceValueAsRangeOfString
LEOGetReferenceValueAsRect
LEOGetReferenceValueAsString
LEOGetStringValueAsBoolean
LEOGetStringValueAsInteger
LEOGetStringValueAsNumber
LEOGetStringValueAsRangeOfString
LEOGetStringValueAsString
LEOInitBooleanValueCopy
LEOInitIntegerValueCopy
LEOInitNativeObjectValueCopy
LEOInitNumberValueCopy
LEOInitReferenceValueCopy
LEOInitReferenceValueSimpleCopy
LEOInitStringConstantValueCopy
LEOInitStringValueCopy
LEOSetBooleanValueAsBoolean
LEOSetBooleanValueAsString
LEOSetIntegerValueAsInteger
LEOSetIntegerValueAsNumber
LEOSetIntegerValueAsString
LEOSetNumberValueAsInteger
LEOSetNumberValueAsNumber
LEOSetNumberValueAsString
LEOSetRangeValueAsString
LEOSetRectValueAsString
LEOSetReferenceValueAsArray
LEOSetReferenceValueAsBoolean
LEOSetReferenceValueAsInteger
LEOSetReferenceValueAsNativeObject
LEOSetReferenceValueAsNumber
LEOSetReferenceValueAsRange
LEOSetReferenceValueAsRect
LEOSetReferenceValueAsString
LEOSetReferenceValuePredeterminedRangeAsString
LEOSetReferenceValueRangeAsString
LEOSetStringConstantValueAsBoolean
LEOSetStringConstantValueAsInteger
LEOSetStringConstantValueAsNumber
LEOSetStringConstantValueAsString
LEOSetStringConstantValuePredeterminedRangeAsString
LEOSetStringConstantValueRangeAsString
LEOSetStringValueAsBoolean
LEOSetStringValueAsInteger
LEOSetStringValueAsNumber
LEOSetStringValueAsString
LEOSetStringValueAsStringConstant
LEOSetStringValuePredeterminedRangeAsString
LEOSetStringValueRangeAsString

LEOCantGetValueAsBoolean


bool LEOCantGetValueAsBoolean(
    LEOValuePtr self,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as boolean" error message and abort execution of the current LEOContext.


LEOCantGetValueAsInteger


LEOInteger LEOCantGetValueAsInteger(
    LEOValuePtr self,
    LEOUnit *outUnit,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as integer" error message and abort execution of the current LEOContext.


LEOCantGetValueAsNumber


LEONumber LEOCantGetValueAsNumber(
    LEOValuePtr self,
    LEOUnit *outUnit,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as number" error message and abort execution of the current LEOContext.


LEOCantGetValueAsRange


void LEOCantGetValueAsRange(
    LEOValuePtr self,
    LEOInteger *s,
    LEOInteger *e,
    LEOChunkType *t,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as range" error message and abort execution of the current LEOContext.


LEOCantGetValueAsRangeOfString


void LEOCantGetValueAsRangeOfString(
    LEOValuePtr self,
    LEOChunkType inType, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as string" error message and abort execution of the current LEOContext.

Note that you should not need this as *all* types should convert to string. The one exception are native pointers when we wrap them in a NativeObject value.


LEOCantGetValueAsRect


void LEOCantGetValueAsRect(
    LEOValuePtr self,
    LEOInteger *l,
    LEOInteger *t,
    LEOInteger *r,
    LEOInteger *b,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as rect" error message and abort execution of the current LEOContext.


LEOCantGetValueAsString


const char* LEOCantGetValueAsString(
    LEOValuePtr self,
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as string" error message and abort execution of the current LEOContext.

Note that you should not need this as *all* types should convert to string. The one exception are native pointers when we wrap them in a NativeObject value.


LEOCantGetValueForKey


LEOValuePtr LEOCantGetValueForKey(
    LEOValuePtr self,
    const char *keyName,
    union LEOValue *tempStorage,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as array" error message and abort execution of the current LEOContext.


LEOCantSetValueAsBoolean


void LEOCantSetValueAsBoolean(
    LEOValuePtr self,
    bool inState,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't set as boolean" error message and abort execution of the current LEOContext.


LEOCantSetValueAsInteger


void LEOCantSetValueAsInteger(
    LEOValuePtr self,
    LEOInteger inInteger,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't set as integer" error message and abort execution of the current LEOContext.


LEOCantSetValueAsNativeObject


void LEOCantSetValueAsNativeObject(
    LEOValuePtr self,
    void *inNativeObject,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't set as native object" error message and abort execution of the current LEOContext.


LEOCantSetValueAsNumber


void LEOCantSetValueAsNumber(
    LEOValuePtr self,
    LEONumber inNumber,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't set as number" error message and abort execution of the current LEOContext.


LEOCantSetValueAsRange


Discussion

Generic method implementation used for values to return a "can't set as range" error message and abort execution of the current LEOContext.


LEOCantSetValueAsRect


Discussion

Generic method implementation used for values to return a "can't set as rect" error message and abort execution of the current LEOContext.


LEOCantSetValueAsString


void LEOCantSetValueAsString(
    LEOValuePtr self,
    const char *inString,
    size_t inStringLen,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't set as string" error message and abort execution of the current LEOContext.


LEOCantSetValueForKey


void LEOCantSetValueForKey(
    LEOValuePtr self,
    const char *keyName,
    LEOValuePtr inValue,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't get as array" error message and abort execution of the current LEOContext.


LEOCantSetValueRangeAsString


void LEOCantSetValueRangeAsString(
    LEOValuePtr self,
    LEOChunkType inType, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    const char *inBuf,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to return a "can't set range as string" error message and abort execution of the current LEOContext.


LEOCleanUpBooleanValue


void LEOCleanUpBooleanValue(
    LEOValuePtr self,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Destructor for boolean values. If this value has references, this makes sure that they will produce an error message if they ever try to access it again.


LEOCleanUpIntegerValue


void LEOCleanUpIntegerValue(
    LEOValuePtr self,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Destructor for integer values. If this value has references, this makes sure that they will produce an error message if they ever try to access it again.


LEOCleanUpNativeObjectValue


void LEOCleanUpNativeObjectValue(
    LEOValuePtr self,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Destructor for native object values. If this value has references, this makes sure that they will produce an error message if they ever try to access it again.


LEOCleanUpNumberValue


void LEOCleanUpNumberValue(
    LEOValuePtr self,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Destructor for number values. If this value has references, this makes sure that they will produce an error message if they ever try to access it again.


LEOCleanUpReferenceValue


void LEOCleanUpReferenceValue(
    LEOValuePtr self,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Destructor for reference values. If this value has references, this makes sure that they will produce an error message if they ever try to access it again. Yes, you can have references to references. Use this power wisely.


LEOCleanUpStringConstantValue


void LEOCleanUpStringConstantValue(
    LEOValuePtr self,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Destructor for string constant values. If this value has references, this makes sure that they will produce an error message if they ever try to access it again.


LEOCleanUpStringValue


void LEOCleanUpStringValue(
    LEOValuePtr self,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Destructor for string values. If this value has references, this makes sure that they will produce an error message if they ever try to access it again.


LEOGetAnyValueAsRangeOfString


void LEOGetAnyValueAsRangeOfString(
    LEOValuePtr self,
    LEOChunkType inType, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Generic method implementation used for values to generate a string from them and then return a range of that.


LEOGetBooleanValueAsBoolean


bool LEOGetBooleanValueAsBoolean(
    LEOValuePtr self,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsBoolean for boolean values.


LEOGetBooleanValueAsString


const char* LEOGetBooleanValueAsString(
    LEOValuePtr self,
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsString for boolean values.


LEOGetIntegerValueAsInteger


Discussion

Implementation of GetValueAsInteger for integer values.


LEOGetIntegerValueAsNumber


LEONumber LEOGetIntegerValueAsNumber(
    LEOValuePtr self,
    LEOUnit *outUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetValueAsNumber for integer values.


LEOGetIntegerValueAsString


const char* LEOGetIntegerValueAsString(
    LEOValuePtr self,
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetValueAsString for integer values.


LEOGetNumberValueAsInteger


LEOInteger LEOGetNumberValueAsInteger(
    LEOValuePtr self,
    LEOUnit *outUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetValueAsInteger for number values.


LEOGetNumberValueAsNumber


LEONumber LEOGetNumberValueAsNumber(
    LEOValuePtr self,
    LEOUnit *outUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetValueAsNumber for number values.


LEOGetNumberValueAsString


const char* LEOGetNumberValueAsString(
    LEOValuePtr self,
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetValueAsString for number values.


LEOGetRangeValueAsString


const char* LEOGetRangeValueAsString(
    LEOValuePtr self,
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsString for rectangle values.


LEOGetRectValueAsString


const char* LEOGetRectValueAsString(
    LEOValuePtr self,
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsString for rectangle values.


LEOGetReferenceValueAsBoolean


bool LEOGetReferenceValueAsBoolean(
    LEOValuePtr self,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsBoolean for reference values.


LEOGetReferenceValueAsInteger


Discussion

Implementation of GetAsInteger for reference values.


LEOGetReferenceValueAsNumber


Discussion

Implementation of GetAsNumber for reference values.


LEOGetReferenceValueAsRange


Discussion

Implementation of GetAsRange for reference values.


LEOGetReferenceValueAsRangeOfString


void LEOGetReferenceValueAsRangeOfString(
    LEOValuePtr self,
    LEOChunkType inType, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsRangeOfString for reference values.


LEOGetReferenceValueAsRect


Discussion

Implementation of GetAsRect for reference values.


LEOGetReferenceValueAsString


const char* LEOGetReferenceValueAsString(
    LEOValuePtr self,
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsString for reference values.


LEOGetStringValueAsBoolean


bool LEOGetStringValueAsBoolean(
    LEOValuePtr self,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsBoolean for string values. If the given string can't be completely converted into a boolean, this will fail with an error message and abort execution of the current LEOContext.


LEOGetStringValueAsInteger


LEOInteger LEOGetStringValueAsInteger(
    LEOValuePtr self,
    LEOUnit *outUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsInteger for string values. If the given string can't be completely converted into an integer, this will fail with an error message and abort execution of the current LEOContext.


LEOGetStringValueAsNumber


LEONumber LEOGetStringValueAsNumber(
    LEOValuePtr self,
    LEOUnit *outUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsNumber for string values. If the given string can't be completely converted into a number, this will fail with an error message and abort execution of the current LEOContext.


LEOGetStringValueAsRangeOfString


void LEOGetStringValueAsRangeOfString(
    LEOValuePtr self,
    LEOChunkType inType, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsRangeOfString for string values.


LEOGetStringValueAsString


const char* LEOGetStringValueAsString(
    LEOValuePtr self,
    char *outBuf,
    size_t bufSize,
    struct LEOContext *inContext ) 
Discussion

Implementation of GetAsString for string values.


LEOInitBooleanValueCopy


void LEOInitBooleanValueCopy(
    LEOValuePtr self,
    LEOValuePtr dest,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Implementation of InitCopy for boolean values.


LEOInitIntegerValueCopy


void LEOInitIntegerValueCopy(
    LEOValuePtr self,
    LEOValuePtr dest,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Implementation of InitCopy for integer values.


LEOInitNativeObjectValueCopy


void LEOInitNativeObjectValueCopy(
    LEOValuePtr self,
    LEOValuePtr dest,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Implementation of InitCopy for native object values.


LEOInitNumberValueCopy


void LEOInitNumberValueCopy(
    LEOValuePtr self,
    LEOValuePtr dest,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Implementation of InitCopy for number values.


LEOInitReferenceValueCopy


void LEOInitReferenceValueCopy(
    LEOValuePtr self,
    LEOValuePtr dest,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Implementation of InitCopy for reference values. This method is safe to call even if the original value this reference points to has already gone away.


LEOInitReferenceValueSimpleCopy


void LEOInitReferenceValueSimpleCopy(
    LEOValuePtr self,
    LEOValuePtr dest,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Implementation of InitCopy for reference values. This method is safe to call even if the original value this reference points to has already gone away.


LEOInitStringConstantValueCopy


void LEOInitStringConstantValueCopy(
    LEOValuePtr self,
    LEOValuePtr dest,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Implementation of InitCopy for string constant values.


LEOInitStringValueCopy


void LEOInitStringValueCopy(
    LEOValuePtr self,
    LEOValuePtr dest,
    LEOKeepReferencesFlag keepReferences,
    struct LEOContext *inContext ) 
Discussion

Implementation of InitCopy for string values.


LEOSetBooleanValueAsBoolean


void LEOSetBooleanValueAsBoolean(
    LEOValuePtr self,
    bool inBoolean,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsBoolean for boolean values.


LEOSetBooleanValueAsString


void LEOSetBooleanValueAsString(
    LEOValuePtr self,
    const char *inString,
    size_t inStringLen,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsString for boolean values. If the given string can't be fully converted to a boolean, this will fail with an error message and abort execution of the current LEOContext.


LEOSetIntegerValueAsInteger


void LEOSetIntegerValueAsInteger(
    LEOValuePtr self,
    LEOInteger inInteger,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsInteger for integer values.


LEOSetIntegerValueAsNumber


void LEOSetIntegerValueAsNumber(
    LEOValuePtr self,
    LEONumber inNumber,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsNumber for integer values.


LEOSetIntegerValueAsString


void LEOSetIntegerValueAsString(
    LEOValuePtr self,
    const char *inInteger,
    size_t inIntegerLen,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsString for integer values. If the given string can't be fully converted to an integer, this will fail with an error message and abort execution of the current LEOContext.


LEOSetNumberValueAsInteger


void LEOSetNumberValueAsInteger(
    LEOValuePtr self,
    LEOInteger inInteger,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsInteger for number values.


LEOSetNumberValueAsNumber


void LEOSetNumberValueAsNumber(
    LEOValuePtr self,
    LEONumber inNumber,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsNumber for number values.


LEOSetNumberValueAsString


void LEOSetNumberValueAsString(
    LEOValuePtr self,
    const char *inNumber,
    size_t inNumberLen,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsString for number values. If the given string can't be fully converted to a number, this will fail with an error message and abort execution of the current LEOContext.


LEOSetRangeValueAsString


void LEOSetRangeValueAsString(
    LEOValuePtr self,
    const char *inString,
    size_t inStringLen,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsString for range values. If the given string can't be fully converted to a range, this will fail with an error message and abort execution of the current LEOContext.


LEOSetRectValueAsString


void LEOSetRectValueAsString(
    LEOValuePtr self,
    const char *inString,
    size_t inStringLen,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetValueAsString for rectangle values. If the given string can't be fully converted to a rectangle, this will fail with an error message and abort execution of the current LEOContext.


LEOSetReferenceValueAsArray


void LEOSetReferenceValueAsArray(
    LEOValuePtr self,
    struct LEOArrayEntry *inArray,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsArray for reference values.


LEOSetReferenceValueAsBoolean


void LEOSetReferenceValueAsBoolean(
    LEOValuePtr self,
    bool inBoolean,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsBoolean for reference values.


LEOSetReferenceValueAsInteger


void LEOSetReferenceValueAsInteger(
    LEOValuePtr self,
    LEOInteger inInteger,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsInteger for reference values.


LEOSetReferenceValueAsNativeObject


void LEOSetReferenceValueAsNativeObject(
    LEOValuePtr self,
    void *inNativeObject,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsNativeObject for reference values.


LEOSetReferenceValueAsNumber


void LEOSetReferenceValueAsNumber(
    LEOValuePtr self,
    LEONumber inNumber,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsNumber for reference values.


LEOSetReferenceValueAsRange


Discussion

Implementation of SetAsRange for reference values.


LEOSetReferenceValueAsRect


Discussion

Implementation of SetAsRect for reference values.


LEOSetReferenceValueAsString


void LEOSetReferenceValueAsString(
    LEOValuePtr self,
    const char *inString,
    size_t inStringLen,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsString for reference values.


LEOSetReferenceValuePredeterminedRangeAsString


void LEOSetReferenceValuePredeterminedRangeAsString(
    LEOValuePtr self,
    size_t inRangeStart,
    size_t inRangeEnd, 
    const char *inBuf,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetPredeterminedRangeAsString for reference values.


LEOSetReferenceValueRangeAsString


void LEOSetReferenceValueRangeAsString(
    LEOValuePtr self,
    LEOChunkType inType, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    const char *inBuf,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetRangeAsString for reference values.


LEOSetStringConstantValueAsBoolean


void LEOSetStringConstantValueAsBoolean(
    LEOValuePtr self,
    bool inBoolean,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsString for string constant values.


LEOSetStringConstantValueAsInteger


void LEOSetStringConstantValueAsInteger(
    LEOValuePtr self,
    LEOInteger inInteger,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsInteger for string constant values. This turns the value into a regular (dynamic) string value.


LEOSetStringConstantValueAsNumber


void LEOSetStringConstantValueAsNumber(
    LEOValuePtr self,
    LEONumber inNumber,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsNumber for string constant values. This turns the value into a regular (dynamic) string value.


LEOSetStringConstantValueAsString


void LEOSetStringConstantValueAsString(
    LEOValuePtr self,
    const char *inString,
    size_t inStringLen,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsString for string constant values. This turns the value into a regular (dynamic) string value.


LEOSetStringConstantValuePredeterminedRangeAsString


void LEOSetStringConstantValuePredeterminedRangeAsString(
    LEOValuePtr self, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    const char *inBuf,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetPredeterminedRangeAsString for string constant values.


LEOSetStringConstantValueRangeAsString


void LEOSetStringConstantValueRangeAsString(
    LEOValuePtr self,
    LEOChunkType inType, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    const char *inBuf,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetRangeAsString for string constant values. This turns the value into a regular (dynamic) string value.


LEOSetStringValueAsBoolean


void LEOSetStringValueAsBoolean(
    LEOValuePtr self,
    bool inBoolean,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsBoolean for string values. This turns the string value into a constant string.


LEOSetStringValueAsInteger


void LEOSetStringValueAsInteger(
    LEOValuePtr self,
    LEOInteger inInteger,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsInteger for string values.


LEOSetStringValueAsNumber


void LEOSetStringValueAsNumber(
    LEOValuePtr self,
    LEONumber inNumber,
    LEOUnit inUnit,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsNumber for string values.


LEOSetStringValueAsString


void LEOSetStringValueAsString(
    LEOValuePtr self,
    const char *inString,
    size_t inStringLen,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetAsString for string values. This turns the string value into a constant string if the passed-in string is NULL (from delete) or 0-length.


LEOSetStringValueAsStringConstant


void LEOSetStringValueAsStringConstant(
    LEOValuePtr self,
    const char *inString,
    struct LEOContext *inContext ) 
Discussion

Helper function used to turn a string value into a string constant value, and assigning it the given constant string (i.e. assigning the string by reference and not copying it). The caller is responsible for ensuring that the string is not disposed of while the value still needs it.


LEOSetStringValuePredeterminedRangeAsString


void LEOSetStringValuePredeterminedRangeAsString(
    LEOValuePtr self, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    const char *inBuf,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetPredeterminedRangeAsString for string values.


LEOSetStringValueRangeAsString


void LEOSetStringValueRangeAsString(
    LEOValuePtr self,
    LEOChunkType inType, 
    size_t inRangeStart,
    size_t inRangeEnd, 
    const char *inBuf,
    struct LEOContext *inContext ) 
Discussion

Implementation of SetRangeAsString for string values.