PCE version 4C man_modulenamespaceid_tablemodified current_idOIxNclass/variableN referenceC hash_tablerefersizeOIxNbothIsNM.variable.G.alloc_valueCman_method_card identifiermodule last_modifiednamesummary descriptionsee_alsoinherit diagnosticsdefaultsbugsOIxNM.variable.G.alloc_valueRICdateOIx>øIoN alloc_valuenCstringOIxValue used to allocate the object. This normally @nil for XPCE slots and NULL for alien slots. It is set to @default for XPCE slots that have a type that accepts @default, but does not accept @nil. E.g. slots of type [int] are initialised to @default. See also ->initial_value.nnnnnsNM.variable.S.clone_styleOIxNM.variable.S.clone_styleRIOIx0¼I8N clone_stylenOIxóDescribes the semantics with respect to cloning instance (`object <-clone') of the instance-variable relation: # recursive When cloning recursively, proceed by cloning the value of this variable recursively too (unless overruled by `class <-clone_style' of the value in the slot). # reference Copy the object reference (e.i. do not clone the value of the slot). If however, the value is cloned as an other part of the cloning process, make the new field point to the copy. # reference_chain The variable contains a chain with references to other objects. In the clone, a new chain will be installed, holding all cloned objects. Used by `text_buffer <-editors'. # value Just copy the value. # alien The slot contains alien data. 32 bits copy is made for it without interpreting the data. Many classes define `class -clone_function' for properly cloning alien data. # nil Replace the value in the copy with @nil. If the value gets cloned as an other part of the cloning process, make the new field point to the copy. This style is used by `graphical <-device'. If a graphical is cloned it will be disconnected from it's device. If a device is cloned however, all graphicals part of it will be cloned and displayed on the clone.nnnnnsNM.variable.S.init_functionOI xNM.variable.S.init_functionRIOI x>øJ¿N init_functionnOI xXFunction to initialise the variable. See ->initial_value and ->alloc_value for details.nnnnnsNV.variable.groupCman_variable_card identifiermodule last_modifiednamesummary descriptionsee_alsoinheritdefaultsOI xNV.variable.groupRIOI x,…ÛñNgroupnOIx_Conceptual group of variable. Used by the online manual and to structure the reference manual.nnnsNM.variable.S.get_accessOIxNM.variable.S.get_accessRIOIx0µ ]N get_accessnOIxBTest if the variable has the indicated access. Exploits <-access.nnnnnsN C.variableCman_class_card identifiermodule last_modifiednamesummary descriptionsee_alsoinherituser_interfacebugsOIxN C.variableRIOIx,…ÙöNvariablenOIxËA variable object describes of an instance-variable (slot, attribute) of an object. Variables are managed by classes and used (among other things) to access slots in objects. A variable has a <-name, which must be unique for this class and all super-classes of this class. A variable has a <-type, which defines the type of value that can be stored in the corresponding slot. Finally, a variable defines <-access: the behaviour that is associated with it.CchainsizeOIxIeN($class/class$M.class.S.instance_variableeN$class/type$C.typeeN $topics$116eN$class/object$M.object.G.sloteN$class/object$M.object.S.sloteN$tools$3XnnnsNM.variable.G.getOIxNM.variable.G.getRIOIx,…Ý NgetnOIxùExecute the variable as a behaviour. <-get requires the argument vector to be empty, ->send requires it to have exactly one element. ->send `type <-check'es the argument. See also class behaviour, `object <-get_method' and `object <-send_method'.nnnnnsNM.variable.S.send_accessOIxNM.variable.S.send_accessRIOIx,…Ü-N send_accessnnnOIxIENM.variable.S.get_accessXnnnsNM.variable.S.save_styleOIxNM.variable.S.save_styleRIOIx,…ÀƒN save_stylenOIxDefines how the value of this instance variable is saved by `object ->save_in_file': normal Save the value according to `class <-save_style' nil Save the value as if it was @nil See also `class <-save_style', `object ->save_in_file' and `file <-object'.nnnnnsNM.variable.G.save_styleOIxNM.variable.G.save_styleRIOI x1jÏN save_stylenOI!x|Save style for this slot. This value is used by `object ->save_in_file' to determine whether or not the value of this slot should be saved in the file. The default value is `normal', which implies the value is saved depending on `class <-save_style'. If this attribute is `nil', the value is saved as if the slot contains the value @nil.nnnnnsNV.variable.accessOI"xNV.variable.accessRIOI#x,…Ú¼NaccessnOI$xThe <-access attribute of a variable defines the side-effect-free methods that are associated: none No methods, only access via `object <->slot' get Get access, only write through `object ->slot' send Send access, only read through `object <-slot' both Both read and write access If a variable requires side-effects for writing (the most common case), it should be declared with <-access: read and a send_method with the same name should be defined on the class. This method may write the variable using `object ->slot'.nnnsNM.variable.S.initial_valueOI%xNM.variable.S.initial_valueRIOI&x>øM6N initial_valuenOI'x¬Initial value for this variable. This is either a plain value or a function object. It is normally passed as the 7-th argument of ->initialise. Please note that using a normal object (e.g. size(20,5)) causes the same size instances to be shared by all individuals of this class. In most cases one should use create(size, 20,5) to force the creation of a new instance. See also class create. The Prolog class compiler supports this through the following construct: variable(size, size:=new(size(20,5)), get). If the argument is a constant, name or int, the ->alloc_value is set. Otherwise special precautions are required in `class <-instance' and the ->init_function is set.nnnnnsNV.variable.typeOI(xNV.variable.typeRIOI)x,…Û]NtypenOI*xHType of object that should be used to fill the instance variable. Checked when an attempt is made to write the variable. The method `object ->_check' may be used to validate the object base. Part of its job is checking the consistency of the values of instance variables. See also ->send, `type <-check' and `type <-convert'.nnnsNM.variable.S.initialiseOI+xNM.variable.S.initialiseRIOI,x,9k1N initialisenOI-x¤Initialise an variable. A variable object normally represents an instance variable of a class (see `class ->instance_variable'. The arguments are: # name (<-name) Name of the instance variable. Instance variable names are local to a class (though instance variables of super-classes are inherited. # type (<-type) The type of object that may be used to fill the instance variable (see `object <->slot'). # access (<-access) Defines implicit side-effect free methods associated with this variable. See ->access. # summary (<-summary) Summary string used by the online documentation # group (<-group) Name of the functional group this variable belongs too.nnnnnsNV.variable.summaryOI.xNV.variable.summaryRIOI/x,…ÜNsummarynOI0xHSummary documentation. Used by the reference manual (online and paper).nnnsNV.variable.offsetOI1xNV.variable.offsetRIOI2x,…ÛÐNoffsetnOI3xYOffset in instance structure. See also `slot <-object' and `class <-instance_variables'.nnnsNM.variable.G.print_nameOI4xNM.variable.G.print_nameRIOI5x0´‘N print_namenOI6xWReturns a name object of the form . For example: point <->xnnnnnsNM.variable.S.sendOI7xNM.variable.S.sendRIOI8x,…Ü‚NsendnnnOI9xIENM.variable.G.getXnnnsNM.variable.G.argument_typeOI:xNM.variable.G.argument_typeRIOI;x,…ßN argument_typenOIx,~ÉN clone_stylennnOI?xIENM.variable.S.clone_styleXnnnXaCnumber O I@xx