autodoc.git / autodoc.xml

version» Context lines:

autodoc.git/autodoc.xml:5270:   <docgroup homogen-name='make_time' homogen-type='method'><doc><text><p>Creates a <ref resolved='predef::Standards.ASN1.Types.UTC'>Standards.ASN1.Types.UTC</ref> object from the posix    time <ref resolved='8.0::Tools.X509.make_time.t'>t</ref>.</p>   </text></doc>   <method name='make_time'>   <arguments><argument name='t'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::Standards.ASN1.Types.UTC'>UTC</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_verifier' homogen-type='method'>   <method name='make_verifier'> - <arguments><argument name='_keyinfo'><type><object resolved='predef::Object'>Object</object></type></argument></arguments> + <arguments><argument name='_keyinfo'><type><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></type></argument></arguments>   <returntype><object>Verifier</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='parse_time' homogen-type='method'><doc><text><p>Returns a mapping similar to that returned by gmtime</p>   </text><group><returns/><text><mapping><group><member><type><int/></type><index>"year"</index></member><member><type><int/></type><index>"mon"</index></member><member><type><int/></type><index>"mday"</index></member><member><type><int/></type><index>"hour"</index></member><member><type><int/></type><index>"min"</index></member><member><type><int/></type><index>"sec"</index></member></group></mapping>   </text></group></doc>   <method name='parse_time'>   <arguments><argument name='asn1'><type><object resolved='predef::Standards.ASN1.Types.UTC'>UTC</object></type></argument></arguments>   <returntype><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></returntype>   </method>
autodoc.git/autodoc.xml:5371:   </docgroup>   <docgroup homogen-name='der' homogen-type='variable'>   <variable name='der'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc>   <variable name='extensions'><type><object resolved='8.0::Tools.X509.TBSCertificate'/></type></variable>   </docgroup>   <docgroup homogen-name='init' homogen-type='method'>   <method name='init'> - <arguments><argument name='asn1'><type><object resolved='predef::Object'>Object</object></type></argument></arguments> + <arguments><argument name='asn1'><type><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></type></argument></arguments>   <returntype><object resolved='8.0::Tools.X509.TBSCertificate'>this_program</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='issuer' homogen-type='variable'>   <variable name='issuer'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></variable>   </docgroup>   <docgroup homogen-name='issuer_id' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc>   <variable name='issuer_id'><type><object resolved='predef::Standards.ASN1.Types.BitString'>BitString</object></type></variable>   </docgroup>
autodoc.git/autodoc.xml:6103:   </docgroup>   <docgroup homogen-name='_m_clear' homogen-type='method'><doc><text><p>Called by <ref>m_clear()</ref>.</p>   </text><group><seealso/><text><p><ref resolved='lfun::_m_delete'>lfun::_m_delete()</ref>, <ref resolved='lfun::_m_add'>lfun::_m_add()</ref></p>   </text></group></doc>   <method name='_m_clear'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='_m_delete' homogen-type='method'><doc><text><p>Delete index callback.</p> - </text><group><seealso/><text><p><ref>predef::m_delete()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::m_delete'>predef::m_delete()</ref></p>   </text></group></doc>   <method name='_m_delete'>   <arguments><argument name='arg'><type><mixed/></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='_random' homogen-type='method'><doc><text><p>Called by <ref resolved='lfun::_random.random'>random()</ref>. Typical use is when the object implements    a ADT, when a call to this lfun should return a random member of    the ADT or range implied by the ADT.</p>   </text><group><param name='random_string'/><text><p>A <ref>RandomInterface()-&gt;random_string</ref> function that returns
autodoc.git/autodoc.xml:6795:    containing <ref resolved='predef::_Static_assert.constant_message'>constant_message</ref> will be generated.</p>   </text><group><note/><text><p>Note that the function call compiles to the null statement,    and thus does not affect the run-time.</p>   </text></group><group><seealso/><text><p><ref resolved='cpp::.static_assert'>cpp::static_assert</ref></p>   </text></group></doc>   <method name='_Static_assert'>   <arguments><argument name='constant_expression'><type><int/></type></argument><argument name='constant_message'><type><string/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> + <docgroup homogen-name='__empty_program' homogen-type='method'> + <method name='__empty_program'> + <arguments><argument name='line'><type><or><int/><void/></or></type></argument><argument name='file'><type><or><string/><void/></or></type></argument></arguments> + <returntype><program/></returntype> + </method> + </docgroup>   <docgroup homogen-name='__handle_sprintf_format' homogen-type='method'><doc><text><p>Type attribute handler for <expr>"sprintf_format"</expr>.</p>   </text><group><param name='attr'/><text><p>Attribute to handle, either <expr>"sprintf_format"</expr>    or <expr>"strict_sprintf_format"</expr>.</p>   </text></group><group><param name='fmt'/><text><p>Sprintf-style formatting string to generate type information from.</p>   </text></group><group><param name='arg_type'/><text><p>Declared type of the <ref resolved='predef::__handle_sprintf_format.fmt'>fmt</ref> argument (typically <expr>string</expr>).</p>   </text></group><group><param name='cont_type'/><text><p>Continuation function type after the <ref resolved='predef::__handle_sprintf_format.fmt'>fmt</ref> argument. This is    scanned for the type attribute <expr>"sprintf_args"</expr> to    determine where the remaining arguments to <ref resolved='predef::sprintf'>sprintf()</ref> will    come from.</p>   <p> This function is typically called from
autodoc.git/autodoc.xml:6824:   </text></group><group><returns/><text><p>Returns <ref resolved='predef::__handle_sprintf_format.cont_type'>cont_type</ref> with <expr>"sprintf_args"</expr> replaced by the    arguments required by the <ref resolved='predef::__handle_sprintf_format.fmt'>fmt</ref> formatting string, and    <expr>"sprintf_result"</expr> replaced by the resulting string type.</p>   </text></group><group><seealso/><text><p><ref>PikeCompiler()-&gt;apply_attribute_constant()</ref>, <ref resolved='predef::sprintf'>sprintf()</ref></p>   </text></group></doc>   <method name='__handle_sprintf_format'>   <arguments><argument name='attr'><type><string/></type></argument><argument name='fmt'><type><string/></type></argument><argument name='arg_type'><type><type><mixed/></type></type></argument><argument name='cont_type'><type><type><mixed/></type></type></argument></arguments>   <returntype><type><mixed/></type></returntype>   </method>   </docgroup> + <docgroup homogen-name='__null_program' homogen-type='constant'><doc><text><p>Program used internally by the compiler to create objects +  that are later modified into instances of the compiled program +  by the compiler.</p> + </text><group><seealso/><text><p><ref resolved='predef::.__placeholder_object'>__placeholder_object</ref></p> + </text></group></doc> + <constant name='__null_program'/> + </docgroup>   <docgroup homogen-name='__parse_pike_type' homogen-type='method'>   <method name='__parse_pike_type'>   <arguments><argument name='t'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='__placeholder_object' homogen-type='constant'><doc><text><p>Object used internally by the compiler.</p> + </text><group><seealso/><text><p><ref resolved='predef::.__null_program'>__null_program</ref></p> + </text></group></doc> + <constant name='__placeholder_object'/> + </docgroup>   <docgroup homogen-name='_disable_threads' homogen-type='method'><doc><text><p>This function first posts a notice to all threads that it is time    to halt. It then waits until all threads actually <b>have</b> halted,    and then then returns a lock object. All other threads will be    blocked from running until that object has been freed/destroyed.</p>   <p> It's mainly useful to do things that require a temporary uid/gid    change, since on many OSes the effective user and group apply to    all threads.</p>   </text><group><note/><text><p>You should make sure that the returned object is freed even if    some kind of error is thrown. That means in practice that it    should only have references (direct or indirect) from function
autodoc.git/autodoc.xml:8265:   </text></group></doc>   <method name='aggregate'>   <arguments><argument name='elements'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><array/></returntype>   </method>   </docgroup>   <docgroup homogen-name='aggregate_mapping' homogen-type='method'><doc><text><p>Construct a mapping.</p>   <p> Groups the arguments together two and two in key-index pairs and    creates a mapping of those pairs. Generally, the mapping literal    syntax is handier: <expr>([ key1:val1, key2:val2, ... ])</expr></p> - </text><group><seealso/><text><p><ref resolved='predef::sizeof'>sizeof()</ref>, <ref resolved='predef::mappingp'>mappingp()</ref>, <ref>mkmapping()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::sizeof'>sizeof()</ref>, <ref resolved='predef::mappingp'>mappingp()</ref>, <ref resolved='predef::mkmapping'>mkmapping()</ref></p>   </text></group></doc>   <method name='aggregate_mapping'>   <arguments><argument name='elems'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><mapping/></returntype>   </method>   </docgroup>   <docgroup homogen-name='aggregate_multiset' homogen-type='method'><doc><text><p>Construct a multiset with the arguments as indices. The multiset    will not contain any values. This method is most useful when    constructing multisets with <ref resolved='predef::map'>map</ref> or similar; generally, the    multiset literal syntax is handier: <expr>(&lt;elem1, elem2, ...&gt;)</expr>    With it, it's also possible to construct a multiset with values:    <expr>(&lt;index1: value1, index2: value2, ...&gt;)</expr></p> - </text><group><seealso/><text><p><ref resolved='predef::sizeof'>sizeof()</ref>, <ref resolved='predef::multisetp'>multisetp()</ref>, <ref>mkmultiset()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::sizeof'>sizeof()</ref>, <ref resolved='predef::multisetp'>multisetp()</ref>, <ref resolved='predef::mkmultiset'>mkmultiset()</ref></p>   </text></group></doc>   <method name='aggregate_multiset'>   <arguments><argument name='elems'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><multiset/></returntype>   </method>   </docgroup>   <docgroup homogen-name='alarm' homogen-type='method'><doc><text><p>Set an alarm clock for delivery of a signal.</p>   <p> <ref resolved='predef::alarm'>alarm()</ref> arranges for a SIGALRM signal to be delivered to the    process in <ref resolved='predef::alarm.seconds'>seconds</ref> seconds.</p>   <p> If <ref resolved='predef::alarm.seconds'>seconds</ref> is <expr>0</expr> (zero), no new alarm will be scheduled.</p>
autodoc.git/autodoc.xml:8342:   </text></group></mixed>   </text></group><group><param name='recurse'/><text><p>Include annotations recursively added via inherits.</p>   </text></group><group><returns/><text><p>The order of the resulting array is the same as that of <ref resolved='predef::indices'>indices()</ref>    for the same <ref resolved='predef::annotations.x'>x</ref>.</p>   </text></group><group><note/><text><p>This function was added in Pike 8.1.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::indices'>indices()</ref>, <ref resolved='predef::values'>values()</ref>, <ref resolved='predef::types'>types()</ref>, <ref resolved='lfun::_annotations'>lfun::_annotations()</ref>,    <ref resolved='::_annotations'>::_annotations()</ref></p>   </text></group></doc>   <method name='annotations'>   <arguments><argument name='x'><type><or><object resolved='predef::annotations'/><program/><function/></or></type></argument><argument name='recurse'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments> - <returntype><array><valuetype><multiset><indextype><object>Pike.Annotation</object></indextype></multiset></valuetype></array></returntype> + <returntype><array><valuetype><multiset><indextype><object resolved='predef::Pike.Annotation'>Pike.Annotation</object></indextype></multiset></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='array_sscanf' homogen-type='method'><doc><text><p>This function works just like <ref resolved='predef::sscanf'>sscanf()</ref>, but returns the matched    results in an array instead of assigning them to lvalues. This is often    useful for user-defined sscanf strings.</p>   </text><group><seealso/><text><p><ref resolved='predef::sscanf'>sscanf()</ref>, <ref resolved='predef::`/'>`/()</ref></p>   </text></group></doc>   <method name='array_sscanf'>   <arguments><argument name='data'><type><string/></type></argument><argument name='format'><type><string/></type></argument></arguments>   <returntype><array/></returntype>
autodoc.git/autodoc.xml:8420:    that have been added earlier are called after <ref resolved='predef::atexit.callback'>callback</ref>.</p>   </text><group><note/><text><p>Please note that <ref resolved='predef::atexit'>atexit</ref> callbacks are not called if Pike    exits abnormally.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::exit'>exit()</ref>, <ref resolved='predef::_exit'>_exit()</ref></p>   </text></group></doc>   <method name='atexit'>   <arguments><argument name='callback'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> + <docgroup homogen-name='backtrace' homogen-type='method'><doc><text><p>Get a description of the current call stack.</p> + </text><group><param name='flags'/><text><p>A bit mask of flags affecting generation of the backtrace.</p> + <p> Currently a single flag is defined:</p> + <int><group><value>1</value><text><p>Return <ref>LiveBacktraceFrame</ref>s. This flag causes the frame +  objects to track changes (as long as they are in use), and +  makes eg local variables for functions available for +  inspection or change.</p> + <p> Note that since these values are "live", they may change or +  dissapear at any time unless the corresponding thread has +  been halted or similar.</p> + </text></group></int> + </text></group><group><returns/><text><p>The description is returned as an array with one entry for each call +  frame on the stack.</p> + <p> The entries are represented by <ref resolved='predef::Pike.BacktraceFrame'>Pike.BacktraceFrame</ref> objects.</p> + <p> The current call frame will be last in the array.</p> + </text></group><group><note/><text><p>Please note that the frame order may be reversed in a later version +  of Pike to accommodate for deferred backtraces.</p> + </text></group><group><note/><text><p>Note that the arguments reported in the backtrace are the current +  values of the variables, and not the ones that were at call-time. +  This can be used to hide sensitive information from backtraces +  (eg passwords).</p> + </text></group><group><note/><text><p>In old versions of Pike the entries used to be represented +  by arrays of the following format:</p> + <array><group><elem><type><string/></type><index>file</index></elem><text><p>A string with the filename if known, else zero.</p> + </text></group><group><elem><type><int/></type><index>line</index></elem><text><p>An integer containing the linenumber if known, else zero.</p> + </text></group><group><elem><type><function/></type><index>fun</index></elem><text><p>The function that was called at this level.</p> + </text></group><group><elem><type><varargs><or><mixed/><void/></or></varargs></type><index>args</index></elem><text><p>The arguments that the function was called with.</p> + </text></group></array><p>The above format is still supported by eg <ref resolved='predef::describe_backtrace'>describe_backtrace()</ref>.</p> + </text></group><group><seealso/><text><p><ref>catch()</ref>, <ref resolved='predef::throw'>throw()</ref></p> + </text></group></doc> + <method name='backtrace'> + <arguments><argument name='flags'><type><or><int/><void/></or></type></argument></arguments> + <returntype><array><valuetype><object resolved='predef::Pike.BacktraceFrame'>Pike.BacktraceFrame</object></valuetype></array></returntype> + </method> + </docgroup>   <docgroup homogen-name='basename' homogen-type='method'><doc><text><p>Returns the last segment of a path.</p>   </text><group><seealso/><text><p><ref resolved='predef::dirname'>dirname()</ref>, <ref resolved='predef::explode_path'>explode_path()</ref></p>   </text></group></doc>   <method name='basename'>   <arguments><argument name='path'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='basetype' homogen-type='method'><doc><text><p>Same as sprintf("%t",x);</p> + </text><group><seealso/><text><p><ref resolved='predef::sprintf'>sprintf()</ref></p> + </text></group></doc> + <method name='basetype'> + <arguments><argument name='x'><type><mixed/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup>   <docgroup homogen-name='callablep' homogen-type='method'><doc><text><p>Returns <expr>1</expr> if <ref resolved='predef::callablep.arg'>arg</ref> is a callable, <expr>0</expr> (zero) otherwise.</p>   </text><group><seealso/><text><p><ref resolved='predef::mappingp'>mappingp()</ref>, <ref resolved='predef::programp'>programp()</ref>, <ref resolved='predef::arrayp'>arrayp()</ref>, <ref resolved='predef::stringp'>stringp()</ref>, <ref resolved='predef::objectp'>objectp()</ref>,    <ref resolved='predef::multisetp'>multisetp()</ref>, <ref resolved='predef::floatp'>floatp()</ref>, <ref resolved='predef::intp'>intp()</ref></p>   </text></group></doc>   <method name='callablep'>   <arguments><argument name='arg'><type><mixed/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='cd' homogen-type='method'><doc><text><p>Change the current directory for the whole Pike process.</p>
autodoc.git/autodoc.xml:8456:   <docgroup homogen-name='ceil' homogen-type='method'><doc><text><p>Return the closest integer value greater or equal to <ref resolved='predef::ceil.f'>f</ref>.</p>   </text><group><note/><text><p><ref resolved='predef::ceil'>ceil()</ref> does <b>not</b> return an <expr>int</expr>, merely an integer value    stored in a <expr>float</expr>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::floor'>floor()</ref>, <ref resolved='predef::round'>round()</ref></p>   </text></group></doc>   <method name='ceil'>   <arguments><argument name='f'><type><or><int/><float/></or></type></argument></arguments>   <returntype><float/></returntype>   </method>   </docgroup> + <docgroup homogen-name='column' homogen-type='method'><doc><text><p>Extract a column from a two-dimensional array.</p> + <p> This function is exactly equivalent to:</p> + <code><text><p>map(<ref resolved='predef::column.data'>data</ref>, lambda(mixed x,mixed y) { return x[y]; }, <ref resolved='predef::column.index'>index</ref>)</p> + </text></code><p>Except of course it is a lot shorter and faster. +  That is, it indices every index in the array data on the value of +  the argument index and returns an array with the results.</p> + </text><group><seealso/><text><p><ref resolved='predef::rows'>rows()</ref></p> + </text></group></doc> + <method name='column'> + <arguments><argument name='data'><type><array/></type></argument><argument name='index'><type><mixed/></type></argument></arguments> + <returntype><array/></returntype> + </method> + </docgroup>   <docgroup homogen-type='method'><doc><text><p>Concatenate a number of paths to a straightforward path without    any <expr>"//"</expr>, <expr>"/.."</expr> or <expr>"/."</expr>. If any path    argument is absolute then the result is absolute and the    preceding arguments are ignored. If the result is relative then    it might have leading <expr>".."</expr> components. If the last    nonempty argument ends with a directory separator then the    result ends with that too. If all components in a relative path    disappear due to subsequent <expr>".."</expr> components then the    result is <expr>"."</expr>.</p>   <p> <ref resolved='predef::combine_path_unix'>combine_path_unix()</ref> concatenates in UNIX style, which also is
autodoc.git/autodoc.xml:8509:    error handler. If it is not specified the current master object will    be used.</p>   <p> The optional arguments <ref resolved='predef::compile.major'>major</ref> and <ref resolved='predef::compile.minor'>minor</ref> are used to tell the    compiler to attempt to be compatible with Pike <ref resolved='predef::compile.major'>major</ref>.<ref resolved='predef::compile.minor'>minor</ref>.</p>   </text><group><note/><text><p>Note that <ref resolved='predef::compile.source'>source</ref> must contain the complete source for a program.    It is not possible to compile a single expression or statement.</p>   <p> Also note that <ref resolved='predef::compile'>compile()</ref> does not preprocess the program.    To preprocess the program you can use <ref resolved='predef::compile_string'>compile_string()</ref> or    call the preprocessor manually by calling <ref resolved='predef::cpp'>cpp()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::compile_string'>compile_string()</ref>, <ref resolved='predef::compile_file'>compile_file()</ref>, <ref resolved='predef::cpp'>cpp()</ref>, <ref resolved='predef::master'>master()</ref>, -  <ref resolved='predef::CompilationHandler'>CompilationHandler</ref>, <ref>DefaultCompilerEnvironment</ref></p> +  <ref resolved='predef::CompilationHandler'>CompilationHandler</ref>, <ref resolved='predef::DefaultCompilerEnvironment'>DefaultCompilerEnvironment</ref></p>   </text></group></doc>   <method name='compile'>   <arguments><argument name='source'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilationHandler'>CompilationHandler</object><void/></or></type></argument><argument name='major'><type><or><int/><void/></or></type></argument><argument name='minor'><type><or><int/><void/></or></type></argument><argument name='target'><type><or><program/><void/></or></type></argument><argument name='placeholder'><type><or><object resolved='predef::compile'/><void/></or></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup>   <docgroup homogen-name='compile_file' homogen-type='method'><doc><text><p>Compile the Pike code contained in the file <ref resolved='predef::compile_file.filename'>filename</ref> into a program.</p>   <p> This function will compile the file <ref resolved='predef::compile_file.filename'>filename</ref> to a Pike program that can    later be instantiated. It is the same as doing    <expr><ref resolved='predef::compile_string'>compile_string</ref>(<ref resolved='predef::Stdio.read_file'>Stdio.read_file</ref>(<ref resolved='predef::compile_file.filename'>filename</ref>), <ref resolved='predef::compile_file.filename'>filename</ref>)</expr>.</p>
autodoc.git/autodoc.xml:8568:   </docgroup>   <docgroup homogen-name='cosh' homogen-type='method'><doc><text><p>Return the hyperbolic cosine value for <ref resolved='predef::cosh.f'>f</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::acosh'>acosh()</ref>, <ref resolved='predef::sinh'>sinh()</ref>, <ref resolved='predef::tanh'>tanh()</ref></p>   </text></group></doc>   <method name='cosh'>   <arguments><argument name='f'><type><or><int/><float/></or></type></argument></arguments>   <returntype><float/></returntype>   </method>   </docgroup>    +    <docgroup homogen-name='cp' homogen-type='method'><doc><text><p>Copies the file <ref resolved='predef::cp.from'>from</ref> to the new position <ref resolved='predef::cp.to'>to</ref>. This is an    alias for <ref resolved='predef::Stdio.cp'>Stdio.cp</ref>.</p>   </text></doc>   <method name='cp'>   <arguments><argument name='from'><type><string/></type></argument><argument name='to'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='cpp' homogen-type='method'><doc><text><p>Run a string through the preprocessor.</p>   <p> Preprocesses the string <ref resolved='predef::cpp.data'>data</ref> with Pike's builtin ANSI-C look-alike
autodoc.git/autodoc.xml:8631:   </method>   <method name='crypt'>   <arguments><argument name='input_password'><type><string><min>1</min><max>255</max></string></type></argument><argument name='crypted_password'><type><string><min>46</min><max>122</max></string></type></argument></arguments>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   <method name='crypt'>   <arguments/>   <returntype><string><min>46</min><max>122</max></string></returntype>   </method>   </docgroup> + <docgroup homogen-name='ctime' homogen-type='method'><doc><text><p>Convert the output from a previous call to <ref resolved='predef::time'>time()</ref> into a readable +  string containing the current year, month, day and time.</p> + <p> Like <ref resolved='predef::localtime'>localtime</ref>, this function might throw an error if the +  ctime(2) call failed on the system. It's platform dependent what +  time ranges that function can handle, e.g. Windows doesn't handle +  a negative <ref resolved='predef::ctime.timestamp'>timestamp</ref>.</p> + </text><group><seealso/><text><p><ref resolved='predef::strftime'>strftime()</ref>, <ref resolved='predef::time'>time()</ref>, <ref resolved='predef::localtime'>localtime()</ref>, <ref resolved='predef::gmtime'>gmtime()</ref>, <ref resolved='predef::mktime'>mktime()</ref></p> + </text></group></doc> + <method name='ctime'> + <arguments><argument name='timestamp'><type><int/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup>   <docgroup homogen-name='decode_value' homogen-type='method'><doc><text><p>Decode a value from the string <ref resolved='predef::decode_value.coded_value'>coded_value</ref>.</p>   <p> This function takes a string created with <ref resolved='predef::encode_value'>encode_value()</ref> or    <ref resolved='predef::encode_value_canonic'>encode_value_canonic()</ref> and converts it back to the value that was    coded.</p>   <p> If <ref resolved='predef::decode_value.codec'>codec</ref> is specified, it's used as the codec for the decode.    If none is specified, then one is instantiated through    <expr>master()-&gt;Decoder()</expr>. As a compatibility fallback, the    master itself is used if it has no <expr>Decoder</expr> class.</p>   </text><group><seealso/><text><p><ref resolved='predef::encode_value'>encode_value()</ref>, <ref resolved='predef::encode_value_canonic'>encode_value_canonic()</ref></p>   </text></group></doc>   <method name='decode_value'>   <arguments><argument name='coded_value'><type><string/></type></argument><argument name='codec'><type><or><void/><object resolved='predef::Codec'>Codec</object></or></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup> -  +    <docgroup homogen-name='delay' homogen-type='method'><doc><text><p>This function makes the thread stop for <ref resolved='predef::delay.s'>s</ref> seconds.</p>   <p> Only signal handlers can interrupt the sleep. Other callbacks are    not called during delay. Beware that this function uses busy-waiting    to achieve the highest possible accuracy.</p>   </text><group><seealso/><text><p><ref resolved='predef::signal'>signal()</ref>, <ref resolved='predef::sleep'>sleep()</ref></p>   </text></group></doc>   <method name='delay'>   <arguments><argument name='s'><type><or><int/><float/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='describe_backtrace' homogen-type='method'><doc><text><p>Return a readable message that describes where the backtrace -  <ref resolved='predef::describe_backtrace.trace'>trace</ref> was made (by <ref>backtrace</ref>).</p> +  <ref resolved='predef::describe_backtrace.trace'>trace</ref> was made (by <ref resolved='predef::backtrace'>backtrace</ref>).</p>   <p> It may also be an error object or array (typically caught by a    <ref>catch</ref>), in which case the error message also is included in the    description.</p>   <p> Pass <ref resolved='predef::describe_backtrace.linewidth'>linewidth</ref> -1 to disable wrapping of the output.</p> - </text><group><seealso/><text><p><ref>backtrace()</ref>, <ref resolved='predef::describe_error'>describe_error()</ref>, <ref>catch()</ref>, <ref resolved='predef::throw'>throw()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::backtrace'>backtrace()</ref>, <ref resolved='predef::describe_error'>describe_error()</ref>, <ref>catch()</ref>, <ref resolved='predef::throw'>throw()</ref></p>   </text></group></doc>   <method name='describe_backtrace'>   <arguments><argument name='trace'><type><mixed/></type></argument><argument name='linewidth'><type><or><void/><int/></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='describe_error' homogen-type='method'><doc><text><p>Return the error message from an error object or array (typically    caught by a <ref>catch</ref>). The type of the error is checked, hence    <ref resolved='predef::describe_error.err'>err</ref> is declared as <expr>mixed</expr> and not <expr>object|array</expr>.</p>   <p> If an error message couldn't be obtained, a fallback message    describing the failure is returned. No errors due to incorrectness    in <ref resolved='predef::describe_error.err'>err</ref> are thrown.</p>   </text><group><seealso/><text><p><ref resolved='predef::describe_backtrace'>describe_backtrace()</ref>, <ref resolved='predef::get_backtrace'>get_backtrace</ref></p>   </text></group></doc>   <method name='describe_error'>   <arguments><argument name='err'><type><mixed/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> -  +    <docgroup homogen-name='destruct' homogen-type='method'><doc><text><p>Mark an object as destructed.</p>   <p> Calls <expr>o-&gt;_destruct()</expr>, and then clears all variables in the    object. If no argument is given, the current object is destructed.</p>   <p> All pointers and function pointers to this object will become zero.    The destructed object will be freed from memory as soon as possible.</p>   </text></doc>   <method name='destruct'>   <arguments><argument name='o'><type><or><void/><object resolved='predef::destruct'/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>
autodoc.git/autodoc.xml:9041:   <p> This function is not available on all platforms.</p>   <p> The most common use for fork is to start sub programs, which is    better done with <ref resolved='predef::Process.create_process'>Process.create_process()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Process.create_process'>Process.create_process()</ref></p>   </text></group></doc>   <method name='fork'>   <arguments/>   <returntype><object resolved='predef::fork'/></returntype>   </method>   </docgroup> + <docgroup homogen-name='function_name' homogen-type='method'><doc><text><p>Return the name of the function or program <ref resolved='predef::function_name.f'>f</ref>.</p> + <p> If <ref resolved='predef::function_name.f'>f</ref> is a global function defined in the runtime <expr>0</expr> +  (zero) will be returned.</p> + </text><group><seealso/><text><p><ref resolved='predef::function_object'>function_object()</ref></p> + </text></group></doc> + <method name='function_name'> + <arguments><argument name='f'><type><or><function/><program/></or></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='function_object' homogen-type='method'><doc><text><p>Return the object the function <ref resolved='predef::function_object.f'>f</ref> is in.</p> + <p> If <ref resolved='predef::function_object.f'>f</ref> is a global function defined in the runtime <expr>0</expr> +  (zero) will be returned.</p> + <p> Zero will also be returned if <ref resolved='predef::function_object.f'>f</ref> is a constant in the +  parent class. In that case <ref resolved='predef::function_program'>function_program()</ref> can be +  used to get the parent program.</p> + </text><group><seealso/><text><p><ref resolved='predef::function_name'>function_name()</ref>, <ref resolved='predef::function_program'>function_program()</ref></p> + </text></group></doc> + <method name='function_object'> + <arguments><argument name='f'><type><function/></type></argument></arguments> + <returntype><object resolved='predef::function_object'/></returntype> + </method> + </docgroup> + <docgroup homogen-name='function_program' homogen-type='method'><doc><text><p>Return the program the function <ref resolved='predef::function_program.f'>f</ref> is in.</p> + <p> If <ref resolved='predef::function_program.f'>f</ref> is a global function defined in the runtime <expr>0</expr> +  (zero) will be returned.</p> + </text><group><seealso/><text><p><ref resolved='predef::function_name'>function_name()</ref>, <ref resolved='predef::function_object'>function_object()</ref></p> + </text></group></doc> + <method name='function_program'> + <arguments><argument name='f'><type><or><function/><program/></or></type></argument></arguments> + <returntype><program/></returntype> + </method> + </docgroup>   <docgroup homogen-name='functionp' homogen-type='method'><doc><text><p>Returns <expr>1</expr> if <ref resolved='predef::functionp.arg'>arg</ref> is a function, <expr>0</expr> (zero) otherwise.</p>   </text><group><seealso/><text><p><ref resolved='predef::mappingp'>mappingp()</ref>, <ref resolved='predef::programp'>programp()</ref>, <ref resolved='predef::arrayp'>arrayp()</ref>, <ref resolved='predef::stringp'>stringp()</ref>, <ref resolved='predef::objectp'>objectp()</ref>,    <ref resolved='predef::multisetp'>multisetp()</ref>, <ref resolved='predef::floatp'>floatp()</ref>, <ref resolved='predef::intp'>intp()</ref></p>   </text></group></doc>   <method name='functionp'>   <arguments><argument name='arg'><type><mixed/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='gc' homogen-type='method'><doc><text><p>Force garbage collection.</p>
autodoc.git/autodoc.xml:9070:   <p> Normally there is no need to call this function since Pike will    call it by itself every now and then. (Pike will try to predict    when 20% of all arrays/object/programs in memory is 'garbage'    and call this routine then.)</p>   </text></group><group><returns/><text><p>The amount of garbage is returned. This is the number of arrays,    mappings, multisets, objects and programs that had no nonweak    external references during the garbage collection. It's normally    the same as the number of freed things, but there might be some    difference since _destruct() functions are called during freeing,    which can cause more things to be freed or allocated.</p> - </text></group><group><seealso/><text><p><ref>Pike.gc_parameters</ref>, <ref resolved='predef::Debug.gc_status'>Debug.gc_status</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Pike.gc_parameters'>Pike.gc_parameters</ref>, <ref resolved='predef::Debug.gc_status'>Debug.gc_status</ref></p>   </text></group></doc>   <method name='gc'>   <arguments><argument name='quick'><type><or><mapping/><array/><void/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>    -  +    <docgroup homogen-name='get_active_compilation_handler' homogen-type='method'><doc><text><p>Returns the currently active compilation compatibility handler, or    <tt>0</tt> (zero) if none is active.</p>   </text><group><note/><text><p>This function should only be used during a call of <ref resolved='predef::compile'>compile()</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::get_active_error_handler'>get_active_error_handler()</ref>, <ref resolved='predef::compile'>compile()</ref>,    <ref>master()-&gt;get_compilation_handler()</ref>, <ref resolved='predef::CompilationHandler'>CompilationHandler</ref></p>   </text></group></doc>   <method name='get_active_compilation_handler'>   <arguments/>   <returntype><object resolved='predef::CompilationHandler'>CompilationHandler</object></returntype>   </method>
autodoc.git/autodoc.xml:9216:    in this function so far.</p>   </text></group></array></text></group></array>   </text></group><group><note/><text><p>This function is only available if the runtime was compiled with    the option <tt>--with-profiling</tt>.</p>   </text></group></doc>   <method name='get_profiling_info'>   <arguments><argument name='prog'><type><program/></type></argument></arguments>   <returntype><array><valuetype><or><int/><mapping><indextype><string/></indextype><valuetype><array><valuetype><int/></valuetype></array></valuetype></mapping></or></valuetype></array></returntype>   </method>   </docgroup> + <docgroup homogen-name='get_weak_flag' homogen-type='method'><doc><text><p>Returns the weak flag settings for <ref resolved='predef::get_weak_flag.m'>m</ref>. It's a combination of +  <ref resolved='predef::Pike.WEAK_INDICES'>Pike.WEAK_INDICES</ref> and <ref resolved='predef::Pike.WEAK_VALUES'>Pike.WEAK_VALUES</ref>.</p> + </text></doc> + <method name='get_weak_flag'> + <arguments><argument name='m'><type><or><array/><mapping/><multiset/></or></type></argument></arguments> + <returntype><int/></returntype> + </method> + </docgroup>   <docgroup homogen-name='getcwd' homogen-type='method'><doc><text><p>Returns the current working directory.</p>   </text><group><seealso/><text><p><ref resolved='predef::cd'>cd()</ref></p>   </text></group></doc>   <method name='getcwd'>   <arguments/>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='getenv' homogen-type='method'><doc><text><p>Queries the environment variables.</p>   </text><group><param name='force_update'/><text><p>A cached copy of the real environment is kept to make this
autodoc.git/autodoc.xml:9447:   <returntype><array><valuetype><string/></valuetype></array></returntype>   </method>   <method name='glob'>   <arguments><argument name='glob'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='str'><type><array><valuetype><string/></valuetype></array></type></argument></arguments>   <returntype><array><valuetype><string/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='gmtime' homogen-type='method'><doc><text><p>Convert seconds since 00:00:00 UTC, Jan 1, 1970 into components.</p>   <p> This function works like <ref resolved='predef::localtime'>localtime()</ref> but the result is    not adjusted for the local time zone.</p> - </text><group><seealso/><text><p><ref resolved='predef::localtime'>localtime()</ref>, <ref resolved='predef::time'>time()</ref>, <ref>ctime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>, + </text><group><seealso/><text><p><ref resolved='predef::localtime'>localtime()</ref>, <ref resolved='predef::time'>time()</ref>, <ref resolved='predef::ctime'>ctime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>,    <ref resolved='predef::strptime'>strptime()</ref></p>   </text></group></doc>   <method name='gmtime'>   <arguments><argument name='timestamp'><type><int/></type></argument></arguments>   <returntype><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='has_index' homogen-type='method'><doc><text><p>Search for <ref resolved='predef::has_index.index'>index</ref> in <ref resolved='predef::has_index.haystack'>haystack</ref>.</p>   </text><group><returns/><text><p>Returns <expr>1</expr> if <ref resolved='predef::has_index.index'>index</ref> is in the index domain of <ref resolved='predef::has_index.haystack'>haystack</ref>,    or <expr>0</expr> (zero) if not found.</p>
autodoc.git/autodoc.xml:9634:   </text><group><note/><text><p>This is the hashing method used by mappings.</p>   </text></group><group><seealso/><text><p><ref resolved='lfun::__hash'>lfun::__hash()</ref></p>   </text></group></doc>   <method name='hash_value'>   <arguments><argument name='value'><type><mixed/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>       +  +    <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='cpp::'>cpp::</classname></import>   </docgroup>   <docgroup homogen-name='indices' homogen-type='method'><doc><text><p>Return an array of all valid indices for the value <ref resolved='predef::indices.x'>x</ref>.</p>   </text><group><param name='x'/><text><mixed><group><type><string/></type><type><array/></type><text><p>For strings and arrays this is simply an array of ascending    numbers.</p>   </text></group><group><type><mapping/></type><type><multiset/></type><text><p>For mappings and multisets, the array might contain any value.</p>   </text></group><group><type><object resolved='predef::indices'/></type><text><p>For objects which define <ref resolved='lfun::_indices'>lfun::_indices()</ref> that return value    is used.</p>   <p> For other objects an array with the names of all non-protected
autodoc.git/autodoc.xml:9656:   </text></group><group><seealso/><text><p><ref resolved='predef::values'>values()</ref>, <ref resolved='predef::types'>types()</ref>, <ref resolved='lfun::_indices'>lfun::_indices()</ref></p>   </text></group></doc>   <method name='indices'>   <arguments><argument name='x'><type><or><string/><array/><mapping/><multiset/><object resolved='predef::indices'/></or></type></argument></arguments>   <returntype><array/></returntype>   </method>   </docgroup>   <docgroup homogen-name='Connection' homogen-type='inherit'>   <inherit name='Connection'><classname resolved='predef::__builtin.Sql.Connection'>__builtin.Sql.Connection</classname></inherit>   </docgroup> +  +  +    <docgroup homogen-name='intp' homogen-type='method'><doc><text><p>Returns <expr>1</expr> if <ref resolved='predef::intp.arg'>arg</ref> is an int, <expr>0</expr> (zero) otherwise.</p>   </text><group><seealso/><text><p><ref resolved='predef::mappingp'>mappingp()</ref>, <ref resolved='predef::programp'>programp()</ref>, <ref resolved='predef::arrayp'>arrayp()</ref>, <ref resolved='predef::stringp'>stringp()</ref>, <ref resolved='predef::objectp'>objectp()</ref>,    <ref resolved='predef::multisetp'>multisetp()</ref>, <ref resolved='predef::floatp'>floatp()</ref>, <ref resolved='predef::functionp'>functionp()</ref></p>   </text></group></doc>   <method name='intp'>   <arguments><argument name='arg'><type><mixed/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='is_absolute_path' homogen-type='method'><doc><text><p>Check if a path <ref resolved='predef::is_absolute_path.p'>p</ref> is fully qualified (ie not relative).</p>
autodoc.git/autodoc.xml:9776:   </text></group><group><member><type><int><min>0</min><max/></int></type><index>"year"</index></member><text><p>Year since 1900.</p>   </text></group><group><member><type><int><min>0</min><max>6</max></int></type><index>"wday"</index></member><text><p>Day of week (0 = Sunday).</p>   </text></group><group><member><type><int><min>0</min><max>365</max></int></type><index>"yday"</index></member><text><p>Day of the year.</p>   </text></group><group><member><type><int><min>0</min><max>1</max></int></type><index>"isdst"</index></member><text><p>Is daylight-saving time active.</p>   </text></group><group><member><type><int/></type><index>"timezone"</index></member><text><p>Offset from UTC, including daylight-saving time adjustment.</p>   </text></group></mapping><p>An error is thrown if the localtime(2) call failed on the system.    It's platform dependent what time ranges that function can handle,    e.g. Windows doesn't handle a negative <ref resolved='predef::localtime.timestamp'>timestamp</ref>.</p>   </text></group><group><note/><text><p>Prior to Pike 7.5 the field <expr>"timezone"</expr> was sometimes not    present, and was sometimes not adjusted for daylight-saving time.</p> - </text></group><group><seealso/><text><p><ref resolved='predef::Calendar'>Calendar</ref>, <ref resolved='predef::gmtime'>gmtime()</ref>, <ref resolved='predef::time'>time()</ref>, <ref>ctime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>, + </text></group><group><seealso/><text><p><ref resolved='predef::Calendar'>Calendar</ref>, <ref resolved='predef::gmtime'>gmtime()</ref>, <ref resolved='predef::time'>time()</ref>, <ref resolved='predef::ctime'>ctime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>,    <ref resolved='predef::strptime'>strptime()</ref></p>   </text></group></doc>   <method name='localtime'>   <arguments><argument name='timestamp'><type><int/></type></argument></arguments>   <returntype><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='log' homogen-type='method'><doc><text><p>Return the natural logarithm of <ref resolved='predef::log.f'>f</ref>.    <expr>exp( log(x) ) == x</expr> for x &gt; 0.</p>   </text><group><seealso/><text><p><ref resolved='predef::pow'>pow()</ref>, <ref resolved='predef::exp'>exp()</ref></p>
autodoc.git/autodoc.xml:9812:   </text></group></doc>   <method name='lower_case'>   <arguments><argument name='s'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   <method name='lower_case'>   <arguments><argument name='c'><type><int/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> + <docgroup homogen-name='m_add' homogen-type='method'><doc><text><p>Add a member to a multiset.</p> + </text><group><seealso/><text><p><ref resolved='predef::m_delete'>m_delete()</ref></p> + </text></group></doc> + <method name='m_add'> + <arguments><argument name='l'><type><or><multiset/><object resolved='predef::m_add'/></or></type></argument><argument name='val'><type><mixed/></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='m_clear' homogen-type='method'><doc><text><p>Clear the contents of a mapping or multiset.</p> + <p> This function clears the content of the mapping +  or multiset <ref resolved='predef::m_clear.map'>map</ref> so that it becomes empty. +  This is an atomic operation.</p> + <p> If <ref resolved='predef::m_clear.map'>map</ref> is an object <ref resolved='lfun::_m_clear'>lfun::_m_clear()</ref> will be called +  in it.</p> + </text><group><seealso/><text><p><ref resolved='predef::m_delete'>m_delete()</ref></p> + </text></group></doc> + <method name='m_clear'> + <arguments><argument name='map'><type><or><mapping/><multiset/><object resolved='predef::m_clear'/></or></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='m_delete' homogen-type='method'><doc><text><p>If <ref resolved='predef::m_delete.map'>map</ref> is an object that implements <ref resolved='lfun::_m_delete'>lfun::_m_delete()</ref>, +  that function will be called with <ref resolved='predef::m_delete.index'>index</ref> as its single argument.</p> + <p> Otherwise if <ref resolved='predef::m_delete.map'>map</ref> is a mapping or multiset the entry with +  index <ref resolved='predef::m_delete.index'>index</ref> will be removed from <ref resolved='predef::m_delete.map'>map</ref> destructively.</p> + <p> If the mapping or multiset does not have an entry with +  index <ref resolved='predef::m_delete.index'>index</ref>, nothing is done.</p> + </text><group><returns/><text><p>The value that was removed will be returned, +  and <expr>UNDEFINED</expr> otherwise.</p> + </text></group><group><note/><text><p>Note that <ref resolved='predef::m_delete'>m_delete()</ref> changes <ref resolved='predef::m_delete.map'>map</ref> destructively.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::mappingp'>mappingp()</ref></p> + </text></group></doc> + <method name='m_delete'> + <arguments><argument name='map'><type><or><object resolved='predef::m_delete'/><mapping/><multiset/></or></type></argument><argument name='index'><type><mixed/></type></argument></arguments> + <returntype><mixed/></returntype> + </method> + </docgroup>   <docgroup homogen-name='map' homogen-type='method'><doc><text><p>Applies <ref resolved='predef::map.fun'>fun</ref> to the elements in <ref resolved='predef::map.arr'>arr</ref> and collects the results.</p>   <p> <ref resolved='predef::map.arr'>arr</ref> is treated as a set of elements, as follows:</p>   <dl><group><item name='array'/><item name='multiset'/><item name='string'/><text><p><ref resolved='predef::map.fun'>fun</ref> is applied in order to each element. The results are    collected, also in order, to a value of the same type as    <ref resolved='predef::map.arr'>arr</ref>, which is returned.</p>   </text></group><group><item name='mapping'/><text><p><ref resolved='predef::map.fun'>fun</ref> is applied to the values, and each result is assigned    to the same index in a new mapping, which is returned.</p>   </text></group><group><item name='program'/><text><p>The program is treated as a mapping containing the    identifiers that are indexable from it and their values.</p>   </text></group><group><item name='object'/><text><p>If there is a <ref resolved='lfun::cast'>lfun::cast</ref> method in the object, it's
autodoc.git/autodoc.xml:9917:   <p> If <ref resolved='predef::mkdir.mode'>mode</ref> is specified, it's will be used for the new directory after    being <expr>&amp;</expr>'ed with the current umask (on OS'es that support this).</p>   </text><group><returns/><text><p>Returns <expr>0</expr> (zero) on failure, <expr>1</expr> otherwise.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::rm'>rm()</ref>, <ref resolved='predef::cd'>cd()</ref>, <ref resolved='predef::Stdio.mkdirhier'>Stdio.mkdirhier()</ref></p>   </text></group></doc>   <method name='mkdir'>   <arguments><argument name='dirname'><type><string/></type></argument><argument name='mode'><type><or><void/><int/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> + <docgroup homogen-name='mkmapping' homogen-type='method'><doc><text><p>Make a mapping from two arrays.</p> + <p> Makes a mapping <ref resolved='predef::mkmapping.ind'>ind[x]</ref>:<ref resolved='predef::mkmapping.val'>val[x]</ref>, <tt>0 &lt;= x &lt; sizeof(ind)</tt>.</p> + <p> <ref resolved='predef::mkmapping.ind'>ind</ref> and <ref resolved='predef::mkmapping.val'>val</ref> must have the same size.</p> + <p> This is the inverse operation of <ref resolved='predef::indices'>indices()</ref> and <ref resolved='predef::values'>values()</ref>.</p> + </text><group><seealso/><text><p><ref resolved='predef::indices'>indices()</ref>, <ref resolved='predef::values'>values()</ref></p> + </text></group></doc> + <method name='mkmapping'> + <arguments><argument name='ind'><type><array/></type></argument><argument name='val'><type><array/></type></argument></arguments> + <returntype><mapping/></returntype> + </method> + </docgroup> + <docgroup homogen-name='mkmultiset' homogen-type='method'><doc><text><p>This function creates a multiset from an array.</p> + </text><group><seealso/><text><p><ref resolved='predef::aggregate_multiset'>aggregate_multiset()</ref></p> + </text></group></doc> + <method name='mkmultiset'> + <arguments><argument name='a'><type><array/></type></argument></arguments> + <returntype><multiset/></returntype> + </method> + </docgroup>   <docgroup homogen-name='mktime' homogen-type='method'><doc><text><p>This function converts information about date and time into an integer    which contains the number of seconds since 00:00:00 UTC, Jan 1, 1970.</p>   <p> You can either call this function with a mapping containing the    following elements:</p>   <mapping><group><member><type><int><min>0</min><max>60</max></int></type><index>"sec"</index></member><text><p>Seconds over the minute.</p>   </text></group><group><member><type><int><min>0</min><max>59</max></int></type><index>"min"</index></member><text><p>Minutes over the hour.</p>   </text></group><group><member><type><int><min>0</min><max>23</max></int></type><index>"hour"</index></member><text><p>Hour of the day.</p>   </text></group><group><member><type><int><min>1</min><max>31</max></int></type><index>"mday"</index></member><text><p>Day of the month.</p>   </text></group><group><member><type><int><min>0</min><max>11</max></int></type><index>"mon"</index></member><text><p>Month of the year.</p>   </text></group><group><member><type><int><min>0</min><max/></int></type><index>"year"</index></member><text><p>Year since 1900.</p>
autodoc.git/autodoc.xml:9943:    <expr>timezone = 0</expr>; omitting either one of these parameters    <b>will</b> mess up the UTC calculation.</p>   </text></group><group><note/><text><p>On some operating systems (notably AIX and Win32), dates before    00:00:00 UTC, Jan 1, 1970 are not supported.</p>   <p> On most 32-bit systems, the supported range of dates is from Dec 13, 1901    20:45:52 UTC through to Jan 19, 2038 03:14:07 UTC (inclusive).</p>   <p> On most 64-bit systems, the supported range of dates is expressed    in 56 bits and is thus practically    unlimited (at least up to 1141 milion years in the past    and into the future).</p> - </text></group><group><seealso/><text><p><ref resolved='predef::time'>time()</ref>, <ref>ctime()</ref>, <ref resolved='predef::localtime'>localtime()</ref>, <ref resolved='predef::gmtime'>gmtime()</ref>, <ref resolved='predef::strftime'>strftime()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::time'>time()</ref>, <ref resolved='predef::ctime'>ctime()</ref>, <ref resolved='predef::localtime'>localtime()</ref>, <ref resolved='predef::gmtime'>gmtime()</ref>, <ref resolved='predef::strftime'>strftime()</ref></p>   </text></group></doc>   <method name='mktime'>   <arguments><argument name='tm'><type><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='mktime'>   <arguments><argument name='sec'><type><int/></type></argument><argument name='min'><type><int/></type></argument><argument name='hour'><type><int/></type></argument><argument name='mday'><type><int/></type></argument><argument name='mon'><type><int/></type></argument><argument name='year'><type><int/></type></argument><argument name='isdst'><type><or><int/><void/></or></type></argument><argument name='tz'><type><or><int/><void/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>
autodoc.git/autodoc.xml:9988:   </method>   </docgroup>   <docgroup homogen-name='normalize_path' homogen-type='method'><doc><text><p>Replaces "\" with "/" if runing on MS Windows. It is    adviced to use <ref resolved='predef::System.normalize_path'>System.normalize_path</ref> instead.</p>   </text></doc>   <method name='normalize_path'>   <arguments><argument name='path'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> +    <docgroup homogen-name='object_program' homogen-type='method'><doc><text><p>Return the program from which <ref resolved='predef::object_program.o'>o</ref> was instantiated. If the    object was instantiated from a class using parent references    the generating function will be returned.</p>   <p> If <ref resolved='predef::object_program.o'>o</ref> is not an object or has been destructed <expr>0</expr> (zero)    will be returned.</p>   </text></doc>   <method name='object_program'>   <arguments><argument name='o'><type><mixed/></type></argument></arguments>   <returntype><or><program/><function/></or></returntype>   </method>
autodoc.git/autodoc.xml:10067:   <docgroup homogen-name='query_num_arg' homogen-type='method'><doc><text><p>Returns the number of arguments given when the previous function was    called.</p>   <p> This is useful for functions that take a variable number of arguments.</p>   </text><group><seealso/><text><p><ref resolved='predef::call_function'>call_function()</ref></p>   </text></group></doc>   <method name='query_num_arg'>   <arguments/>   <returntype><int/></returntype>   </method>   </docgroup> - <docgroup homogen-name='random' homogen-type='method'><doc><text><p>Get a random value generated by the default <ref>RandomSystem</ref>.</p> - </text><group><seealso/><text><p><ref>RandomSystem()-&gt;random()</ref>, <ref resolved='predef::random_string'>random_string()</ref></p> + <docgroup homogen-name='random' homogen-type='method'><doc><text><p>Get a random value generated by the default <ref resolved='predef::RandomSystem'>RandomSystem</ref>.</p> + </text><group><seealso/><text><p><ref resolved='predef::RandomInterface.random'>RandomSystem()-&gt;random()</ref>, <ref resolved='predef::random_string'>random_string()</ref></p>   </text></group></doc>   <method name='random'>   <arguments><argument name='m'><type><mapping/></type></argument></arguments>   <returntype><array/></returntype>   </method>   <method name='random'>   <arguments><argument name='max'><type><float/></type></argument></arguments>   <returntype><float/></returntype>   </method>   <method name='random'>
autodoc.git/autodoc.xml:10101:   <docgroup homogen-name='random_seed' homogen-type='method'><doc><text><p>This function sets the initial value for the random generator.</p>   </text><group><seealso/><text><p><ref resolved='predef::random'>random()</ref></p>   </text></group><group><deprecated/><text><p><ref resolved='predef::Random.Deterministic'>Random.Deterministic</ref></p>   </text></group></doc>   <method name='random_seed'>   <arguments><argument name='seed'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='random_string' homogen-type='method'><doc><text><p>Get a string of random characters <expr>0..255</expr> with the length <ref resolved='predef::random_string.len'>len</ref> -  from the default <ref>RandomSystem</ref>.</p> - </text><group><seealso/><text><p><ref>RandomSystem()-&gt;random_string()</ref>, <ref resolved='predef::random'>random()</ref></p> +  from the default <ref resolved='predef::RandomSystem'>RandomSystem</ref>.</p> + </text><group><seealso/><text><p><ref resolved='predef::RandomSystem.random_string'>RandomSystem()-&gt;random_string()</ref>, <ref resolved='predef::random'>random()</ref></p>   </text></group></doc>   <method name='random_string'>   <arguments><argument name='len'><type><int/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> -  +    <docgroup homogen-name='remove_include_path' homogen-type='method'><doc><text><p>Remove a directory to search for include files.</p>   <p> This function performs the reverse operation of <ref resolved='predef::add_include_path'>add_include_path()</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::add_include_path'>add_include_path()</ref></p>   </text></group></doc>   <method name='remove_include_path'>   <arguments><argument name='tmp'><type><string/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='remove_module_path' homogen-type='method'><doc><text><p>Remove a directory to search for modules.</p>
autodoc.git/autodoc.xml:10153:   <docgroup homogen-name='replace' homogen-type='method'><doc><text><p>Generic replace function.</p>   <p> This function can do several kinds replacement operations, the    different syntaxes do different things as follows:</p>   <p> If all the arguments are strings, a copy of <ref resolved='predef::replace.s'>s</ref> with every    occurrence of <ref resolved='predef::replace.from'>from</ref> replaced with <ref resolved='predef::replace.to'>to</ref> will be returned.    Special case: <ref resolved='predef::replace.to'>to</ref> will be inserted between every character in    <ref resolved='predef::replace.s'>s</ref> if <ref resolved='predef::replace.from'>from</ref> is the empty string.</p>   <p> If the first argument is a string, and the others array(string), a string    with every occurrance of <ref resolved='predef::replace.from'>from</ref>[<i>i</i>] in <ref resolved='predef::replace.s'>s</ref> replaced with    <ref resolved='predef::replace.to'>to</ref>[<i>i</i>] will be returned. Instead of the arrays <ref resolved='predef::replace.from'>from</ref> and <ref resolved='predef::replace.to'>to</ref> -  a mapping equivalent to <expr><ref>mkmapping</ref>(<ref resolved='predef::replace.from'>from</ref>, <ref resolved='predef::replace.to'>to</ref>)</expr> can be +  a mapping equivalent to <expr><ref resolved='predef::mkmapping'>mkmapping</ref>(<ref resolved='predef::replace.from'>from</ref>, <ref resolved='predef::replace.to'>to</ref>)</expr> can be    used.</p>   <p> If the first argument is an array or mapping, the values of <ref resolved='predef::replace.a'>a</ref> which    are <ref resolved='predef::`=='>`==()</ref> with <ref resolved='predef::replace.from'>from</ref> will be replaced with <ref resolved='predef::replace.to'>to</ref> destructively.    <ref resolved='predef::replace.a'>a</ref> will then be returned.</p>   </text><group><note/><text><p>Note that <ref resolved='predef::replace'>replace()</ref> on arrays and mappings is a destructive operation.</p>   </text></group></doc>   <method name='replace'>   <arguments><argument name='s'><type><string/></type></argument><argument name='from'><type><string/></type></argument><argument name='to'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>
autodoc.git/autodoc.xml:10255:   <method name='round'>   <arguments><argument name='f'><type><or><int/><float/></or></type></argument></arguments>   <returntype><float/></returntype>   </method>   </docgroup>   <docgroup homogen-name='rows' homogen-type='method'><doc><text><p>Select a set of rows from an array.</p>   <p> This function is en optimized equivalent to:</p>   <code><text><p>map(<ref resolved='predef::rows.index'>index</ref>, lambda(mixed x) { return <ref resolved='predef::rows.data'>data</ref>[x]; })</p>   </text></code><p>That is, it indices data on every index in the array index and    returns an array with the results.</p> - </text><group><seealso/><text><p><ref>column()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::column'>column()</ref></p>   </text></group></doc>   <method name='rows'>   <arguments><argument name='data'><type><mixed/></type></argument><argument name='index'><type><array/></type></argument></arguments>   <returntype><array/></returntype>   </method>   </docgroup>   <docgroup homogen-name='search' homogen-type='method'><doc><text><p>Search for <ref resolved='predef::search.needle'>needle</ref> in <ref resolved='predef::search.haystack'>haystack</ref>.</p>   </text><group><param name='haystack'/><text><p>Item to search in. This can be one of:</p>   <mixed><group><type><string/></type><text><p>When <ref resolved='predef::search.haystack'>haystack</ref> is a string <ref resolved='predef::search.needle'>needle</ref> must be a string or an int,    and the first occurrence of the string or int is returned.</p>
autodoc.git/autodoc.xml:10318:   </method>   <method name='search'>   <arguments><argument name='haystack'><type><mapping/></type></argument><argument name='needle'><type><mixed/></type></argument><argument name='start'><type><or><mixed/><void/></or></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   <method name='search'>   <arguments><argument name='haystack'><type><object resolved='predef::search'/></type></argument><argument name='needle'><type><mixed/></type></argument><argument name='start'><type><or><mixed/><void/></or></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup> +  +    <docgroup homogen-name='set_priority' homogen-type='method'>   <method name='set_priority'>   <arguments><argument name='level'><type><string/></type></argument><argument name='pid'><type><or><int><min>0</min><max/></int><void/></or></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='set_weak_flag' homogen-type='method'><doc><text><p>Set the value <ref resolved='predef::set_weak_flag.m'>m</ref> to use weak or normal references in its    indices and/or values (whatever is applicable). <ref resolved='predef::set_weak_flag.state'>state</ref> is a    bitfield built by using <expr>|</expr> between the following flags:</p>   <int><group><value>Pike.WEAK_INDICES</value><text><p>Use weak references for indices. Only applicable for
autodoc.git/autodoc.xml:10430:   </docgroup>   <docgroup homogen-name='sinh' homogen-type='method'><doc><text><p>Returns the hyperbolic sine value for <ref resolved='predef::sinh.f'>f</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::asinh'>asinh()</ref>, <ref resolved='predef::cosh'>cosh()</ref>, <ref resolved='predef::tanh'>tanh()</ref></p>   </text></group></doc>   <method name='sinh'>   <arguments><argument name='f'><type><or><int/><float/></or></type></argument></arguments>   <returntype><float/></returntype>   </method>   </docgroup>    +    <docgroup homogen-name='sizeof' homogen-type='method'><doc><text><p>Size query.</p>   </text><group><returns/><text><p>The result will be as follows:</p>   <mixed name='arg'><group><type><string/></type><text><p>The number of characters in <ref resolved='predef::sizeof.arg'>arg</ref> will be returned.</p>   </text></group><group><type><or><array/><multiset/></or></type><text><p>The number of elements in <ref resolved='predef::sizeof.arg'>arg</ref> will be returned.</p>   </text></group><group><type><mapping/></type><text><p>The number of key-value pairs in <ref resolved='predef::sizeof.arg'>arg</ref> will be returned.</p>   </text></group><group><type><object resolved='predef::sizeof'/></type><text><p>If <ref resolved='predef::sizeof.arg'>arg</ref> implements <ref resolved='lfun::_sizeof'>lfun::_sizeof()</ref>, that function will    be called. Otherwise the number of non-protected (ie public)    symbols in <ref resolved='predef::sizeof.arg'>arg</ref> will be returned.</p>   </text></group></mixed>   </text></group><group><seealso/><text><p><ref resolved='lfun::_sizeof'>lfun::_sizeof()</ref></p>
autodoc.git/autodoc.xml:10876:   </text></group><group><returns/><text><p>The number of directives matched in the format string. Note that a string    directive (%s or %[]) counts as a match even when matching just the empty    string (which either may do).</p>   </text></group><group><seealso/><text><p><ref resolved='predef::sprintf'>sprintf</ref>, <ref resolved='predef::array_sscanf'>array_sscanf</ref></p>   </text></group></doc>   <method name='sscanf'>   <arguments><argument name='data'><type><string/></type></argument><argument name='format'><type><string/></type></argument><argument name='lvalues'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> +    <docgroup homogen-name='strerror' homogen-type='method'><doc><text><p>This function returns a description of an error code. The error    code is usually obtained from eg <ref resolved='predef::Stdio.File.errno'>Stdio.File-&gt;errno()</ref>.</p>   </text><group><note/><text><p>On some platforms the string returned can be somewhat nondescriptive.</p>   </text></group></doc>   <method name='strerror'>   <arguments><argument name='errno'><type><int/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='strftime' homogen-type='method'><doc><text><p>Convert the structure to a string.</p>
autodoc.git/autodoc.xml:10946:    See also <expr>%w</expr>. (SU)</p>   </text></group><group><item name='%U'/><text><p>The week number of the current year as a decimal number,    range 00 to 53, starting with the first Sunday as the first    day of week 01. See also <expr>%V</expr> and <expr>%W</expr>.</p>   </text></group><group><item name='%V'/><text><p>The ISO 8601 week number of the current year as a decimal number,    range 01 to 53, where week 1 is the first week that has at least    4 days in the new year. See also <expr>%U</expr> and <expr>%W</expr>.</p>   </text></group><group><item name='%w'/><text><p>The day of the week as a decimal, range 0 to 6, Sunday being 0.    See also <expr>%u</expr>.</p>   </text></group></dl> - </text><group><seealso/><text><p><ref>ctime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>, <ref resolved='predef::strptime'>strptime()</ref>, <ref>Gettext.setlocale</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::ctime'>ctime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>, <ref resolved='predef::strptime'>strptime()</ref>, <ref>Gettext.setlocale</ref></p>   </text></group></doc>   <method name='strftime'>   <arguments><argument name='format'><type><string><min>1</min><max>255</max></string></type></argument><argument name='tm'><type><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></type></argument></arguments>   <returntype><string><min>1</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='strict_sprintf_format' homogen-type='constant'><doc><text><p>Type constant used for typing arguments that are always    sent to <ref resolved='predef::sprintf'>sprintf()</ref> regardless of the presence of extra arguments.</p>   </text><group><seealso/><text><p><ref resolved='predef::.sprintf_format'>sprintf_format</ref>, <ref resolved='predef::.sprintf_args'>sprintf_args</ref>, <ref resolved='predef::sprintf'>sprintf()</ref></p>   </text></group></doc>   <constant name='strict_sprintf_format'/>   </docgroup> -  +    <docgroup homogen-name='string_filter_non_unicode' homogen-type='method'><doc><text><p>Replace the most obviously non-unicode characters from <ref resolved='predef::string_filter_non_unicode.s'>s</ref> with    the unicode replacement character.</p>   </text><group><note/><text><p>This will replace characters outside the ranges    <expr>0x00000000-0x0000d7ff</expr> and <expr>0x0000e000-0x0010ffff</expr>    with 0xffea (the replacement character).</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Charset.encoder'>Charset.encoder()</ref>, <ref resolved='predef::string_to_unicode'>string_to_unicode()</ref>,    <ref resolved='predef::unicode_to_string'>unicode_to_string()</ref>, <ref resolved='predef::utf8_to_string'>utf8_to_string()</ref>, <ref resolved='predef::string_to_utf8'>string_to_utf8()</ref></p>   </text></group></doc>   <method name='string_filter_non_unicode'>   <arguments><argument name='s'><type><string/></type></argument></arguments>
autodoc.git/autodoc.xml:11117:   <docgroup homogen-name='this_program' homogen-type='constant'><doc><text><p>Builtin constant that evaluates to the current program.</p>   </text><group><seealso/><text><p><ref resolved='predef::.this'>this</ref>, <ref resolved='predef::this_object'>this_object()</ref></p>   </text></group></doc>   <constant name='this_program'/>   </docgroup>   <docgroup homogen-name='throw' homogen-type='method'><doc><text><p>Throw <ref resolved='predef::throw.value'>value</ref> to a waiting <ref>catch</ref>.</p>   <p> If no <ref>catch</ref> is waiting the global error handling will send the    value to <ref>master()-&gt;handle_error()</ref>.</p>   <p> If you throw an array with where the first index contains an error    message and the second index is a backtrace, (the output from -  <ref>backtrace()</ref>) then it will be treated exactly like a real error +  <ref resolved='predef::backtrace'>backtrace()</ref>) then it will be treated exactly like a real error    by overlying functions.</p>   </text><group><seealso/><text><p><ref>catch</ref></p>   </text></group></doc>   <method name='throw'>   <arguments><argument name='value'><type><mixed/></type></argument></arguments>   <returntype><or><mixed/><void/></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='time' homogen-type='method'><doc><text><p>This function returns the number of seconds since 00:00:00 UTC, 1 Jan 1970.</p>   <p> The second syntax does not query the system for the current    time, instead the last time value used by the pike process is returned    again. It avoids a system call, and thus is slightly faster,    but can be wildly inaccurate. Pike    queries the time internally when a thread has waited for    something, typically in <ref resolved='predef::sleep'>sleep</ref> or in a backend (see    <ref resolved='predef::Pike.Backend'>Pike.Backend</ref>).</p>   <p> The third syntax can be used to measure time more precisely than one    second. It returns how many seconds have passed since <ref resolved='predef::time.t'>t</ref>. The precision    of this function varies from system to system.</p> - </text><group><seealso/><text><p><ref>ctime()</ref>, <ref resolved='predef::localtime'>localtime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>, <ref resolved='predef::gmtime'>gmtime()</ref>, + </text><group><seealso/><text><p><ref resolved='predef::ctime'>ctime()</ref>, <ref resolved='predef::localtime'>localtime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>, <ref resolved='predef::gmtime'>gmtime()</ref>,    <ref resolved='predef::System.gettimeofday'>System.gettimeofday()</ref>, <ref resolved='predef::gethrtime'>gethrtime()</ref></p>   </text></group></doc>   <method name='time'>   <arguments/>   <returntype><int/></returntype>   </method>   <method name='time'>   <arguments><argument name='one'><type><int><min>1</min><max>1</max></int></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='time'>   <arguments><argument name='t'><type><int><min>2</min><max/></int></type></argument></arguments>   <returntype><float/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='trace' homogen-type='method'><doc><text><p>This function changes the trace level for the subsystem identified +  by <ref resolved='predef::trace.facility'>facility</ref> to <ref resolved='predef::trace.level'>level</ref>. If <ref resolved='predef::trace.facility'>facility</ref> is zero or left out, it +  changes the global trace level which affects all subsystems.</p> + <p> Enabling tracing causes messages to be printed to stderr. A higher +  trace level includes the output from all lower levels. The lowest +  level is zero which disables all trace messages.</p> + <p> See the <tt>-t</tt> command-line option for more information.</p> + </text><group><param name='level'/><text><p>If <ref resolved='predef::trace.facility'>facility</ref> is specified then there is typically only one +  trace level for it, i.e. it's an on-or-off toggle. The global +  trace levels, when <ref resolved='predef::trace.facility'>facility</ref> isn't specified, are:</p> + <int><group><value>1</value><text><p>Trace calls to Pike functions and garbage collector runs.</p> + </text></group><group><value>2</value><text><p>Trace calls to builtin functions.</p> + </text></group><group><value>3</value><text><p>Trace every interpreted opcode.</p> + </text></group><group><value>4</value><text><p>Also trace the opcode arguments.</p> + </text></group></int> + </text></group><group><param name='facility'/><text><p>Valid facilities are:</p> + <string><group><value>"gc"</value><text><p>Trace the doings of the garbage collector. The setting is +  never thread local. <ref resolved='predef::trace.level'>level</ref> has two different meanings:</p> + <dl><group><item name='1..2'/><text><p>Trace the start and end of each gc run.</p> + </text></group><group><item name='3..'/><text><p>Additionally show info about the collected garbage, to aid +  hunting down garbage problems. This currently shows gc'd +  trampolines. Note that the output can be very bulky and is +  somewhat low-level technical. Also note that pike currently +  has to be configured with <expr>--with-rtldebug</expr> to enable +  this.</p> + </text></group></dl></text></group></string> + </text></group><group><param name='all_threads'/><text><p>Trace levels are normally thread local, so changes affect only +  the current thread. To change the level in all threads, pass a +  nonzero value in this argument.</p> + </text></group><group><returns/><text><p>The old trace level in the current thread is returned.</p> + </text></group></doc> + <method name='trace'> + <arguments><argument name='level'><type><int/></type></argument><argument name='facility'><type><or><void/><string/></or></type></argument><argument name='all_threads'><type><or><void/><int/></or></type></argument></arguments> + <returntype><int/></returntype> + </method> + </docgroup> +  +    <docgroup homogen-name='types' homogen-type='method'><doc><text><p>Return an array with the types of all valid indices for the value <ref resolved='predef::types.x'>x</ref>.</p>   </text><group><param name='x'/><text><mixed><group><type><string/></type><text><p>For strings this is simply an array with <tt>int</tt></p>   </text></group><group><type><array/></type><type><mapping/></type><type><multiset/></type><text><p>For arrays, mappings and multisets this is simply    an array with <tt>mixed</tt>.</p>   </text></group><group><type><object resolved='predef::types'/></type><text><p>For objects which define <ref resolved='lfun::_types'>lfun::_types()</ref> that return value    is used.</p>   <p> For other objects an array with type types for all non-protected    symbols is returned.</p>   </text></group></mixed>   </text></group><group><note/><text><p>This function was added in Pike 7.9.</p>
autodoc.git/autodoc.xml:11315:   </method>   </docgroup>   <docgroup homogen-name='werror' homogen-type='method'><doc><text><p>Writes a string on stderr. Works just like <ref resolved='predef::Stdio.Fd.write'>Stdio.File.write</ref>    on <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p>   </text></doc>   <method name='werror'>   <arguments><argument name='fmt'><type><string/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> +    <docgroup homogen-name='write' homogen-type='method'><doc><text><p>Writes a string on stdout. Works just like <ref resolved='predef::Stdio.Fd.write'>Stdio.File.write</ref>    on <ref resolved='predef::Stdio.stdout'>Stdio.stdout</ref>.</p>   </text></doc>   <method name='write'>   <arguments><argument name='fmt'><type><string/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='zero_type' homogen-type='method'><doc><text><p>Return the type of zero.</p>   <p> There are many types of zeros out there, or at least there are two.
autodoc.git/autodoc.xml:15365:   <method name='arrayify'>   <arguments><argument name='x'><type><or><void/><array/><mixed/></or></type></argument></arguments>   <returntype><array/></returntype>   </method>   </docgroup>   <docgroup homogen-name='columns' homogen-type='method'><doc><text><p>Get multiple columns from an array.</p>   <p> This function is equivalent to    <pre>    map(ind, lambda(mixed i) { return column(x, i); })    </pre></p> - </text><group><seealso/><text><p><ref>column()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::column'>column()</ref></p>   </text></group></doc>   <method name='columns'>   <arguments><argument name='x'><type><array/></type></argument><argument name='ind'><type><array/></type></argument></arguments>   <returntype><array><valuetype><array/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='combinations' homogen-type='method'><doc><text><p>Returns an array of all combinations of length <ref resolved='predef::Array.combinations.len'>len</ref> of    elements from <ref resolved='predef::Array.combinations.arr'>arr</ref>.</p>   </text><group><seealso/><text><p><ref resolved='predef::Array.permute'>permute()</ref></p>   </text></group></doc>
autodoc.git/autodoc.xml:15406:   <arguments><argument name='a'><type><array/></type></argument><argument name='b'><type><array/></type></argument><argument name='old'><type><array/></type></argument></arguments>   <returntype><array><valuetype><array><valuetype><array/></valuetype></array></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='count' homogen-type='method'><doc><text><p>Returns the number of occurrences of <ref resolved='predef::Array.count.needle'>needle</ref> in <ref resolved='predef::Array.count.haystack'>haystack</ref>.    If the optional <ref resolved='predef::Array.count.needle'>needle</ref> argument is omitted, <ref resolved='predef::Array.count'>count</ref> instead    works similar to the unix command <tt>sort|uniq -c</tt>, returning    a mapping with the number of occurrences of each element in    <ref resolved='predef::Array.count.haystack'>haystack</ref>. For array or mapping <ref resolved='predef::Array.count.haystack'>haystack</ref>s, it's the values    that are counted, for multisets the indices, as you'd expect.</p> - </text><group><seealso/><text><p><ref>String.count</ref>, <ref resolved='predef::search'>search</ref>, <ref resolved='predef::has_value'>has_value</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::String.count'>String.count</ref>, <ref resolved='predef::search'>search</ref>, <ref resolved='predef::has_value'>has_value</ref></p>   </text></group></doc>   <method name='count'>   <arguments><argument name='haystack'><type><or><array/><mapping/><multiset/></or></type></argument><argument name='needle'><type><mixed/></type></argument></arguments>   <returntype><int/></returntype>   </method>   <method name='count'>   <arguments><argument name='haystack'><type><or><array/><mapping/><multiset/></or></type></argument></arguments>   <returntype><mapping><indextype><mixed/></indextype><valuetype><int/></valuetype></mapping></returntype>   </method>   </docgroup>
autodoc.git/autodoc.xml:15933:   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='ANY' homogen-type='inherit'>   <inherit name='ANY'><classname resolved='predef::Audio.Format.ANY'>.module.ANY</classname></inherit>   </docgroup>   </class>   </module>   </module> + <class name='Bootstring'> + <doc><text><p>This class implements the "Bootstring" string transcoder described in +  <url>ftp://ftp.rfc-editor.org/in-notes/rfc3492.txt</url>.</p> + </text></doc> + <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Creates a Bootstring transcoder instance using the specified parameters.</p> + </text><group><param name='base'/><text><p>The base used by the variable-length integers.</p> + </text></group><group><param name='tmin'/><text><p>The minimum threshold digit value for the variable-length integers. +  Must be &gt;=0 and &lt;= tmax.</p> + </text></group><group><param name='tmax'/><text><p>The maximum threshold digit value for the variable-length integers. +  Must be &lt;= base-1.</p> + </text></group><group><param name='skew'/><text><p>The skew term for the bias adapation. Must be &gt;= 1.</p> + </text></group><group><param name='damp'/><text><p>The damping factor for the bias adaption. Must be &gt;= 2.</p> + </text></group><group><param name='initial_bias'/><text><p>The initial bias for the variable-length integer thresholding. +  initial_bias % base must be &lt;= base - tmin.</p> + </text></group><group><param name='initial_n'/><text><p>The first code point outside the "basic" set of code points.</p> + </text></group><group><param name='delim'/><text><p>The "basic" code point used as the delimiter.</p> + </text></group><group><param name='digits'/><text><p>The "basic" code points used as digits. The length of the string +  should be the same as the base parameter.</p> + </text></group></doc> + <method name='create'> + <arguments><argument name='base'><type><int/></type></argument><argument name='tmin'><type><int/></type></argument><argument name='tmax'><type><int/></type></argument><argument name='skew'><type><int/></type></argument><argument name='damp'><type><int/></type></argument><argument name='initial_bias'><type><int/></type></argument><argument name='initial_n'><type><int/></type></argument><argument name='delim'><type><int/></type></argument><argument name='digits'><type><string/></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='decode' homogen-type='method'><doc><text><p>Decodes a Bootstring encoded string of "basic" code points back +  to the original string space.</p> + </text></doc> + <method name='decode'> + <arguments><argument name='s'><type><string/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='encode' homogen-type='method'><doc><text><p>Encodes a string using Bootstring encoding into a string constisting +  only of "basic" code points (&lt; initial_n).</p> + </text></doc> + <method name='encode'> + <arguments><argument name='s'><type><string/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + </class>   <module name='Builtin'>   <docgroup homogen-name='_take_over_initial_predefines' homogen-type='method'><doc><text><p>Returns a mapping containing the set of predefined macros.    These are typically the macros defined via the <tt>-D</tt> option    when starting Pike.</p>   <p> This function is typically called by the <ref resolved='predef::MasterObject'>MasterObject</ref> at    initialization, and may only be called once. After it has been called,    <ref resolved='predef::cpp'>cpp()</ref> will start calling <ref resolved='predef::CompilationHandler.get_predefines'>CompilationHandler-&gt;get_predefines()</ref> to    retrieve the set of predefined macros.</p>   </text><group><seealso/><text><p>[cpp()], <ref resolved='predef::CompilationHandler.get_predefines'>CompilationHandler-&gt;get_predefines()</ref></p>   </text></group></doc>
autodoc.git/autodoc.xml:21362:   </text></group><group><seealso/><text><p><ref resolved='predef::CompilationHandler.get_predefines'>get_predefines()</ref></p>   </text></group></doc>   <method name='resolv'>   <arguments><argument name='symbol'><type><string/></type></argument><argument name='filename'><type><string/></type></argument><argument name='handler'><type><object resolved='predef::CompilationHandler'>CompilationHandler</object></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   </class>   <class name='CompilerEnvironment'>   <modifiers><protected/></modifiers> + <doc><text><p>The compiler environment.</p> + <p> By inheriting this class and overloading the functions, +  it is possible to make a custom Pike compiler.</p> + </text><group><note/><text><p>Prior to Pike 7.8 this sort of customization has to be done +  either via custom master objects, or via <ref resolved='predef::CompilationHandler'>CompilationHandler</ref>s.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::CompilationHandler'>CompilationHandler</ref>, <ref resolved='predef::MasterObject'>MasterObject</ref>, <ref resolved='predef::master'>master()</ref>, <ref resolved='predef::replace_master'>replace_master()</ref></p> + </text></group></doc>   <docgroup homogen-name='compile' homogen-type='method'>   <method name='compile'>   <arguments><argument name='source'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilerEnvironment.compile'/><void/></or></type></argument><argument name='major'><type><or><int/><void/></or></type></argument><argument name='minor'><type><or><int/><void/></or></type></argument><argument name='target'><type><or><program/><void/></or></type></argument><argument name='placeholder'><type><or><object resolved='predef::CompilerEnvironment.compile'/><void/></or></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='compile' homogen-type='method'><doc><text><p>Compile a string to a program.</p> + <p> This function takes a piece of Pike code as a string and +  compiles it into a clonable program.</p> + <p> The optional argument <ref resolved='predef::CompilerEnvironment.compile.handler'>handler</ref> is used to specify an alternative +  error handler. If it is not specified the current master object will +  be used.</p> + <p> The optional arguments <ref resolved='predef::CompilerEnvironment.compile.major'>major</ref> and <ref resolved='predef::CompilerEnvironment.compile.minor'>minor</ref> are used to tell the +  compiler to attempt to be compatible with Pike <ref resolved='predef::CompilerEnvironment.compile.major'>major</ref>.<ref resolved='predef::CompilerEnvironment.compile.minor'>minor</ref>.</p> + </text><group><note/><text><p>This function essentially performs</p> + <code><text><p>program compile(mixed ... args) +  { +  return PikeCompiler(@args)-&gt;compile(); +  }</p> + </text></code> + </text></group><group><note/><text><p>Note that <ref resolved='predef::CompilerEnvironment.compile.source'>source</ref> must contain the complete source for a program. +  It is not possible to compile a single expression or statement.</p> + <p> Also note that <ref resolved='predef::CompilerEnvironment.compile'>compile()</ref> does not preprocess the program. +  To preprocess the program you can use <ref resolved='predef::compile_string'>compile_string()</ref> or +  call the preprocessor manually by calling <ref resolved='predef::cpp'>cpp()</ref>.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::compile_string'>compile_string()</ref>, <ref resolved='predef::compile_file'>compile_file()</ref>, <ref resolved='predef::cpp'>cpp()</ref>, <ref resolved='predef::master'>master()</ref>, +  <ref resolved='predef::CompilationHandler'>CompilationHandler</ref></p> + </text></group></doc> + <method name='compile'> + <arguments><argument name='source'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilationHandler'>CompilationHandler</object><void/></or></type></argument><argument name='major'><type><or><int/><void/></or></type></argument><argument name='minor'><type><or><int/><void/></or></type></argument><argument name='target'><type><or><program/><void/></or></type></argument><argument name='placeholder'><type><or><object resolved='predef::CompilerEnvironment.compile'/><void/></or></type></argument></arguments> + <returntype><program/></returntype> + </method> + </docgroup>   <docgroup homogen-name='compile_exception' homogen-type='method'>   <method name='compile_exception'>   <arguments><argument name='err'><type><mixed/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup>   <docgroup homogen-name='format_exception' homogen-type='method'>   <method name='format_exception'>   <arguments><argument name='err'><type><mixed/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='get_compilation_handler' homogen-type='method'><doc><text><p>Get compatibility handler for Pike <ref resolved='predef::CompilerEnvironment.get_compilation_handler.major'>major</ref>.<ref resolved='predef::CompilerEnvironment.get_compilation_handler.minor'>minor</ref>.</p> + <p> The default implementation calls the corresponding +  function in the master object.</p> + </text><group><note/><text><p>This function is typically called by +  <ref resolved='predef::CompilerEnvironment.PikeCompiler.get_compilation_handler'>PikeCompiler()-&gt;get_compilation_handler()</ref>.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::MasterObject.get_compilation_handler'>MasterObject()-&gt;get_compilation_handler()</ref>.</p> + </text></group></doc> + <method name='get_compilation_handler'> + <arguments><argument name='major'><type><int/></type></argument><argument name='minor'><type><int/></type></argument></arguments> + <returntype><object resolved='predef::CompilerEnvironment.get_compilation_handler'/></returntype> + </method> + </docgroup> + <docgroup homogen-name='get_default_module' homogen-type='method'><doc><text><p>Get the default module for the current compatibility level +  (ie typically the value returned by <ref resolved='predef::all_constants'>predef::all_constants()</ref>).</p> + <p> The default implementation calls the corresponding function +  in the master object.</p> + </text><group><returns/><text><mixed><group><type><or><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping><object resolved='predef::CompilerEnvironment.get_default_module'/></or></type><text><p>Constant table to use.</p> + </text></group><group><type><int><min>0</min><max>0</max></int></type><text><p>Use the builtin constant table.</p> + </text></group></mixed> + </text></group><group><note/><text><p>This function is typically called by +  <ref>Pike_compiler()-&gt;get_default_module()</ref>.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::MasterObject.CompatResolver.get_default_module'>MasterObject()-&gt;get_default_module()</ref>.</p> + </text></group></doc> + <method name='get_default_module'> + <arguments/> + <returntype><or><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping><object resolved='predef::CompilerEnvironment.get_default_module'/></or></returntype> + </method> + </docgroup> + <docgroup homogen-name='handle_import' homogen-type='method'><doc><text><p>Look up an import <ref resolved='predef::CompilerEnvironment.handle_import.module'>module</ref>.</p> + <p> The default implementation calls the corresponding function +  in the master object.</p> + </text><group><seealso/><text><p><ref resolved='predef::CompilationHandler.handle_import'>MasterObject()-&gt;handle_import()</ref>.</p> + </text></group></doc> + <method name='handle_import'> + <arguments><argument name='module'><type><string/></type></argument><argument name='current_file'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilerEnvironment.handle_import'/><void/></or></type></argument></arguments> + <returntype><program/></returntype> + </method> + </docgroup>   <docgroup homogen-name='handle_import' homogen-type='method'>   <method name='handle_import'>   <arguments><argument name='module'><type><string/></type></argument><argument name='current_file'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilerEnvironment.handle_import'/><void/></or></type></argument><argument name='compat_handler'><type><or><object resolved='predef::CompilerEnvironment.handle_import'/><void/></or></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='handle_inherit' homogen-type='method'><doc><text><p>Look up an inherit <ref resolved='predef::CompilerEnvironment.handle_inherit.inh'>inh</ref>.</p> + <p> The default implementation calls the corresponding function +  in the master object.</p> + </text><group><seealso/><text><p><ref resolved='predef::MasterObject.handle_inherit'>MasterObject()-&gt;handle_inherit()</ref>.</p> + </text></group></doc> + <method name='handle_inherit'> + <arguments><argument name='inh'><type><string/></type></argument><argument name='current_file'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilerEnvironment.handle_inherit'/><void/></or></type></argument></arguments> + <returntype><program/></returntype> + </method> + </docgroup>   <docgroup homogen-name='handle_inherit' homogen-type='method'>   <method name='handle_inherit'>   <arguments><argument name='inh'><type><string/></type></argument><argument name='current_file'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilerEnvironment.handle_inherit'/><void/></or></type></argument><argument name='compat_handler'><type><or><object resolved='predef::CompilerEnvironment.handle_inherit'/><void/></or></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup>   <docgroup homogen-name='OrigCompilerEnvironment' homogen-type='inherit'>   <inherit name='OrigCompilerEnvironment'><classname resolved='predef::CompilerEnvironment'>predef::CompilerEnvironment</classname></inherit>   </docgroup> -  + <docgroup homogen-name='Reporter' homogen-type='inherit'><doc><text><p>Implements the <ref resolved='predef::Reporter'>Reporter</ref> API.</p> + </text><group><seealso/><text><p><ref resolved='predef::Reporter.report'>Reporter()-&gt;report()</ref>, <ref resolved='predef::Reporter.SeverityLevel'>Reporter()-&gt;SeverityLevel</ref></p> + </text></group></doc> + <inherit name='Reporter'><classname resolved='predef::Reporter'>Reporter</classname></inherit> + </docgroup>   <docgroup homogen-name='resolv' homogen-type='method'>   <method name='resolv'>   <arguments><argument name='identifier'><type><string/></type></argument><argument name='filename'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilerEnvironment.resolv'/><void/></or></type></argument><argument name='compat_handler'><type><or><object resolved='predef::CompilerEnvironment.resolv'/><void/></or></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='resolv' homogen-type='method'><doc><text><p>Look up <ref resolved='predef::CompilerEnvironment.resolv.identifier'>identifier</ref> in the current context.</p> + <p> The default implementation calls the corresponding +  function in the handlers (if any), falling back to +  the master object.</p> + </text><group><returns/><text><p>Returns the value of the <ref resolved='predef::CompilerEnvironment.resolv.identifier'>identifier</ref> if found, and +  <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref> if not.</p> + </text></group></doc> + <method name='resolv'> + <arguments><argument name='identifier'><type><string/></type></argument><argument name='filename'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::CompilerEnvironment.resolv'/><void/></or></type></argument><argument name='compat_handler'><type><or><object resolved='predef::CompilerEnvironment.resolv'/><void/></or></type></argument></arguments> + <returntype><mixed/></returntype> + </method> + </docgroup>   <class name='CPP'>   <doc><text><p>The state for an instance of the preprocessor.</p>   </text><group><seealso/><text><p><ref resolved='predef::cpp'>predef::cpp()</ref></p>   </text></group></doc>   <docgroup homogen-name='apply_handler' homogen-type='method'>   <method name='apply_handler'><modifiers><protected/></modifiers>   <arguments><argument name='fun'><type><string/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>
autodoc.git/autodoc.xml:21673:   </method>   </docgroup>   <docgroup homogen-name='report' homogen-type='method'><doc><text><p>Report a diagnostic from the preprocessor.</p>   </text><group><param name='severity'/><text><p>The severity of the diagnostic.</p>   </text></group><group><param name='filename'/><param name='linenumber'/><text><p>Location which triggered the diagnostic.</p>   </text></group><group><param name='subsystem'/><text><p>Typically <expr>"cpp"</expr>.</p>   </text></group><group><param name='message'/><text><p>String with the diagnostic message, with optional    <ref resolved='predef::sprintf'>sprintf()</ref>-style formatting (if any <ref resolved='predef::CompilerEnvironment.CPP.report.extra_args'>extra_args</ref>).</p>   </text></group><group><param name='extra_args'/><text><p>Extra arguments to <ref resolved='predef::sprintf'>sprintf()</ref>.</p>   <p> The default implementation does the following:</p> - <ul><group><item/><text><p>If there's a handler which implements <ref>Reporter()-&gt;report()</ref>, + <ul><group><item/><text><p>If there's a handler which implements <ref resolved='predef::Reporter.report'>Reporter()-&gt;report()</ref>,    call it with the same arguments.</p>   </text></group><group><item/><text><p>Otherwise if there's a handler which implements    <ref>compile_warning()</ref> or <ref>compile_error()</ref> that matches    <ref resolved='predef::CompilerEnvironment.CPP.report.severity'>severity</ref>, call it with suitable arguments.</p>   </text></group><group><item/><text><p>Otherwise if there's a compat handler, use it in the same    manner as the handler.</p> - </text></group><group><item/><text><p>Otherwise fall back to calling <ref>::report()</ref> with the + </text></group><group><item/><text><p>Otherwise fall back to calling <ref resolved='predef::Reporter.report'>::report()</ref> with the    same arguments.</p>   </text></group></ul>   </text></group><group><note/><text><p>In Pike 8.0 and earlier <ref>MasterObject()-&gt;report()</ref> was not called.</p> - </text></group><group><seealso/><text><p><ref>Reporter()-&gt;report()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Reporter.report'>Reporter()-&gt;report()</ref></p>   </text></group></doc>   <method name='report'> - <arguments><argument name='severity'><type><object>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int><min>1</min><max/></int></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><object resolved='predef::.sprintf_format'>sprintf_format</object></type></argument><argument name='extra_args'><type><varargs><object resolved='predef::.sprintf_args'>sprintf_args</object></varargs></type></argument></arguments> + <arguments><argument name='severity'><type><object resolved='predef::Reporter.SeverityLevel'>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int><min>1</min><max/></int></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><object resolved='predef::.sprintf_format'>sprintf_format</object></type></argument><argument name='extra_args'><type><varargs><object resolved='predef::.sprintf_args'>sprintf_args</object></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='report' homogen-type='method'><doc><text><p>Report a diagnostic from the preprocessor.</p>   </text><group><param name='severity'/><text><p>The severity of the diagnostic.</p>   </text></group><group><param name='filename'/><param name='linenumber'/><text><p>Location which triggered the diagnostic.</p>   </text></group><group><param name='subsystem'/><text><p>Always <expr>"cpp"</expr>.</p>   </text></group><group><param name='message'/><text><p>String with the diagnostic message, with optional    <ref resolved='predef::sprintf'>sprintf()</ref>-style formatting (if any <ref resolved='predef::CompilerEnvironment.CPP.report.extra_args'>extra_args</ref>).</p>   </text></group><group><param name='extra_args'/><text><p>Extra arguments to <ref resolved='predef::sprintf'>sprintf()</ref>.</p>   <p> The default implementation just calls    <ref>CompilerEnviroment::report()</ref> in the parent with the    same arguments.</p> - </text></group><group><seealso/><text><p><ref>Reporter()-&gt;report()</ref>, <ref resolved='predef::CompilerEnvironment.CPP.cpp_error'>cpp_error()</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::Reporter.report'>Reporter()-&gt;report()</ref>, <ref resolved='predef::CompilerEnvironment.CPP.cpp_error'>cpp_error()</ref></p>   </text></group></doc>   <method name='report'> - <arguments><argument name='severity'><type><object>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int><min>1</min><max/></int></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><string/></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments> + <arguments><argument name='severity'><type><object resolved='predef::Reporter.SeverityLevel'>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int><min>1</min><max/></int></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><string/></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='resolv' homogen-type='method'>   <method name='resolv'>   <arguments><argument name='sym'><type><string/></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   <docgroup homogen-name='resolv' homogen-type='method'><doc><text><p>Attempt to resolve a symbol.</p>
autodoc.git/autodoc.xml:21727:    current <ref resolved='predef::CompilerEnvironment.CPP'>CPP</ref> context.</p>   </text><group><returns/><text><p>Returns the value of <ref resolved='predef::CompilerEnvironment.CPP.resolv.sym'>sym</ref> if found, and <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref> if not.</p>   </text></group></doc>   <method name='resolv'>   <arguments><argument name='sym'><type><string/></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup>   </class>   <class name='PikeCompiler'> + <doc><text><p>The Pike compiler.</p> + <p> An object of this class compiles a single string +  of Pike code.</p> + </text></doc> + <docgroup homogen-name='apply_attribute_constant' homogen-type='method'><doc><text><p>Handle constant arguments to attributed function argument types.</p> + </text><group><param name='attr'/><text><p>Attribute that <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_attribute_constant.arg_type'>arg_type</ref> had.</p> + </text></group><group><param name='value'/><text><p>Constant value sent as parameter.</p> + </text></group><group><param name='arg_type'/><text><p>Declared type of the function argument.</p> + </text></group><group><param name='cont_type'/><text><p>Continuation function type after the current argument.</p> + <p> This function is called when a function is called +  with the constant value <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_attribute_constant.value'>value</ref> and it has been +  successfully matched against <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_attribute_constant.arg_type'>arg_type</ref>, +  and <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_attribute_constant.arg_type'>arg_type</ref> had the type attribute <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_attribute_constant.attr'>attr</ref>.</p> + <p> This function is typically used to perform specialized +  argument checking and to allow for a strengthening +  of the function type based on <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_attribute_constant.value'>value</ref>.</p> + <p> The default implementation implements the <expr>"sprintf_format"</expr>, +  <expr>"sscanf_format"</expr> and <expr>"sscanf_76_format"</expr> attributes.</p> + </text></group><group><returns/><text><p>Returns a continuation type if it succeeded in strengthening the type.</p> + <p> Returns <tt>UNDEFINED</tt> otherwise (this is not an error indication).</p> + </text></group><group><seealso/><text><p><ref resolved='predef::CompilerEnvironment.PikeCompiler.pop_type_attribute'>pop_type_attribute()</ref>, <ref resolved='predef::CompilerEnvironment.PikeCompiler.push_type_attribute'>push_type_attribute()</ref></p> + </text></group></doc> + <method name='apply_attribute_constant'> + <arguments><argument name='attr'><type><string/></type></argument><argument name='value'><type><mixed/></type></argument><argument name='arg_type'><type><type><mixed/></type></type></argument><argument name='cont_type'><type><void/></type></argument></arguments> + <returntype><type><mixed/></type></returntype> + </method> + </docgroup>   <docgroup homogen-name='apply_handler' homogen-type='method'>   <method name='apply_handler'><modifiers><protected/></modifiers>   <arguments><argument name='fun'><type><string/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='apply_type_attribute' homogen-type='method'><doc><text><p>Type attribute handler.</p> + </text><group><param name='attribute'/><text><p>Attribute that <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_type_attribute.a'>a</ref> had.</p> + </text></group><group><param name='a'/><text><p>Type of the value being called.</p> + </text></group><group><param name='b'/><text><p>Type of the first argument in the call, or +  <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref> if no more arguments.</p> + <p> Called during type checking when <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_type_attribute.a'>a</ref> has been successfully +  had a partial evaluation with the argument <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_type_attribute.b'>b</ref> and +  <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_type_attribute.a'>a</ref> had the type attribute <ref resolved='predef::CompilerEnvironment.PikeCompiler.apply_type_attribute.attribute'>attribute</ref> before the +  evaluation.</p> + <p> The default implementation implements the "deprecated" +  attribute.</p> + </text></group><group><returns/><text><p>Returns <expr>1</expr> if the type check should be allowed +  (ie <expr>__attribute__(attribute, a)(b)</expr>) is valid, +  and <expr>0</expr> (zero) otherwise.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::CompilerEnvironment.PikeCompiler.pop_type_attribute'>pop_type_attribute()</ref>, <ref resolved='predef::CompilerEnvironment.PikeCompiler.push_type_attribute'>push_type_attribute()</ref></p> + </text></group></doc> + <method name='apply_type_attribute'> + <arguments><argument name='attribute'><type><string/></type></argument><argument name='a'><type><type><mixed/></type></type></argument><argument name='b'><type><or><type><mixed/></type><void/></or></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup>   <docgroup homogen-name='change_compiler_compatibility' homogen-type='method'>   <method name='change_compiler_compatibility'>   <arguments><argument name='major'><type><int/></type></argument><argument name='minor'><type><int/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='change_compiler_compatibility' homogen-type='method'><doc><text><p>Change compiler to attempt to be compatible with Pike <ref resolved='predef::CompilerEnvironment.PikeCompiler.change_compiler_compatibility.major'>major</ref>.<ref resolved='predef::CompilerEnvironment.PikeCompiler.change_compiler_compatibility.minor'>minor</ref>.</p> + </text></doc> + <method name='change_compiler_compatibility'> + <arguments><argument name='major'><type><int/></type></argument><argument name='minor'><type><int/></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup>   <docgroup homogen-type='variable'>   <variable name='handler'><type><object resolved='predef::CompilerEnvironment.PikeCompiler'/></type></variable>   <variable name='compat_handler'><type><object resolved='predef::CompilerEnvironment.PikeCompiler'/></type></variable>   </docgroup> -  + <docgroup homogen-name='compile' homogen-type='method'><doc><text><p>Compile the current source into a program.</p> + <p> This function compiles the current Pike source code +  into a clonable program.</p> + </text><group><seealso/><text><p><ref resolved='predef::compile_string'>compile_string()</ref>, <ref resolved='predef::compile_file'>compile_file()</ref>, <ref resolved='predef::cpp'>cpp()</ref>, <ref resolved='predef::master'>master()</ref>, +  <ref resolved='predef::CompilationHandler'>CompilationHandler</ref>, <ref resolved='predef::CompilerEnvironment.PikeCompiler.create'>create()</ref></p> + </text></group></doc> + <method name='compile'> + <arguments/> + <returntype><program/></returntype> + </method> + </docgroup> + <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a PikeCompiler object for a source string.</p> + <p> This function takes a piece of Pike code as a string and +  initializes a compiler object accordingly.</p> + </text><group><param name='source'/><text><p>Source code to compile.</p> + </text></group><group><param name='handler'/><text><p>The optional argument <ref resolved='predef::CompilerEnvironment.PikeCompiler.create.handler'>handler</ref> is used to specify an alternative +  error handler. If it is not specified the current master object +  at compile time will be used.</p> + </text></group><group><param name='major'/><param name='minor'/><text><p>The optional arguments <ref resolved='predef::CompilerEnvironment.PikeCompiler.create.major'>major</ref> and <ref resolved='predef::CompilerEnvironment.PikeCompiler.create.minor'>minor</ref> are used to tell the +  compiler to attempt to be compatible with Pike <ref resolved='predef::CompilerEnvironment.PikeCompiler.create.major'>major</ref>.<ref resolved='predef::CompilerEnvironment.PikeCompiler.create.minor'>minor</ref>.</p> + </text></group><group><param name='target'/><text><p><ref resolved='predef::__empty_program'>__empty_program()</ref> program to fill in. The virgin program +  returned by <ref resolved='predef::__empty_program'>__empty_program()</ref> will be modified and returned +  by <ref resolved='predef::CompilerEnvironment.PikeCompiler.compile'>compile()</ref> on success.</p> + </text></group><group><param name='placeholder'/><text><p><ref resolved='predef::.__null_program'>__null_program()</ref> placeholder object to fill in. The object +  will be modified into an instance of the resulting program +  on successfull compile. Note that <ref resolved='lfun::create'>lfun::create()</ref> in the +  program will be called without any arguments.</p> + </text></group><group><note/><text><p>Note that <ref resolved='predef::CompilerEnvironment.PikeCompiler.create.source'>source</ref> must contain the complete source for a program. +  It is not possible to compile a single expression or statement.</p> + <p> Also note that no preprocessing is performed. +  To preprocess the program you can use <ref resolved='predef::compile_string'>compile_string()</ref> or +  call the preprocessor manually by calling <ref resolved='predef::cpp'>cpp()</ref>.</p> + </text></group><group><note/><text><p>Note that all references to <ref resolved='predef::CompilerEnvironment.PikeCompiler.create.target'>target</ref> and <ref resolved='predef::CompilerEnvironment.PikeCompiler.create.placeholder'>placeholder</ref> should +  removed if <ref resolved='predef::CompilerEnvironment.PikeCompiler.compile'>compile()</ref> failes. On failure the <ref resolved='predef::CompilerEnvironment.PikeCompiler.create.placeholder'>placeholder</ref> +  object will be destructed.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::compile_string'>compile_string()</ref>, <ref resolved='predef::compile_file'>compile_file()</ref>, <ref resolved='predef::cpp'>cpp()</ref>, <ref resolved='predef::master'>master()</ref>, +  <ref resolved='predef::CompilationHandler'>CompilationHandler</ref></p> + </text></group></doc> + <method name='create'> + <arguments><argument name='source'><type><or><string/><void/></or></type></argument><argument name='handler'><type><or><object resolved='predef::CompilationHandler'>CompilationHandler</object><void/></or></type></argument><argument name='major'><type><or><int/><void/></or></type></argument><argument name='minor'><type><or><int/><void/></or></type></argument><argument name='target'><type><or><program/><void/></or></type></argument><argument name='placeholder'><type><or><object resolved='predef::CompilerEnvironment.PikeCompiler.create'/><void/></or></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup>   <docgroup homogen-name='create' homogen-type='method'>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='source'><type><or><string/><void/></or></type></argument><argument name='handler'><type><or><object resolved='predef::CompilerEnvironment.PikeCompiler.create'/><void/></or></type></argument><argument name='major'><type><or><int/><void/></or></type></argument><argument name='minor'><type><or><int/><void/></or></type></argument><argument name='target'><type><or><program/><void/></or></type></argument><argument name='placeholder'><type><or><object resolved='predef::CompilerEnvironment.PikeCompiler.create'/><void/></or></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_compilation_handler' homogen-type='method'>   <method name='get_compilation_handler'>   <arguments><argument name='major'><type><int/></type></argument><argument name='minor'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::CompilerEnvironment.PikeCompiler.get_compilation_handler'/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='get_compilation_handler' homogen-type='method'><doc><text><p>Get compatibility handler for Pike <ref resolved='predef::CompilerEnvironment.PikeCompiler.get_compilation_handler.major'>major</ref>.<ref resolved='predef::CompilerEnvironment.PikeCompiler.get_compilation_handler.minor'>minor</ref>.</p> + </text><group><note/><text><p>This function is called by <ref resolved='predef::CompilerEnvironment.PikeCompiler.change_compiler_compatibility'>change_compiler_compatibility()</ref>.</p> + </text></group></doc> + <method name='get_compilation_handler'> + <arguments><argument name='major'><type><int/></type></argument><argument name='minor'><type><int/></type></argument></arguments> + <returntype><object resolved='predef::CompilerEnvironment.PikeCompiler.get_compilation_handler'/></returntype> + </method> + </docgroup>   <docgroup homogen-name='get_default_module' homogen-type='method'>   <method name='get_default_module'>   <arguments/>   <returntype><or><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping><object resolved='predef::CompilerEnvironment.PikeCompiler.get_default_module'/></or></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='get_default_module' homogen-type='method'><doc><text><p>Get the default module for the current compatibility level +  (ie typically the value returned by <ref resolved='predef::all_constants'>predef::all_constants()</ref>).</p> + <p> The default implementation calls the corresponding function +  in the current handler, the current compatibility handler +  or in the parent <ref resolved='predef::CompilerEnvironment'>CompilerEnvironment</ref> in that order.</p> + </text><group><returns/><text><mixed><group><type><or><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping><object resolved='predef::CompilerEnvironment.PikeCompiler.get_default_module'/></or></type><text><p>Constant table to use.</p> + </text></group><group><type><int><min>0</min><max>0</max></int></type><text><p>Use the builtin constant table.</p> + </text></group></mixed> + </text></group><group><note/><text><p>This function is called by <ref resolved='predef::CompilerEnvironment.PikeCompiler.change_compiler_compatibility'>change_compiler_compatibility()</ref>.</p> + </text></group></doc> + <method name='get_default_module'> + <arguments/> + <returntype><or><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping><object resolved='predef::CompilerEnvironment.PikeCompiler.get_default_module'/></or></returntype> + </method> + </docgroup>   <docgroup homogen-name='handle_import' homogen-type='method'>   <method name='handle_import'>   <arguments><argument name='module'><type><string/></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='handle_import' homogen-type='method'><doc><text><p>Look up an import <ref resolved='predef::CompilerEnvironment.PikeCompiler.handle_import.module'>module</ref>.</p> + </text></doc> + <method name='handle_import'> + <arguments><argument name='module'><type><string/></type></argument></arguments> + <returntype><program/></returntype> + </method> + </docgroup>   <docgroup homogen-name='handle_inherit' homogen-type='method'>   <method name='handle_inherit'>   <arguments><argument name='inh'><type><string/></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='handle_inherit' homogen-type='method'><doc><text><p>Look up an inherit <ref resolved='predef::CompilerEnvironment.PikeCompiler.handle_inherit.inh'>inh</ref> in the current program.</p> + </text></doc> + <method name='handle_inherit'> + <arguments><argument name='inh'><type><string/></type></argument></arguments> + <returntype><program/></returntype> + </method> + </docgroup>   <docgroup homogen-name='this_program' homogen-type='inherit'>   <inherit name='this_program'><classname>::this_program</classname></inherit>   </docgroup> -  + <docgroup homogen-name='pop_type_attribute' homogen-type='method'><doc><text><p>Type attribute handler.</p> + <p> Called during type checking when <expr>a &lt;= b</expr> and +  <ref resolved='predef::CompilerEnvironment.PikeCompiler.pop_type_attribute.a'>a</ref> had the type attribute <ref resolved='predef::CompilerEnvironment.PikeCompiler.pop_type_attribute.attribute'>attribute</ref> before the +  comparison.</p> + <p> The default implementation implements the "deprecated" +  attribute.</p> + </text><group><returns/><text><p>Returns <expr>1</expr> if the type check should be allowed +  (ie <expr>__attribute__(attribute, a) &lt;= b</expr>), and +  <expr>0</expr> (zero) otherwise.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::CompilerEnvironment.PikeCompiler.push_type_attribute'>push_type_attribute()</ref></p> + </text></group></doc> + <method name='pop_type_attribute'> + <arguments><argument name='attribute'><type><string/></type></argument><argument name='a'><type><type><mixed/></type></type></argument><argument name='b'><type><type><mixed/></type></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='push_type_attribute' homogen-type='method'><doc><text><p>Type attribute handler.</p> + <p> Called during type checking when <expr>a &lt;= b</expr> and +  <ref resolved='predef::CompilerEnvironment.PikeCompiler.push_type_attribute.b'>b</ref> had the type attribute <ref resolved='predef::CompilerEnvironment.PikeCompiler.push_type_attribute.attribute'>attribute</ref> before the +  comparison.</p> + <p> The default implementation implements the "deprecated" +  attribute.</p> + </text><group><returns/><text><p>Returns <expr>1</expr> if the type check should be allowed +  (ie <expr>a &lt;= __attribute__(attribute, b)</expr>), and +  <expr>0</expr> (zero) otherwise.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::CompilerEnvironment.PikeCompiler.pop_type_attribute'>pop_type_attribute()</ref></p> + </text></group></doc> + <method name='push_type_attribute'> + <arguments><argument name='attribute'><type><string/></type></argument><argument name='a'><type><type><mixed/></type></type></argument><argument name='b'><type><type><mixed/></type></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup>   <docgroup homogen-name='report' homogen-type='method'>   <method name='report'> - <arguments><argument name='severity'><type><object>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int/></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><string/></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments> + <arguments><argument name='severity'><type><object resolved='predef::Reporter.SeverityLevel'>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int/></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><string/></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='report' homogen-type='method'><doc><text><p>Report a diagnostic from the compiler.</p> + <p> The default implementation attempts to call the first +  corresponding function in the active handlers in priority order:</p> + <ol><group><item/><text><p>Call handler-&gt;report().</p> + </text></group><group><item/><text><p>Call handler-&gt;compile_warning() or handler-&gt;compile_error() +  depending on <ref resolved='predef::CompilerEnvironment.PikeCompiler.report.severity'>severity</ref>.</p> + </text></group><group><item/><text><p>Call compat-&gt;report().</p> + </text></group><group><item/><text><p>Call compat-&gt;compile_warning() or compat-&gt;compile_error() +  depending on <ref resolved='predef::CompilerEnvironment.PikeCompiler.report.severity'>severity</ref>.</p> + </text></group><group><item/><text><p>Fallback: Call <ref resolved='predef::Reporter.report'>CompilerEnvironment()-&gt;report()</ref> +  in the parent object.</p> + </text></group></ol><p>The arguments will be as follows:</p> + <dl><group><item name='report()'/><text><p>The report() function will be called with the same arguments +  as this function.</p> + </text></group><group><item name='compile_warning()/compile_error()'/><text><p>Depending on the <ref resolved='predef::CompilerEnvironment.PikeCompiler.report.severity'>severity</ref> either compile_warning() +  or compile_error() will be called.</p> + <p> They will be called with the <ref resolved='predef::CompilerEnvironment.PikeCompiler.report.filename'>filename</ref>, <ref resolved='predef::CompilerEnvironment.PikeCompiler.report.linenumber'>linenumber</ref> +  and formatted <ref resolved='predef::CompilerEnvironment.PikeCompiler.report.message'>message</ref> as arguments.</p> + <p> Note that these will not be called for the <ref resolved='predef::Reporter.SeverityLevel.NOTICE'>NOTICE</ref> severity, +  and that compile_error() will be used for both <ref resolved='predef::Reporter.SeverityLevel.ERROR'>ERROR</ref> and +  <ref resolved='predef::Reporter.SeverityLevel.FATAL'>FATAL</ref>.</p> + </text></group></dl> + </text><group><note/><text><p>In Pike 7.8 and earlier the report() function was not called +  in the handlers.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::Reporter.report'>CompilerEnvironment()-&gt;report()</ref></p> + </text></group></doc> + <method name='report'> + <arguments><argument name='severity'><type><object resolved='predef::Reporter.SeverityLevel'>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int/></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><string/></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup>   <docgroup homogen-name='resolv' homogen-type='method'>   <method name='resolv'>   <arguments><argument name='identifier'><type><string/></type></argument></arguments>   <returntype><mixed/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='resolv' homogen-type='method'><doc><text><p>Resolve the symbol <ref resolved='predef::CompilerEnvironment.PikeCompiler.resolv.identifier'>identifier</ref>.</p> + <p> The default implementation calls <ref resolved='predef::CompilerEnvironment.resolv'>CompilerEnvironment()-&gt;resolv()</ref> +  in the parent object, with the remaining arguments taken from the +  current <ref resolved='predef::CompilerEnvironment.PikeCompiler'>PikeCompiler</ref> context.</p> + </text><group><returns/><text><p>Returns the value of <ref>sym</ref> if found, and <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref> if not.</p> + </text></group></doc> + <method name='resolv'> + <arguments><argument name='identifier'><type><string/></type></argument></arguments> + <returntype><mixed/></returntype> + </method> + </docgroup> + <class name='CompilerState'> + <doc><text><p>Keeps the state of a single program/class during compilation.</p> + </text><group><note/><text><p>Not in use yet!</p> + </text></group></doc>   </class> -  + </class>   <class name='define'>   <docgroup homogen-name='`()' homogen-type='method'><doc><group><param name='arguments'/><text><p>Array of arguments to the macro. Zero if no parenthesis.</p>   </text></group><group><param name='context'/><text><p>CPP context we are evaluating in.</p>   </text></group><group><returns/><text><p>Returns the expansion of the macro on success, and <expr>0</expr> (zero)    on failure (typically due to invalid <ref resolved='predef::CompilerEnvironment.define.`().arguments'>arguments</ref>).</p>   </text></group></doc>   <method name='`()'>   <arguments><argument name='arguments'><type><or><array><valuetype><string/></valuetype></array><void/></or></type></argument><argument name='context'><type><or><object resolved='predef::CompilerEnvironment.CPP'>CPP</object><void/></or></type></argument><argument name='flags'><type><or><int/><void/></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   </class> -  + <class name='lock'> + <doc><text><p>This class acts as a lock against other threads accessing the compiler.</p> + <p> The lock is released when the object is destructed.</p> + </text></doc>   </class> -  + </class>   <module name='Concurrent'>   <doc><text><p>Module for handling multiple concurrent events.</p>   <p> The <ref resolved='predef::Concurrent.Future'>Future</ref> and <ref resolved='predef::Concurrent.Promise'>Promise</ref> API was inspired by    <url>https://github.com/couchdeveloper/FutureLib</url>.</p>   </text></doc>   <docgroup homogen-name='all' homogen-type='method'><doc><text><p>JavaScript Promise API equivalent of <ref resolved='predef::Concurrent.results'>results()</ref>.</p>   </text><group><note/><text><p>The returned <ref resolved='predef::Concurrent.Future'>Future</ref> does NOT have any state (eg backend)    propagated from the <ref resolved='predef::Concurrent.all.futures'>futures</ref>. This must be done by hand.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Concurrent.results'>results()</ref>, <ref resolved='predef::Concurrent.Promise.depend'>Promise.depend()</ref>    <url>https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise</url></p>
autodoc.git/autodoc.xml:22479:    also take into account some associated data that is provided out of band.    This API is compatible with both <ref resolved='predef::Crypto.Cipher'>Cipher</ref> and <ref resolved='predef::Crypto.Hash'>Hash</ref>.    AEADs are provided as sub-modules to their corresponding ciphers.    Examples include <ref resolved='predef::Nettle.BlockCipher16.CCM'>AES.CCM</ref>, <ref resolved='predef::Nettle.BlockCipher16.GCM'>AES.GCM</ref> and <ref>CAMELLIA.EAX</ref>.</p>   </text></group></dl><p>As the cryptographic services offered from this module aren't    necessarily used for security applications, none of the strings    input or output are marked as secure. That is up to the    caller.</p>   </text><group><note/><text><p>Most of the APIs in this module work on 8 bit binary strings unless    otherwise noted. -  For conversions to and from hexadecimal notation <ref>String.string2hex()</ref> -  and <ref>String.hex2string()</ref> may be of interest.</p> +  For conversions to and from hexadecimal notation <ref resolved='predef::String.string2hex'>String.string2hex()</ref> +  and <ref resolved='predef::String.hex2string'>String.hex2string()</ref> may be of interest.</p>   </text></group><group><note/><text><p>This module is only available if Pike has been compiled with    <ref resolved='predef::Nettle'>Nettle</ref> enabled (this is the default).</p>   </text></group></doc>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='make_crypt_md5' homogen-type='method'><doc><text><p>Hashes a <ref resolved='predef::Crypto.make_crypt_md5.password'>password</ref> together with a <ref resolved='predef::Crypto.make_crypt_md5.salt'>salt</ref> with the    crypt_md5 algorithm and returns the result.</p>   </text><group><seealso/><text><p><ref resolved='predef::Crypto.verify_crypt_md5'>verify_crypt_md5</ref></p>   </text></group></doc>
autodoc.git/autodoc.xml:22504:   </method>   </docgroup>   <docgroup homogen-name='rot13' homogen-type='method'><doc><text><p>Convenience function that accesses the crypt function of a    substitution object keyed to perform standard ROT13 (de)ciphering.</p>   </text></doc>   <method name='rot13'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup> + <docgroup homogen-name='siphash24' homogen-type='method'><doc><text><p>Hashes a string, with an optional key, to a 64 bit integer using +  the siphash-2-4 algorithm. Currently the 64 bit <ref resolved='predef::Crypto.siphash24.key'>key</ref> parameter +  is used both for the high and low part of the 128 bit key.</p> + </text></doc> + <method name='siphash24'> + <arguments><argument name='data'><type><string/></type></argument><argument name='key'><type><or><void/><int/></or></type></argument></arguments> + <returntype><int/></returntype> + </method> + </docgroup>   <docgroup homogen-name='verify_crypt_md5' homogen-type='method'><doc><text><p>Verifies the <ref resolved='predef::Crypto.verify_crypt_md5.password'>password</ref> against the crypt_md5 hash.</p>   </text><group><throws/><text><p>May throw an exception if the hash value is bad.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Crypto.make_crypt_md5'>make_crypt_md5</ref></p>   </text></group></doc>   <method name='verify_crypt_md5'>   <arguments><argument name='password'><type><string><min>0</min><max>255</max></string></type></argument><argument name='hash'><type><string><min>0</min><max>127</max></string></type></argument></arguments>   <returntype><object resolved='predef::bool'>bool</object></returntype>   </method>   </docgroup>   <class name='AE'>
autodoc.git/autodoc.xml:25204:   </method>   </docgroup>   <docgroup homogen-name='describe_encoded_value' homogen-type='method'><doc><text><p>Describe the contents of an <ref resolved='predef::encode_value'>encode_value()</ref> string.</p>   </text><group><returns/><text><p>Returns the number of encoding errors that were detected (if any).</p>   </text></group></doc>   <method name='describe_encoded_value'>   <arguments><argument name='data'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> + <docgroup homogen-name='describe_program' homogen-type='method'><doc><text><p>Debug function for showing the symbol table of a program.</p> + </text><group><returns/><text><p>Returns an array of arrays with the following information +  for each symbol in <ref resolved='predef::Debug.describe_program.p'>p</ref>:</p> + <array><group><elem><type><int/></type><index>modifiers</index></elem><text><p>Bitfield with the modifiers for the symbol.</p> + </text></group><group><elem><type><string/></type><index>symbol_name</index></elem><text><p>Name of the symbol.</p> + </text></group><group><elem><type><type><mixed/></type></type><index>value_type</index></elem><text><p>Value type for the symbol.</p> + </text></group><group><elem><type><int/></type><index>symbol_type</index></elem><text><p>Type of symbol.</p> + </text></group><group><elem><type><int/></type><index>symbol_offset</index></elem><text><p>Offset into the code or data area for the symbol.</p> + </text></group><group><elem><type><int/></type><index>inherit_offset</index></elem><text><p>Offset in the inherit table to the inherit containing +  the symbol.</p> + </text></group><group><elem><type><int/></type><index>inherit_level</index></elem><text><p>Depth in the inherit tree for the inherit containing +  the symbol.</p> + </text></group></array> + </text></group><group><note/><text><p>The API for this function is not fixed, and has changed +  since Pike 7.6. In particular it would make sense to return +  an array of objects instead, and more information about the +  symbols might be added.</p> + </text></group></doc> + <method name='describe_program'> + <arguments><argument name='p'><type><program/></type></argument></arguments> + <returntype><array><valuetype><array><valuetype><or><int/><string/><type><mixed/></type></or></valuetype></array></valuetype></array></returntype> + </method> + </docgroup>   <docgroup homogen-name='disassemble' homogen-type='method'><doc><text><p>Disassemble a Pike function to <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p>   </text><group><note/><text><p>This function is only available if the Pike runtime    has been compiled with debug enabled.</p>   </text></group></doc>   <method name='disassemble'>   <arguments><argument name='fun'><type><function/></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='dmalloc_set_name' homogen-type='method'><doc><group><note/><text><p>Only available when compiled with dmalloc.</p>
autodoc.git/autodoc.xml:25299:    run.</p>   </text></group><group><member><type><float/></type><index>"last_garbage_ratio"</index></member><text><p>Garbage ratio in the last gc run.</p>   </text></group><group><member><type><int/></type><index>"non_gc_time"</index></member><text><p>Decaying average over the interval between gc runs, measured    in real time nanoseconds.</p>   </text></group><group><member><type><int/></type><index>"gc_time"</index></member><text><p>Decaying average over the length of the gc runs, measured in    real time nanoseconds.</p>   </text></group><group><member><type><string/></type><index>"last_garbage_strategy"</index></member><text><p>The garbage accumulation goal that the gc aimed for when    setting "alloc_threshold" in the last run. The value is    either "garbage_ratio_low", "garbage_ratio_high" or    "garbage_max_interval". The first two correspond to the gc -  parameters with the same names in <ref>Pike.gc_parameters</ref>, and +  parameters with the same names in <ref resolved='predef::Pike.gc_parameters'>Pike.gc_parameters</ref>, and    the last is the minimum gc time limit specified through the -  "min_gc_time_ratio" parameter to <ref>Pike.gc_parameters</ref>.</p> +  "min_gc_time_ratio" parameter to <ref resolved='predef::Pike.gc_parameters'>Pike.gc_parameters</ref>.</p>   </text></group><group><member><type><int/></type><index>"last_gc"</index></member><text><p>Time when the garbage-collector last ran.</p>   </text></group><group><member><type><int/></type><index>"total_gc_cpu_time"</index></member><text><p>The total amount of CPU time that has been consumed in    implicit GC runs, in nanoseconds. 0 on systems where Pike    lacks support for CPU time measurement.</p>   </text></group><group><member><type><int/></type><index>"total_gc_real_time"</index></member><text><p>The total amount of real time that has been spent in    implicit GC runs, in nanoseconds.</p>   </text></group></mapping> - </text></group><group><seealso/><text><p><ref resolved='predef::gc'>gc()</ref>, <ref>Pike.gc_parameters()</ref>, <ref resolved='predef::Pike.implicit_gc_real_time'>Pike.implicit_gc_real_time</ref></p> + </text></group><group><seealso/><text><p><ref resolved='predef::gc'>gc()</ref>, <ref resolved='predef::Pike.gc_parameters'>Pike.gc_parameters()</ref>, <ref resolved='predef::Pike.implicit_gc_real_time'>Pike.implicit_gc_real_time</ref></p>   </text></group></doc>   <method name='gc_status'>   <arguments/>   <returntype><mapping><indextype><string/></indextype><valuetype><or><int/><float/></or></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='generate_perf_map' homogen-type='method'><doc><text><p>Generates a <expr>perf</expr> map file of all Pike code and writes it to    <expr>/tmp/perf-&lt;pid&gt;.map</expr>. This is useful only if pike has been    compiled with machine code support. It allows the linux perf tool to    determine the correct name of Pike functions that were compiled to
autodoc.git/autodoc.xml:25829:    programs which have been encoded by <ref resolved='predef::Encoder.nameof'>Encoder.nameof</ref> in the    corresponding <ref resolved='predef::Encoder'>Encoder</ref> object.</p>   </text></doc>   <docgroup homogen-name='__register_new_program' homogen-type='method'><doc><text><p>Called to register the program that is being decoded. Might get    called repeatedly with several other programs that are being    decoded recursively. The only safe assumption is that when the    top level thing being decoded is a program, then the first call    will be with the unfinished embryo that will later become that    program.</p>   </text><group><returns/><text><p>Returns either zero or a placeholder object. A placeholder -  object must be a clone of <ref>__null_program</ref>. When the program is +  object must be a clone of <ref resolved='predef::.__null_program'>__null_program</ref>. When the program is    finished, the placeholder object will be converted to a clone of    it. This is used for pike module objects.</p>   </text></group></doc>   <method name='__register_new_program'>   <arguments><argument name='p'><type><program/></type></argument></arguments>   <returntype><object resolved='predef::Decoder.__register_new_program'/></returntype>   </method>   </docgroup>   <docgroup homogen-name='functionof' homogen-type='method'><doc><text><p>Decode function encoded in <ref resolved='predef::Decoder.functionof.data'>data</ref>.</p>   <p> This function is called by <ref resolved='predef::decode_value'>decode_value()</ref> when it encounters
autodoc.git/autodoc.xml:25875:   </text><group><param name='data'/><text><p>Encoding of some program as returned by <ref resolved='predef::Encoder.nameof'>Encoder.nameof()</ref>.</p>   </text></group><group><returns/><text><p>Returns the decoded program.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Decoder.functionof'>functionof()</ref>, <ref resolved='predef::Decoder.objectof'>objectof()</ref></p>   </text></group></doc>   <method name='programof'>   <arguments><argument name='data'><type><string/></type></argument></arguments>   <returntype><program/></returntype>   </method>   </docgroup>   </class> + <module name='DefaultCompilerEnvironment'> + <doc><text><p>The <ref resolved='predef::CompilerEnvironment'>CompilerEnvironment</ref> object that is used +  for loading C-modules and by <ref resolved='predef::compile'>predef::compile()</ref>.</p> + </text><group><note/><text><p><ref resolved='predef::compile'>predef::compile()</ref> is essentially an alias for the +  <ref resolved='predef::CompilerEnvironment.compile'>CompilerEnvironment()-&gt;compile()</ref> in this object.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::CompilerEnvironment'>CompilerEnvironment</ref>, <ref resolved='predef::compile'>predef::compile()</ref></p> + </text></group></doc> + <docgroup homogen-name='CompilerEnvironment' homogen-type='inherit'> + <inherit name='CompilerEnvironment'><classname resolved='predef::CompilerEnvironment'>CompilerEnvironment</classname></inherit> + </docgroup> + </module>   <class name='Encoder'>   <doc><text><p>Codec used by <ref resolved='predef::encode_value'>encode_value()</ref> to encode objects, functions and    programs. Its purpose is to look up some kind of identifier for    them, so they can be mapped back to the corresponding instance    by <ref resolved='predef::decode_value'>decode_value()</ref>, rather than creating a new copy.</p>   </text></doc>   <docgroup homogen-name='nameof' homogen-type='method'><doc><text><p>Called by <ref resolved='predef::encode_value'>encode_value()</ref> to encode objects, functions and programs.</p>   </text><group><returns/><text><p>Returns something encodable on success, typically a string.    The returned value will be passed to the corresponding    <ref>objectof()</ref>, <ref>functionof()</ref> or <ref>programof()</ref> by
autodoc.git/autodoc.xml:25944:   </text><group><note/><text><p>The error message is always terminated with a newline.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Error.Generic.backtrace'>backtrace()</ref></p>   </text></group></doc>   <method name='`[]'>   <arguments><argument name='index'><type><int><min>0</min><max>1</max></int></type></argument></arguments>   <returntype><or><array/><string/></or></returntype>   </method>   </docgroup>   <docgroup homogen-name='backtrace' homogen-type='method'><doc><text><p>Return the backtrace where the error occurred. Normally simply    returns <ref resolved='predef::Error.Generic.error_backtrace'>error_backtrace</ref>.</p> - </text><group><seealso/><text><p><ref>predef::backtrace()</ref></p> + </text><group><seealso/><text><p><ref resolved='predef::backtrace'>predef::backtrace()</ref></p>   </text></group></doc>   <method name='backtrace'>   <arguments/>   <returntype><array/></returntype>   </method>   </docgroup>   <docgroup homogen-name='cast' homogen-type='method'><doc><text><p>Cast operator.</p>   </text><group><note/><text><p>The only supported type to cast to is <expr>"array"</expr>, which    generates an old-style error <expr>({<ref resolved='predef::Error.Generic.message'>message</ref>(),    <ref resolved='predef::Error.Generic.backtrace'>backtrace</ref>()})</expr>.</p>
autodoc.git/autodoc.xml:47294:   </class>   <class name='Allocation'>   <docgroup homogen-name='Rectangle' homogen-type='inherit'>   <inherit name='Rectangle'><classname>GDK2.Rectangle</classname></inherit>   </docgroup>   </class>   <class name='Arrow'>   <doc><text><p>An arrow pointing in one of four directions. The 'etched' shadow    types does not work.   <expr> GTK2.Arrow(GTK2.ARROW_UP, GTK2.SHADOW_OUT)</expr> - <image file='predef.GTK2.Arrow.1.png' height='15' width='15'>../images/gtk2_arrow.png</image></p> + <image file='predef.GTK2.Arrow.1.png'>../images/gtk2_arrow.png</image></p>   <p><expr> GTK2.Arrow(GTK2.ARROW_LEFT, GTK2.SHADOW_IN)</expr> - <image file='predef.GTK2.Arrow.2.png' height='15' width='15'>../images/gtk2_arrow_2.png</image></p> + <image file='predef.GTK2.Arrow.2.png'>../images/gtk2_arrow_2.png</image></p>   <p><expr> GTK2.Arrow(GTK2.ARROW_RIGHT, GTK2.SHADOW_IN)</expr> - <image file='predef.GTK2.Arrow.3.png' height='15' width='15'>../images/gtk2_arrow_3.png</image></p> + <image file='predef.GTK2.Arrow.3.png'>../images/gtk2_arrow_3.png</image></p>   <p><expr> GTK2.Arrow(GTK2.ARROW_DOWN, GTK2.SHADOW_OUT)</expr> - <image file='predef.GTK2.Arrow.4.png' height='15' width='15'>../images/gtk2_arrow_4.png</image></p> + <image file='predef.GTK2.Arrow.4.png'>../images/gtk2_arrow_4.png</image></p>   <p> Properties:    int arrow-type <ref resolved='predef::GTK2.ARROW_DOWN'>ARROW_DOWN</ref>, <ref resolved='predef::GTK2.ARROW_LEFT'>ARROW_LEFT</ref>, <ref resolved='predef::GTK2.ARROW_RIGHT'>ARROW_RIGHT</ref> and <ref resolved='predef::GTK2.ARROW_UP'>ARROW_UP</ref>    int shadow-type <ref resolved='predef::GTK2.SHADOW_ETCHED_IN'>SHADOW_ETCHED_IN</ref>, <ref resolved='predef::GTK2.SHADOW_ETCHED_OUT'>SHADOW_ETCHED_OUT</ref>, <ref resolved='predef::GTK2.SHADOW_IN'>SHADOW_IN</ref>, <ref resolved='predef::GTK2.SHADOW_NONE'>SHADOW_NONE</ref> and <ref resolved='predef::GTK2.SHADOW_OUT'>SHADOW_OUT</ref></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>First argument is one of <ref resolved='predef::GTK2.ARROW_DOWN'>ARROW_DOWN</ref>, <ref resolved='predef::GTK2.ARROW_LEFT'>ARROW_LEFT</ref>, <ref resolved='predef::GTK2.ARROW_RIGHT'>ARROW_RIGHT</ref> and <ref resolved='predef::GTK2.ARROW_UP'>ARROW_UP</ref>, second one of <ref resolved='predef::GTK2.SHADOW_ETCHED_IN'>SHADOW_ETCHED_IN</ref>, <ref resolved='predef::GTK2.SHADOW_ETCHED_OUT'>SHADOW_ETCHED_OUT</ref>, <ref resolved='predef::GTK2.SHADOW_IN'>SHADOW_IN</ref>, <ref resolved='predef::GTK2.SHADOW_NONE'>SHADOW_NONE</ref> and <ref resolved='predef::GTK2.SHADOW_OUT'>SHADOW_OUT</ref>.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='arrow_type_or_props'><type><or><int/><mapping/></or></type></argument><argument name='shadow_type'><type><or><int/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Arrow'>GTK2.Arrow</object></returntype>   </method>
autodoc.git/autodoc.xml:47327:   <method name='set'>   <arguments><argument name='arrow_type'><type><int/></type></argument><argument name='shadow_type'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Arrow'>GTK2.Arrow</object></returntype>   </method>   </docgroup>   </class>   <class name='AspectFrame'>   <doc><text><p>A W(Frame) widget that always maintain a specified ratio    between width and height. width/height == ratio</p>   <p><expr> GTK2.AspectFrame("Title",0.5,0.5,0.4,0)-&gt;add( GTK2.Label("Wrong aspect"))-&gt;set_size_request(200,200)</expr> - <image file='predef.GTK2.AspectFrame.1.png' height='200' width='200'>../images/gtk2_aspectframe.png</image></p> + <image file='predef.GTK2.AspectFrame.1.png'>../images/gtk2_aspectframe.png</image></p>   <p> Properties:    int obey-child    float ratio    float xalign    float yalign</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new frame. Arguments are label, xalign, yalign, ratio, obey_child    xalign is floats between 0 and 1, 0.0 is upper (or leftmost), 1.0 is    lower (or rightmost). If 'obey_child' is true, the frame will use the    aspect ratio of it's (one and only) child widget instead of 'ratio'.</p>
autodoc.git/autodoc.xml:47672:   <method name='set_spacing'>   <arguments><argument name='spacing'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Box'>GTK2.Box</object></returntype>   </method>   </docgroup>   </class>   <class name='Button'>   <doc><text><p>A container that can only contain one child, and accepts events.    draws a bevelbox around itself.   <expr> GTK2.Button("A button")</expr> - <image file='predef.GTK2.Button.1.png' height='27' width='65'>../images/gtk2_button.png</image></p> + <image file='predef.GTK2.Button.1.png'>../images/gtk2_button.png</image></p>   <p><expr> GTK2.Button("A button\nwith multiple lines\nof text")</expr> - <image file='predef.GTK2.Button.2.png' height='61' width='123'>../images/gtk2_button_2.png</image></p> + <image file='predef.GTK2.Button.2.png'>../images/gtk2_button_2.png</image></p>   <p><expr> GTK2.Button()-&gt;add(GTK2.Image(GTK2.GdkImage(0)-&gt;set(Image.Image(100,40)-&gt;test())))</expr> - <image file='predef.GTK2.Button.3.png' height='50' width='110'>../images/gtk2_button_3.png</image></p> + <image file='predef.GTK2.Button.3.png'>../images/gtk2_button_3.png</image></p>   <p> Properties:    int focus-on-click    GTK2.Widget image    int image-position    string label    int relief    int use-stock    int use-underline    float xalign    float yalign</p>
autodoc.git/autodoc.xml:47923:   </text></doc>   <method name='set_layout'>   <arguments><argument name='layout'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::GTK2.ButtonBox'>GTK2.ButtonBox</object></returntype>   </method>   </docgroup>   </class>   <class name='Calendar'>   <doc><text><p>A calendar widget.   <expr> GTK2.Calendar();</expr> - <image file='predef.GTK2.Calendar.1.png' height='188' width='229'>../images/gtk2_calendar.png</image></p> + <image file='predef.GTK2.Calendar.1.png'>../images/gtk2_calendar.png</image></p>   <p><expr> GTK2.Calendar()-&gt;select_day( 16 );</expr> - <image file='predef.GTK2.Calendar.2.png' height='188' width='229'>../images/gtk2_calendar_2.png</image></p> + <image file='predef.GTK2.Calendar.2.png'>../images/gtk2_calendar_2.png</image></p>   <p> Properties:    int day    int month    int no-month-change    int show-day-names    int show-heading    int show-week-numbers    int year</p>   <p> Signals:    <b>day_selected</b></p>
autodoc.git/autodoc.xml:48522:   </method>   </docgroup>   </class>   <class name='CheckButton'>   <doc><text><p>Check buttons inherent many properties and functions from the the    toggle buttons, but look a little different. Rather than    being buttons with text inside them, they are small squares with    the text to the right of them. These are often used for toggling    options on and off in applications.   <expr> GTK2.CheckButton( "title" )</expr> - <image file='predef.GTK2.CheckButton.1.png' height='21' width='46'>../images/gtk2_checkbutton.png</image></p> + <image file='predef.GTK2.CheckButton.1.png'>../images/gtk2_checkbutton.png</image></p>   <p> Style properties:    int indicator-size    int indicator-spacing</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>The argument, if specified, is the label of the item.    If no label is specified, use object-&gt;add() to add some    other widget (such as an pixmap or image widget)</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='label_or_props'><type><or><string/><mapping/></or></type></argument><argument name='mnemonic'><type><or><int/><void/></or></type></argument></arguments>
autodoc.git/autodoc.xml:48544:   </method>   </docgroup>   <docgroup homogen-name='ToggleButton' homogen-type='inherit'>   <inherit name='ToggleButton'><classname resolved='predef::GTK2.ToggleButton'>GTK2.ToggleButton</classname></inherit>   </docgroup>   </class>   <class name='CheckMenuItem'>   <doc><text><p>A check menu item is more or less identical to a check button, but it    should be used in menus.   <expr> GTK2.CheckMenuItem("Hi there")</expr> - <image file='predef.GTK2.CheckMenuItem.1.png' height='21' width='61'>../images/gtk2_checkmenuitem.png</image></p> + <image file='predef.GTK2.CheckMenuItem.1.png'>../images/gtk2_checkmenuitem.png</image></p>   <p><expr> GTK2.CheckMenuItem("Hi there")-&gt;set_active(1)</expr> - <image file='predef.GTK2.CheckMenuItem.2.png' height='21' width='61'>../images/gtk2_checkmenuitem_2.png</image></p> + <image file='predef.GTK2.CheckMenuItem.2.png'>../images/gtk2_checkmenuitem_2.png</image></p>   <p> Properties:    int active    int draw-as-radio    int inconsistent</p>   <p> Style properties:    int indicator-size</p>   <p> Signals:    <b>toggled</b>    Called when the state of the menu item is changed</p>   </text></doc>
autodoc.git/autodoc.xml:48807:    user select a color by manipulating RGB (Red, Green, Blue) and HSV    (Hue, Saturation, Value) triples. This is done either by adjusting    single values with sliders or entries, or by picking the desired    color from a hue-saturation wheel/value bar. Optionally, the    opacity of the color can also be set.</p>   <p> The color selection widget currently emits only one signal,    "color_changed", which is emitted whenever the current color in the    widget changes, either when the user changes it or if it's set    explicitly through set_color().</p>   <p><expr> GTK2.ColorSelection()</expr> - <image file='predef.GTK2.ColorSelection.1.png' height='212' width='452'>../images/gtk2_colorselection.png</image></p> + <image file='predef.GTK2.ColorSelection.1.png'>../images/gtk2_colorselection.png</image></p>   <p> Properties:    int current-alpha    GDK2.Color current-color    int has-opacity-control    int has-palette</p>   <p> Signals:    <b>color_changed</b></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new color selection.</p>   </text></doc>
autodoc.git/autodoc.xml:49428:   </docgroup>   </class>   <class name='Databox'>   <doc><text><p>GtkDatabox is designed to display large amounts of numerical data    fast and easy. Thousands of data points (X and Y coordinate) may be    displayed without any problems, zooming and scrolling as well as    optional rulers are already included.</p>   <p> The widget may be used as display for oscilloscopes or other    applications that need to display fast changes in their data.</p>   <p><expr> GTK2.Databox x=GTK2.Databox(); x-&gt;data_add_x_y(3, ({ 1.0, 0.5, 0.0 }), ({1.0, -1.0, 0.0}),GTK2.GdkColor(Image.Color.red), GTK2.DataboxLines,2); x-&gt;rescale(); x-&gt;set_size_request(300,300); return x;</expr> - <image file='predef.GTK2.Databox.1.png' height='300' width='300'>../images/gtk2_databox.png</image></p> + <image file='predef.GTK2.Databox.1.png'>../images/gtk2_databox.png</image></p>   <p> Signals:    <b>marked</b></p>   <p> <b>selection_canceled</b></p>   <p> <b>selection_changed</b></p>   <p> <b>selection_started</b></p>   <p> <b>selection_stopped</b></p>   <p> <b>zoomed</b></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new databox widget</p>   </text></doc>
autodoc.git/autodoc.xml:49766:   <returntype><object resolved='predef::GTK2.Dialog'>GTK2.Dialog</object></returntype>   </method>   </docgroup>   </class>   <class name='DrawingArea'>   <doc><text><p>The drawing area is a window you can draw in.    Please note that you <b>must</b> handle refresh and resize events    on your own. Use W(pDrawingArea) for a drawingarea with automatic    refresh/resize handling.   <expr> GTK2.DrawingArea()-&gt;set_size_request(100,100)</expr> - <image file='predef.GTK2.DrawingArea.1.png' height='100' width='100'>../images/gtk2_drawingarea.png</image></p> + <image file='predef.GTK2.DrawingArea.1.png'>../images/gtk2_drawingarea.png</image></p>   </text></doc>   <docgroup homogen-name='clear' homogen-type='method'><doc><text><p>Either clears the rectangle defined by the arguments, of if no    arguments are specified, the whole drawable.</p>   </text></doc>   <method name='clear'>   <arguments><argument name='x'><type><or><int/><void/></or></type></argument><argument name='y'><type><or><int/><void/></or></type></argument><argument name='width'><type><or><int/><void/></or></type></argument><argument name='height'><type><or><int/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.DrawingArea'>GTK2.DrawingArea</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='copy_area' homogen-type='method'><doc><text><p>Copies the rectangle defined by xsource,ysource and width,height
autodoc.git/autodoc.xml:50002:   </text></doc>   <method name='set_position'>   <arguments><argument name='pos'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Editable'>GTK2.Editable</object></returntype>   </method>   </docgroup>   </class>   <class name='Entry'>   <doc><text><p>Use this widget when you want the user to input a single line of text.   <expr> GTK2.Entry()-&gt;set_text("Hello world")-&gt;set_editable(1)</expr> - <image file='predef.GTK2.Entry.1.png' height='25' width='158'>../images/gtk2_entry.png</image></p> + <image file='predef.GTK2.Entry.1.png'>../images/gtk2_entry.png</image></p>   <p> Properties:    int activates-default    int cursor-position    int editable    int has-frame    int inner-border    int invisible-char    int max-length    int scroll-offset    int selection-bound
autodoc.git/autodoc.xml:50512:    have an associated X window. Not having an X window saves memory    and improves performance, but also has some drawbacks. A widget    without an X window cannot receive events, and does not perform any    clipping on it's contents. Although the name EventBox emphasizes    the event-handling function, the widget can also be used for    clipping.</p>   <p> The primary use for this widget is when you want to receive events    for a widget without a window. Examples of such widgets are labels    and images.</p>   <p><expr> GTK2.EventBox()-&gt;set_size_request(100,100)</expr> - <image file='predef.GTK2.EventBox.1.png' height='100' width='100'>../images/gtk2_eventbox.png</image></p> + <image file='predef.GTK2.EventBox.1.png'>../images/gtk2_eventbox.png</image></p>   <p> Properties:    int above-child    int visible-window</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new event box widget</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.EventBox'>GTK2.EventBox</object></returntype>   </method>
autodoc.git/autodoc.xml:51177:   <p> The default filename can be set using set_filename() and the    selected filename retrieved using get_filename().</p>   <p> Use complete() to display files that match a given pattern. This    can be used for example, to show only *.txt files, or only files    beginning with gtk*.</p>   <p> Simple file operations; create directory, delete file, and rename    file, are available from buttons at the top of the dialog. These    can be hidden using hide_fileop_buttons() and shown again using    show_fileop_buttons().</p>   <p><expr> GTK2.FileChooserDialog("File selector", 0, GTK2.FILE_CHOOSER_ACTION_OPEN, ({(["text":"Transmogrify", "id":17]), (["text":"Never mind", "id":42])}))</expr> - <image file='predef.GTK2.FileChooserDialog.1.png' height='384' width='584'>../images/gtk2_filechooserdialog.png</image></p> + <image file='predef.GTK2.FileChooserDialog.1.png'>../images/gtk2_filechooserdialog.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Creates a new file selection dialog box. By default it will list    the files in the current working directory. Operation buttons    allowing the user to create a directory, delete files, and rename    files will also be present by default.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='title'><type><string/></type></argument><argument name='parent'><type><object resolved='predef::GTK2.Window'>GTK2.Window</object></type></argument><argument name='mode'><type><int/></type></argument><argument name='buttons'><type><array/></type></argument></arguments>   <returntype><object resolved='predef::GTK2.FileChooserDialog'>GTK2.FileChooserDialog</object></returntype>   </method>
autodoc.git/autodoc.xml:51199:   <docgroup homogen-name='Dialog' homogen-type='inherit'>   <inherit name='Dialog'><classname resolved='predef::GTK2.Dialog'>GTK2.Dialog</classname></inherit>   </docgroup>   <docgroup homogen-name='FileChooser' homogen-type='inherit'>   <inherit name='FileChooser'><classname resolved='predef::GTK2.FileChooser'>GTK2.FileChooser</classname></inherit>   </docgroup>   </class>   <class name='FileChooserWidget'>   <doc><text><p>File chooser widget that can be embedded in other widgets.   <expr> GTK2.FileChooserWidget(GTK2.FILE_CHOOSER_ACTION_OPEN);</expr> - <image file='predef.GTK2.FileChooserWidget.1.png' height='97' width='383'>../images/gtk2_filechooserwidget.png</image></p> + <image file='predef.GTK2.FileChooserWidget.1.png'>../images/gtk2_filechooserwidget.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new file chooser widget.    action is one of <ref resolved='predef::GTK2.FILE_CHOOSER_ACTION_CREATE_FOLDER'>FILE_CHOOSER_ACTION_CREATE_FOLDER</ref>, <ref resolved='predef::GTK2.FILE_CHOOSER_ACTION_OPEN'>FILE_CHOOSER_ACTION_OPEN</ref>, <ref resolved='predef::GTK2.FILE_CHOOSER_ACTION_SAVE'>FILE_CHOOSER_ACTION_SAVE</ref> and <ref resolved='predef::GTK2.FILE_CHOOSER_ACTION_SELECT_FOLDER'>FILE_CHOOSER_ACTION_SELECT_FOLDER</ref></p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='action_or_props'><type><or><int/><mapping/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.FileChooserWidget'>GTK2.FileChooserWidget</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='FileChooser' homogen-type='inherit'>
autodoc.git/autodoc.xml:51288:   <p> The default filename can be set using set_filename() and the    selected filename retrieved using get_filename().</p>   <p> Use complete() to display files that match a given pattern. This    can be used for example, to show only *.txt files, or only files    beginning with gtk*.</p>   <p> Simple file operations; create directory, delete file, and rename    file, are available from buttons at the top of the dialog. These    can be hidden using hide_fileop_buttons() and shown again using    show_fileop_buttons().</p>   <p><expr> GTK2.FileSelection("File selector")</expr> - <image file='predef.GTK2.FileSelection.1.png' height='372' width='523'>../images/gtk2_fileselection.png</image></p> + <image file='predef.GTK2.FileSelection.1.png'>../images/gtk2_fileselection.png</image></p>   <p> Properties:    string filename    int select-multiple    int show-fileops</p>   </text></doc>   <docgroup homogen-name='complete' homogen-type='method'><doc><text><p>Will attempt to match pattern to a valid filename in the current    directory. If a match can be made, the matched filename will appear    in the text entry field of the file selection dialog. If a partial    match can be made, the "Files" list will contain those file names    which have been partially matched.</p>
autodoc.git/autodoc.xml:51449:   <arguments/>   <returntype><object resolved='predef::GTK2.FileSelection'>GTK2.FileSelection</object></returntype>   </method>   </docgroup>   </class>   <class name='Fixed'>   <doc><text><p>A fixed container is a container that keeps it's children at fixed    locations and give them fixed sizes, both given in pixels.</p>   <p> Example:   <expr> GTK2.Fixed()-&gt;put(GTK2.Label("100,100"), 100, 100)-&gt;put(GTK2.Label("0,0"), 0, 0)-&gt;set_size_request(150,115)</expr> - <image file='predef.GTK2.Fixed.1.png' height='115' width='150'>../images/gtk2_fixed.png</image></p> + <image file='predef.GTK2.Fixed.1.png'>../images/gtk2_fixed.png</image></p>   <p> Child properties:    int x    int y</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new fixed widget</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Fixed'>GTK2.Fixed</object></returntype>   </method>
autodoc.git/autodoc.xml:51614:   <method name='set_use_size'>   <arguments><argument name='setting'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::GTK2.FontButton'>GTK2.FontButton</object></returntype>   </method>   </docgroup>   </class>   <class name='FontSelection'>   <doc><text><p>The W(FontSelection) widget lists the available fonts, styles and sizes,    allowing the user to select a font. It is used in W(FontSelectionDialog).   <expr> GTK2.FontSelection();</expr> - <image file='predef.GTK2.FontSelection.1.png' height='249' width='421'>../images/gtk2_fontselection.png</image></p> + <image file='predef.GTK2.FontSelection.1.png'>../images/gtk2_fontselection.png</image></p>   <p> Properties:    string font-name    string preview-text</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new GTK2.FontSelection widget.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.FontSelection'>GTK2.FontSelection</object></returntype>   </method>
autodoc.git/autodoc.xml:51665:   </method>   </docgroup>   </class>   <class name='FontSelectionDialog'>   <doc><text><p>The GtkFontSelectionDialog widget is a dialog box for selecting a font.</p>   <p> To set the font which is initially selected, use set_font_name().</p>   <p> To get the selected font use get_font_name().</p>   <p> To change the text which is shown in the preview area, use    set_preview_text().</p>   <p><expr> GTK2.FontSelectionDialog("Select a font")</expr> - <image file='predef.GTK2.FontSelectionDialog.1.png' height='303' width='433'>../images/gtk2_fontselectiondialog.png</image></p> + <image file='predef.GTK2.FontSelectionDialog.1.png'>../images/gtk2_fontselectiondialog.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new font selection dialog with the specified window title</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='title'><type><string/></type></argument></arguments>   <returntype><object resolved='predef::GTK2.FontSelectionDialog'>GTK2.FontSelectionDialog</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='get_apply_button' homogen-type='method'><doc><text><p>The apply button</p>   </text></doc>
autodoc.git/autodoc.xml:51734:   </method>   </docgroup>   </class>   <class name='Frame'>   <doc><text><p>The frame widget is a Bin that surrounds its child with a    decorative frame and an optional label. If present, the label is    drawn in a gap in the top side of the frame. The position of the    label can be controlled with set_label_align().</p>   <p> Used to visually group objects.</p>   <p><expr> GTK2.Frame("Title")-&gt;add(GTK2.Label("Contents"))</expr> - <image file='predef.GTK2.Frame.1.png' height='36' width='62'>../images/gtk2_frame.png</image></p> + <image file='predef.GTK2.Frame.1.png'>../images/gtk2_frame.png</image></p>   <p><expr> GTK2.Frame()-&gt;add(GTK2.Label("Contents"))</expr> - <image file='predef.GTK2.Frame.2.png' height='21' width='62'>../images/gtk2_frame_2.png</image></p> + <image file='predef.GTK2.Frame.2.png'>../images/gtk2_frame_2.png</image></p>   <p><expr> GTK2.Frame()-&gt;add(GTK2.Label("Contents"))-&gt;set_shadow_type(GTK2.SHADOW_IN)</expr> - <image file='predef.GTK2.Frame.3.png' height='21' width='62'>../images/gtk2_frame_3.png</image></p> + <image file='predef.GTK2.Frame.3.png'>../images/gtk2_frame_3.png</image></p>   <p> Properties:    string label    GTK2.Widget label-widget    float label-xalign    float label-yalign    int shadow    int shadow-type</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new W(Frame) widget.</p>   </text></doc>
autodoc.git/autodoc.xml:54269:   <arguments><argument name='toolbar'><type><object resolved='predef::GTK2.Toolbar'>GTK2.Toolbar</object></type></argument></arguments>   <returntype><object>Gnome2.App</object></returntype>   </method>   </docgroup>   </class>   <class name='Gnome2Appbar'>   <doc><text><p>A bar that GNOME applications put on the bottom of the windows to    display status, progress, hints for menu items or a minibuffer for    getting some sort of response. It has a stack for status messages   <expr> GTK2.Gnome2Appbar( 1, 1, GTK2.GNOME_PREFERENCES_USER )-&gt;set_progress_percentage( 0.4 );</expr> - <image file='predef.GTK2.Gnome2Appbar.1.png' height='21' width='159'>../images/gnome2_appbar.png</image></p> + <image file='predef.GTK2.Gnome2Appbar.1.png'>../images/gnome2_appbar.png</image></p>   <p> Properties:    int has-progress    int has-status    int interactivity</p>   <p> Signals:    <b>clear_prompt</b>    Emitted when the prompt is cleared.    mixed user_data</p>   <p> <b>user_response</b>    Emitted when the user hits enter after a prompt.
autodoc.git/autodoc.xml:55089:   <method name='set_shutdown_command'>   <arguments><argument name='argv'><type><array/></type></argument></arguments>   <returntype><object>Gnome2.Client</object></returntype>   </method>   </docgroup>   </class>   <class name='Gnome2DateEdit'>   <doc><text><p>The GnomeDateEdit widget provides a way to enter dates and times    with a helper calendar to let the user select the date.   <expr> GTK2.Gnome2DateEdit(time(),1,1);</expr> - <image file='predef.GTK2.Gnome2DateEdit.1.png' height='27' width='331'>../images/gnome2_dateedit.png</image></p> + <image file='predef.GTK2.Gnome2DateEdit.1.png'>../images/gnome2_dateedit.png</image></p>   <p><expr> GTK2.Gnome2DateEdit(time(),0,1);</expr> - <image file='predef.GTK2.Gnome2DateEdit.2.png' height='25' width='115'>../images/gnome2_dateedit_2.png</image></p> + <image file='predef.GTK2.Gnome2DateEdit.2.png'>../images/gnome2_dateedit_2.png</image></p>   <p> Properties:    int dateedit-flags    int initial-time    int lower-hour    int time    int upper-hour</p>   <p> Signals:    <b>date_changed</b></p>   <p> <b>time_changed</b></p>   </text></doc>
autodoc.git/autodoc.xml:55508:   <method name='set_top_watermark'>   <arguments><argument name='watermark'><type><object resolved='predef::GTK2.GdkPixbuf'>GTK2.GdkPixbuf</object></type></argument></arguments>   <returntype><object>Gnome2.DruidPageStandard</object></returntype>   </method>   </docgroup>   </class>   <class name='Gnome2Href'>   <doc><text><p>This widget is a GtkButton button that contains a URL. When clicked    it invokes the configured browser for the URL you provided.</p>   <p><expr> GTK2.Gnome2Href( "http://www.gnome.org", "GNOME Web Site" )</expr> - <image file='predef.GTK2.Gnome2Href.1.png' height='27' width='119'>../images/gnome2_href.png</image></p> + <image file='predef.GTK2.Gnome2Href.1.png'>../images/gnome2_href.png</image></p>   <p><expr> GTK2.Gnome2Href( "http://www.gnome.org" )</expr> - <image file='predef.GTK2.Gnome2Href.2.png' height='27' width='10'>../images/gnome2_href_2.png</image></p> + <image file='predef.GTK2.Gnome2Href.2.png'>../images/gnome2_href_2.png</image></p>   <p> Properties:    string text    string url</p>   <p> Style properties:    GDK.Color link-color</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Created a GNOME href object, a label widget with a clickable action    and an associated URL. If label is set to 0, url is used as the    label.</p>   </text></doc>
autodoc.git/autodoc.xml:55716:   <method name='stop_loading'>   <arguments/>   <returntype><object>Gnome2.IconSelection</object></returntype>   </method>   </docgroup>   </class>   <class name='HScrollbar'>   <doc><text><p>A horizontal scrollbar.    General documentation: See W(Scrollbar)   <expr> GTK2.HScrollbar(GTK2.Adjustment())-&gt;set_size_request(300,15)</expr> - <image file='predef.GTK2.HScrollbar.1.png' height='15' width='300'>../images/gtk2_hscrollbar.png</image></p> + <image file='predef.GTK2.HScrollbar.1.png'>../images/gtk2_hscrollbar.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Used to create a new hscrollbar widget.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='adjustment_or_props'><type><object resolved='predef::GTK2.Adjustment'>GTK2.Adjustment</object></type></argument></arguments>   <returntype><object resolved='predef::GTK2.HScrollbar'>GTK2.HScrollbar</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Scrollbar' homogen-type='inherit'>   <inherit name='Scrollbar'><classname resolved='predef::GTK2.Scrollbar'>GTK2.Scrollbar</classname></inherit>   </docgroup>   </class>   <class name='HandleBox'>   <doc><text><p>The contents of a handle box can be 'dragged' out of the box by the user.    The contents will then be placed in a separate window.   <expr> GTK2.HandleBox()-&gt;add(GTK2.Label("The contents"))</expr> - <image file='predef.GTK2.HandleBox.1.png' height='17' width='93'>../images/gtk2_handlebox.png</image></p> + <image file='predef.GTK2.HandleBox.1.png'>../images/gtk2_handlebox.png</image></p>   <p> Properties:    int handle-position    int shadow    int shadow-type    int snap-edge    int snap-edge-set</p>   <p> Signals:    <b>child_attached</b>    Called when a new child is added to the box</p>   <p> <b>child_detached</b>
autodoc.git/autodoc.xml:55807:   </docgroup>   </class>   <class name='Hbox'>   <doc><text><p>Most packing is done by creating boxes. These are invisible widget    containers that we can pack our widgets into which come in two    forms, a horizontal box, and a vertical box. This is the horizontal    one. When packing widgets into a horizontal box, the objects are    inserted horizontally from left to right or right to left depending    on the call used.</p>   <p><expr> GTK2.Hbox(0,0)-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;pack_end_defaults(GTK2.Button("From right"))-&gt;pack_start_defaults(GTK2.Button("From left"))</expr> - <image file='predef.GTK2.Hbox.1.png' height='27' width='42'>../images/gtk2_hbox.png</image></p> + <image file='predef.GTK2.Hbox.1.png'>../images/gtk2_hbox.png</image></p>   <p><expr> GTK2.Hbox(1,0)-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;pack_end_defaults(GTK2.Button("From right"))-&gt;pack_start_defaults(GTK2.Button("From left"))</expr> - <image file='predef.GTK2.Hbox.2.png' height='27' width='42'>../images/gtk2_hbox_2.png</image></p> + <image file='predef.GTK2.Hbox.2.png'>../images/gtk2_hbox_2.png</image></p>   <p><expr> GTK2.Hbox(1,40)-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;pack_end_defaults(GTK2.Button("From right"))-&gt;pack_start_defaults(GTK2.Button("From left"))</expr> - <image file='predef.GTK2.Hbox.3.png' height='27' width='42'>../images/gtk2_hbox_3.png</image></p> + <image file='predef.GTK2.Hbox.3.png'>../images/gtk2_hbox_3.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new horizontal box widget.    If all_same_size is true, all widgets will have exactly the same size.    hpadding is added to the left and right of the children.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='uniformp_or_props'><type><or><int/><mapping/></or></type></argument><argument name='hpadding'><type><or><int/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Hbox'>GTK2.Hbox</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Box' homogen-type='inherit'>   <inherit name='Box'><classname resolved='predef::GTK2.Box'>GTK2.Box</classname></inherit>   </docgroup>   </class>   <class name='HbuttonBox'>   <doc><text><p>A HbuttonBox is very similar to a Hbox.    The major diffference is that the button box    is made to pack buttons in, and has a few convenience function for    normal button layouts.</p>   <p><expr> GTK2.HbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_size_request(400,30)</expr> - <image file='predef.GTK2.HbuttonBox.1.png' height='30' width='400'>../images/gtk2_hbuttonbox.png</image></p> + <image file='predef.GTK2.HbuttonBox.1.png'>../images/gtk2_hbuttonbox.png</image></p>   <p><expr> GTK2.HbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_layout(GTK2.BUTTONBOX_SPREAD)-&gt;set_size_request(400,30)</expr> - <image file='predef.GTK2.HbuttonBox.2.png' height='30' width='400'>../images/gtk2_hbuttonbox_2.png</image></p> + <image file='predef.GTK2.HbuttonBox.2.png'>../images/gtk2_hbuttonbox_2.png</image></p>   <p><expr> GTK2.HbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_layout(GTK2.BUTTONBOX_EDGE)-&gt;set_size_request(400,30)</expr> - <image file='predef.GTK2.HbuttonBox.3.png' height='30' width='400'>../images/gtk2_hbuttonbox_3.png</image></p> + <image file='predef.GTK2.HbuttonBox.3.png'>../images/gtk2_hbuttonbox_3.png</image></p>   <p><expr> GTK2.HbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_layout(GTK2.BUTTONBOX_START)-&gt;set_size_request(400,30)</expr> - <image file='predef.GTK2.HbuttonBox.4.png' height='30' width='400'>../images/gtk2_hbuttonbox_4.png</image></p> + <image file='predef.GTK2.HbuttonBox.4.png'>../images/gtk2_hbuttonbox_4.png</image></p>   <p><expr> GTK2.HbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_layout(GTK2.BUTTONBOX_END)-&gt;set_size_request(400,30)</expr> - <image file='predef.GTK2.HbuttonBox.5.png' height='30' width='400'>../images/gtk2_hbuttonbox_5.png</image></p> + <image file='predef.GTK2.HbuttonBox.5.png'>../images/gtk2_hbuttonbox_5.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new horizontal button box</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.HbuttonBox'>GTK2.HbuttonBox</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='ButtonBox' homogen-type='inherit'>   <inherit name='ButtonBox'><classname resolved='predef::GTK2.ButtonBox'>GTK2.ButtonBox</classname></inherit>   </docgroup>   </class>   <class name='Hpaned'>   <doc><text><p>The paned window widgets are useful when you want to divide an area    into two parts, with the relative size of the two parts controlled    by the user. A groove is drawn between the two portions with a    handle that the user can drag to change the ratio. This widgets    makes a horizontal division</p>   <p> See W(Paned) for details.</p>   <p><expr> GTK2.Hpaned()-&gt;add1(GTK2.Label("Left\nSide\nOf\nPane"))-&gt;add2(GTK2.Label("Right\nSide\nOf\nPane"))-&gt;set_size_request(100,100)</expr> - <image file='predef.GTK2.Hpaned.1.png' height='100' width='100'>../images/gtk2_hpaned.png</image></p> + <image file='predef.GTK2.Hpaned.1.png'>../images/gtk2_hpaned.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new W(Hpaned) widget.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Hpaned'>GTK2.Hpaned</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Paned' homogen-type='inherit'>   <inherit name='Paned'><classname resolved='predef::GTK2.Paned'>GTK2.Paned</classname></inherit>
autodoc.git/autodoc.xml:55884:   <class name='Hscale'>   <doc><text><p>The GTK2.HScale widget is used to allow the user to select a value    using a horizontal slider. A GTK2.Adjustment is used to set the    initial value, the lower and upper bounds, and the step and page    increments.</p>   <p> See W(Scale) for details</p>   <p> The position to show the current value, and the number of decimal    places shown can be set using the parent W(Scale) class's    functions.</p>   <p><expr> GTK2.Hscale(GTK2.Adjustment())-&gt;set_size_request(300,30)</expr> - <image file='predef.GTK2.Hscale.1.png' height='30' width='300'>../images/gtk2_hscale.png</image></p> + <image file='predef.GTK2.Hscale.1.png'>../images/gtk2_hscale.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Used to create a new hscale widget.    Either pass an W(Adjustment), or three floats representing min, max, and    step values.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='settings_or_min_props'><type><object resolved='predef::GTK2.Adjustment'>GTK2.Adjustment</object></type></argument><argument name='max'><type><or><float/><void/></or></type></argument><argument name='step'><type><or><float/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Hscale'>GTK2.Hscale</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Scale' homogen-type='inherit'>   <inherit name='Scale'><classname resolved='predef::GTK2.Scale'>GTK2.Scale</classname></inherit>   </docgroup>   </class>   <class name='Hseparator'>   <doc><text><p>Simply creates a horizontal separator. No bells or whistles.   <expr> GTK2.Hseparator()-&gt;set_size_request(300,3)</expr> - <image file='predef.GTK2.Hseparator.1.png' height='3' width='300'>../images/gtk2_hseparator.png</image></p> + <image file='predef.GTK2.Hseparator.1.png'>../images/gtk2_hseparator.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Used to create a new hseparator widget.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Hseparator'>GTK2.Hseparator</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Separator' homogen-type='inherit'>   <inherit name='Separator'><classname resolved='predef::GTK2.Separator'>GTK2.Separator</classname></inherit>
autodoc.git/autodoc.xml:56805:   <arguments><argument name='path'><type><object resolved='predef::GTK2.TreePath'>GTK2.TreePath</object></type></argument></arguments>   <returntype><object resolved='predef::GTK2.IconView'>GTK2.IconView</object></returntype>   </method>   </docgroup>   </class>   <class name='Image'>   <doc><text><p>An image is a image object stored in client, not X server, memory.    A pixmap, on the other hand, is a image object stored in the X-server.    See GDK2.Image and GDK2.Pixmap.</p>   <p><expr> GTK2.Image("tornado_nguyen_big.jpg");</expr> - <image file='predef.GTK2.Image.1.png' height='20' width='20'>../images/gtk2_image.png</image></p> + <image file='predef.GTK2.Image.1.png'>../images/gtk2_image.png</image></p>   <p> Properties:    string file    string icon-name    icon-set    int icon-size    GDK2.Image image    GDK2.Pixmap mask    GDK2.Pixbuf pixbuf    GDK2.PixbufAnimation pixbuf-animation    int pixel-size
autodoc.git/autodoc.xml:57071:   <returntype><object resolved='predef::GTK2.KeywordListTag'>GTK2.KeywordListTag</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='SourceTag' homogen-type='inherit'>   <inherit name='SourceTag'><classname resolved='predef::GTK2.SourceTag'>GTK2.SourceTag</classname></inherit>   </docgroup>   </class>   <class name='Label'>   <doc><text><p>A simple text label.   <expr> GTK2.Label("A simple text label")</expr> - <image file='predef.GTK2.Label.1.png' height='17' width='118'>../images/gtk2_label.png</image></p> + <image file='predef.GTK2.Label.1.png'>../images/gtk2_label.png</image></p>   <p><expr> GTK2.Label("Multi\nline text\nlabel here")</expr> - <image file='predef.GTK2.Label.2.png' height='51' width='63'>../images/gtk2_label_2.png</image></p> + <image file='predef.GTK2.Label.2.png'>../images/gtk2_label_2.png</image></p>   <p><expr> GTK2.Label("Multi\nline text\nlabel here")-&gt;set_justify(GTK2.JUSTIFY_LEFT)</expr> - <image file='predef.GTK2.Label.3.png' height='51' width='63'>../images/gtk2_label_3.png</image></p> + <image file='predef.GTK2.Label.3.png'>../images/gtk2_label_3.png</image></p>   <p><expr> GTK2.Label("Multi\nline text\nlabel here")-&gt;set_justify(GTK2.JUSTIFY_RIGHT)</expr> - <image file='predef.GTK2.Label.4.png' height='51' width='63'>../images/gtk2_label_4.png</image></p> + <image file='predef.GTK2.Label.4.png'>../images/gtk2_label_4.png</image></p>   <p> Properties:    float angle    Pango.AttrList attributes    int cursor-position    int ellipsize <ref resolved='predef::GTK2.PANGO_ELLIPSIZE_END'>PANGO_ELLIPSIZE_END</ref>, <ref resolved='predef::GTK2.PANGO_ELLIPSIZE_MIDDLE'>PANGO_ELLIPSIZE_MIDDLE</ref>, <ref resolved='predef::GTK2.PANGO_ELLIPSIZE_NONE'>PANGO_ELLIPSIZE_NONE</ref> and <ref resolved='predef::GTK2.PANGO_ELLIPSIZE_START'>PANGO_ELLIPSIZE_START</ref>    int justfy <ref resolved='predef::GTK2.JUSTIFY_CENTER'>JUSTIFY_CENTER</ref>, <ref resolved='predef::GTK2.JUSTIFY_FILL'>JUSTIFY_FILL</ref>, <ref resolved='predef::GTK2.JUSTIFY_LEFT'>JUSTIFY_LEFT</ref> and <ref resolved='predef::GTK2.JUSTIFY_RIGHT'>JUSTIFY_RIGHT</ref>    string label    int max-width-chars    int mnemonic-keyval    int mnemonic-widget
autodoc.git/autodoc.xml:57868:   <returntype><object resolved='predef::GTK2.Menu'>GTK2.Menu</object></returntype>   </method>   </docgroup>   </class>   <class name='MenuBar'>   <doc><text><p>Basically a horizontal W(Menu).    The menu image cannot be    grabbed automatically, but this is how you would create a menu all    in one line. This is not the recommended coding style.   <expr> GTK2.MenuBar()-&gt;add(GTK2.MenuItem("Menu")-&gt;set_submenu(GTK2.Menu()-&gt;add(GTK2.MenuItem("Sub")))-&gt;select()-&gt;activate())-&gt;add(GTK2.MenuItem("Bar"))</expr> - <image file='predef.GTK2.MenuBar.1.png' height='27' width='91'>../images/gtk2_menubar.png</image></p> + <image file='predef.GTK2.MenuBar.1.png'>../images/gtk2_menubar.png</image></p>   <p> Properties:    int child-pack-direction    int pack-direction</p>   <p> Style properties:    int internal-padding    int shadow-type</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new menu bar.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>
autodoc.git/autodoc.xml:58256:    itself, but is used to derive subclasses which have alignment and    padding attributes.</p>   <p> The horizontal and vertical padding attributes allows extra space    to be added around the widget.</p>   <p> The horizontal and vertical alignment attributes enable the widget    to be positioned within its allocated area. Note that if the widget    is added to a container in such a way that it expands automatically    to fill its allocated area, the alignment settings will not alter    the widgets position.</p>   <p><expr> GTK2.Vbox(0,0)-&gt;add(GTK2.Label("Label"))-&gt;set_size_request(100,20)</expr> - <image file='predef.GTK2.Misc.1.png' height='20' width='100'>../images/gtk2_misc.png</image></p> + <image file='predef.GTK2.Misc.1.png'>../images/gtk2_misc.png</image></p>   <p><expr> GTK2.Vbox(0,0)-&gt;add(GTK2.Label("Label")-&gt;set_alignment(1.0,0.0))-&gt;set_size_request(100,20)</expr> - <image file='predef.GTK2.Misc.2.png' height='20' width='100'>../images/gtk2_misc_2.png</image></p> + <image file='predef.GTK2.Misc.2.png'>../images/gtk2_misc_2.png</image></p>   <p><expr> GTK2.Vbox(0,0)-&gt;add(GTK2.Label("Label")-&gt;set_alignment(0.0,0.0))-&gt;set_size_request(100,20)</expr> - <image file='predef.GTK2.Misc.3.png' height='20' width='100'>../images/gtk2_misc_3.png</image></p> + <image file='predef.GTK2.Misc.3.png'>../images/gtk2_misc_3.png</image></p>   <p> Properties:    float xalign    The horizontal alignment, from 0 (left) to 1 (right).    int xpad    The amount of space to add on the left and right of the widget, in    pixels.    float yalign    The vertical alignment, from 0 (top) to 1 (bottom).    int ypad    The amount of space to add on the top and bottom of the widget, in
autodoc.git/autodoc.xml:58314:   </method>   </docgroup>   </class>   <class name='Notebook'>   <doc><text><p>The NoteBook Widget is a collection of 'pages' that overlap each    other, each page contains different information. This widget has    become more common lately in GUI programming, and it is a good way    to show blocks similar information that warrant separation in their    display.</p>   <p><expr> GTK2.Notebook()-&gt;set_tab_pos(GTK2.POS_LEFT)-&gt;append_page(GTK2.Label("Page 1\nContents"),GTK2.Label("Page 1"))-&gt;append_page(GTK2.Label(""),GTK2.Label("Page 2"))-&gt;append_page(GTK2.Label("Page 3 contents\nare here!"),GTK2.Label("Page 3"))</expr> - <image file='predef.GTK2.Notebook.1.png' height='38' width='116'>../images/gtk2_notebook.png</image></p> + <image file='predef.GTK2.Notebook.1.png'>../images/gtk2_notebook.png</image></p>   <p><expr> GTK2.Notebook()-&gt;set_tab_pos(GTK2.POS_TOP)-&gt;append_page(GTK2.Label("Page 1\nContents"),GTK2.Label("Page 1"))-&gt;append_page(GTK2.Label(""),GTK2.Label("Page 2"))-&gt;append_page(GTK2.Label("Page 3 contents\nare here!"),GTK2.Label("Page 3"))</expr> - <image file='predef.GTK2.Notebook.2.png' height='65' width='62'>../images/gtk2_notebook_2.png</image></p> + <image file='predef.GTK2.Notebook.2.png'>../images/gtk2_notebook_2.png</image></p>   <p><expr> GTK2.Notebook()-&gt;set_tab_pos(GTK2.POS_RIGHT)-&gt;append_page(GTK2.Label("Page 1\nContents"),GTK2.Label("Page 1"))-&gt;append_page(GTK2.Label(""),GTK2.Label("Page 2"))-&gt;append_page(GTK2.Label("Page 3 contents\nare here!"),GTK2.Label("Page 3"))-&gt;next_page()-&gt;next_page()</expr> - <image file='predef.GTK2.Notebook.3.png' height='38' width='116'>../images/gtk2_notebook_3.png</image></p> + <image file='predef.GTK2.Notebook.3.png'>../images/gtk2_notebook_3.png</image></p>   <p> Properties:    int enable-popup    int homogeneous    int page    int scrollable    int show-border    int show-tabs    int tab-border    int tab-hborder    int tab-pos
autodoc.git/autodoc.xml:59883:    float text-yalign</p>   </text></doc>   <docgroup homogen-name='Widget' homogen-type='inherit'>   <inherit name='Widget'><classname resolved='predef::GTK2.Widget'>GTK2.Widget</classname></inherit>   </docgroup>   </class>   <class name='ProgressBar'>   <doc><text><p>A simple progress bar. Useful when you are doing things that take a long    time. Try to always have an 'abort' button whenever it makes sence.   <expr> GTK2.ProgressBar()-&gt;set_fraction(0.1)</expr> - <image file='predef.GTK2.ProgressBar.1.png' height='20' width='150'>../images/gtk2_progressbar.png</image></p> + <image file='predef.GTK2.ProgressBar.1.png'>../images/gtk2_progressbar.png</image></p>   <p><expr> GTK2.ProgressBar()-&gt;set_property("show_text", 1)-&gt;set_fraction(0.3)</expr> - <image file='predef.GTK2.ProgressBar.2.png' height='28' width='150'>../images/gtk2_progressbar_2.png</image></p> + <image file='predef.GTK2.ProgressBar.2.png'>../images/gtk2_progressbar_2.png</image></p>   <p><expr> GTK2.ProgressBar()-&gt;set_fraction(0.6)</expr> - <image file='predef.GTK2.ProgressBar.3.png' height='20' width='150'>../images/gtk2_progressbar_3.png</image></p> + <image file='predef.GTK2.ProgressBar.3.png'>../images/gtk2_progressbar_3.png</image></p>   <p><expr> GTK2.ProgressBar()-&gt;set_fraction(1.0)</expr> - <image file='predef.GTK2.ProgressBar.4.png' height='20' width='150'>../images/gtk2_progressbar_4.png</image></p> + <image file='predef.GTK2.ProgressBar.4.png'>../images/gtk2_progressbar_4.png</image></p>   <p> Properties:    int discrete-blocks    int ellipsize <ref resolved='predef::GTK2.PANGO_ELLIPSIZE_END'>PANGO_ELLIPSIZE_END</ref>, <ref resolved='predef::GTK2.PANGO_ELLIPSIZE_MIDDLE'>PANGO_ELLIPSIZE_MIDDLE</ref>, <ref resolved='predef::GTK2.PANGO_ELLIPSIZE_NONE'>PANGO_ELLIPSIZE_NONE</ref> and <ref resolved='predef::GTK2.PANGO_ELLIPSIZE_START'>PANGO_ELLIPSIZE_START</ref>    float fraction    int orientation <ref resolved='predef::GTK2.PROGRESS_BOTTOM_TO_TOP'>PROGRESS_BOTTOM_TO_TOP</ref>, <ref resolved='predef::GTK2.PROGRESS_CONTINUOUS'>PROGRESS_CONTINUOUS</ref>, <ref resolved='predef::GTK2.PROGRESS_DISCRETE'>PROGRESS_DISCRETE</ref>, <ref resolved='predef::GTK2.PROGRESS_LEFT_TO_RIGHT'>PROGRESS_LEFT_TO_RIGHT</ref>, <ref resolved='predef::GTK2.PROGRESS_RIGHT_TO_LEFT'>PROGRESS_RIGHT_TO_LEFT</ref> and <ref resolved='predef::GTK2.PROGRESS_TOP_TO_BOTTOM'>PROGRESS_TOP_TO_BOTTOM</ref>    float pulse-step    string text</p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new progress bar.    The default values are:
autodoc.git/autodoc.xml:60053:   </docgroup>   </class>   <class name='RadioButton'>   <doc><text><p>Radio buttons are similar to check buttons except they are grouped    so that only one may be selected/depressed at a time. This is good    for places in your application where you need to select from a    short list of options.    To connect the buttons, use another button in the desired group    as the second argument to GTK2.RadioButton().</p>   <p><expr> GTK2.RadioButton("Button");</expr> - <image file='predef.GTK2.RadioButton.1.png' height='21' width='65'>../images/gtk2_radiobutton.png</image></p> + <image file='predef.GTK2.RadioButton.1.png'>../images/gtk2_radiobutton.png</image></p>   <p> Properties:    GTK2.RadioButton group</p>   <p> Signals:    <b>group_changed</b></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Normal creation:    object GTK2.RadioButton(string title) - First button (with label)    object GTK2.RadioButton()-&gt;add(widget) - First button (with widget)    object GTK2.RadioButton(title, another_radio_button) - Second to n:th button (with title)    object GTK2.RadioButton(0,another_radio_button)-&gt;add(widget) - Second to n:th button (with widget)</p>
autodoc.git/autodoc.xml:60094:   </text></doc>   <method name='set_group'>   <arguments><argument name='groupmember'><type><object resolved='predef::GTK2.RadioButton'>GTK2.RadioButton</object></type></argument></arguments>   <returntype><object resolved='predef::GTK2.RadioButton'>GTK2.RadioButton</object></returntype>   </method>   </docgroup>   </class>   <class name='RadioMenuItem'>   <doc><text><p>Exactly like W(RadioButton), but it is an menu item.   <expr> GTK2.RadioMenuItem("Menu item")</expr> - <image file='predef.GTK2.RadioMenuItem.1.png' height='21' width='78'>../images/gtk2_radiomenuitem.png</image></p> + <image file='predef.GTK2.RadioMenuItem.1.png'>../images/gtk2_radiomenuitem.png</image></p>   <p> Properties:</p>   <p> GTK2.RadioMenuItem group</p>   <p> Signals:    <b>group_changed</b></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>object GTK2.RadioMenuItem(string title) - First button (with label)    object GTK2.RadioMenuItem()-&gt;add(widget) - First button (with widget)    object GTK2.RadioMenuItem(title, another_radio_button) - Second to n:th button (with title)    object GTK2.RadioMenuItem(0,another_radio_button)-&gt;add(widget) - Second to n:th button (with widget)</p>   </text></doc>
autodoc.git/autodoc.xml:61278:   <docgroup homogen-name='Range' homogen-type='inherit'>   <inherit name='Range'><classname resolved='predef::GTK2.Range'>GTK2.Range</classname></inherit>   </docgroup>   </class>   <class name='ScrolledWindow'>   <doc><text><p>Scrolled windows are used to create a scrollable area with another    widget inside it. You may insert any type of widget into a scrolled    window, and it will be accessible regardless of its size by using    the scrollbars.</p>   <p><expr> GTK2.ScrolledWindow(GTK2.Adjustment(),GTK2.Adjustment())-&gt;add(GTK2.Label("A small label"))-&gt;set_policy(GTK2.POLICY_AUTOMATIC,GTK2.POLICY_AUTOMATIC)</expr> - <image file='predef.GTK2.ScrolledWindow.1.png' height='57' width='40'>../images/gtk2_scrolledwindow.png</image></p> + <image file='predef.GTK2.ScrolledWindow.1.png'>../images/gtk2_scrolledwindow.png</image></p>   <p><expr> GTK2.ScrolledWindow(GTK2.Adjustment(),GTK2.Adjustment())-&gt;add(GTK2.Label("A small label"))-&gt;set_policy(GTK2.POLICY_AUTOMATIC,GTK2.POLICY_AUTOMATIC)</expr> - <image file='predef.GTK2.ScrolledWindow.2.png' height='57' width='40'>../images/gtk2_scrolledwindow_2.png</image></p> + <image file='predef.GTK2.ScrolledWindow.2.png'>../images/gtk2_scrolledwindow_2.png</image></p>   <p><expr> GTK2.ScrolledWindow(GTK2.Adjustment(),GTK2.Adjustment())-&gt;add(GTK2.Label("A small label"))</expr> - <image file='predef.GTK2.ScrolledWindow.3.png' height='57' width='57'>../images/gtk2_scrolledwindow_3.png</image></p> + <image file='predef.GTK2.ScrolledWindow.3.png'>../images/gtk2_scrolledwindow_3.png</image></p>   <p><expr> GTK2.ScrolledWindow(GTK2.Adjustment(),GTK2.Adjustment())-&gt;add(GTK2.Label("a very huge label"))</expr> - <image file='predef.GTK2.ScrolledWindow.4.png' height='57' width='57'>../images/gtk2_scrolledwindow_4.png</image></p> + <image file='predef.GTK2.ScrolledWindow.4.png'>../images/gtk2_scrolledwindow_4.png</image></p>   <p> Properties:    GTK2.Adjustment hadjustment    int hscrollbar-policy    int shadow-type    GTK2.Adjustment vadjustment    int vscrollbar-policy    int window-placement</p>   <p> Style properties:    int scrollbar-spacing    int scrollbars-within-bevel</p>
autodoc.git/autodoc.xml:62372:    &lt;ul&gt;&lt;li&gt;value: initial value for the Spin Button&lt;/li&gt;    &lt;li&gt;lower: lower range value&lt;/li&gt;    &lt;li&gt;upper: upper range value&lt;/li&gt;    &lt;li&gt;step_increment: value to increment/decrement when pressing mouse button 1 on a button&lt;/li&gt;    &lt;li&gt;page_increment: value to increment/decrement when pressing mouse button 2 on a button&lt;/li&gt;    &lt;li&gt;page_size: unused&lt;/li&gt;    &lt;/ul&gt;</p>   <p> The argument order for the W(Adjustment) constructor is:    value, lower, upper, step_increment, page_increment, page_size</p>   <p><expr> GTK2.SpinButton(GTK2.Adjustment(),0.1, 1 )-&gt;set_size_request(60,20)</expr> - <image file='predef.GTK2.SpinButton.1.png' height='20' width='60'>../images/gtk2_spinbutton.png</image></p> + <image file='predef.GTK2.SpinButton.1.png'>../images/gtk2_spinbutton.png</image></p>   <p> Properties:    GTK2.Adjustment adjustment    float climb-rate    int digits    int numeric    int snap-to-ticks    int update-policy    float value    int wrap</p>   <p> Style properties:
autodoc.git/autodoc.xml:62794:   <doc><text><p>Statusbars are simple widgets used to display a text message. They    keep a stack of the messages pushed onto them, so that popping the    current message will re-display the previous text message.</p>   <p> In order to allow different parts of an application to use the same    statusbar to display messages, the statusbar widget issues Context    Identifiers which are used to identify different 'users'. The    message on top of the stack is the one displayed, no matter what    context it is in. Messages are stacked in last-in-first-out order,    not context identifier order.</p>   <p><expr> lambda() {object sb = GTK2.Statusbar();int id = sb-&gt;get_context_id("test");sb-&gt;push(id,"A message");sb-&gt;push(id,"Another message");return sb;}()</expr> - <image file='predef.GTK2.Statusbar.1.png' height='21' width='28'>../images/gtk2_statusbar.png</image></p> + <image file='predef.GTK2.Statusbar.1.png'>../images/gtk2_statusbar.png</image></p>   <p><expr> lambda() {object sb = GTK2.Statusbar();int id = sb-&gt;get_context_id("test");sb-&gt;push(id,"A message");sb-&gt;push(id,"Another message");sb-&gt;pop(id);return sb;}()</expr> - <image file='predef.GTK2.Statusbar.2.png' height='21' width='28'>../images/gtk2_statusbar_2.png</image></p> + <image file='predef.GTK2.Statusbar.2.png'>../images/gtk2_statusbar_2.png</image></p>   <p> Properties:    int has-resize-grip</p>   <p> Style properties:    int shadow-type</p>   <p> Signals:    <b>text_popped</b></p>   <p> <b>text_pushed</b></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new statusbar widget</p>   </text></doc>
autodoc.git/autodoc.xml:63098:   </docgroup>   <docgroup homogen-name='SourceTag' homogen-type='inherit'>   <inherit name='SourceTag'><classname resolved='predef::GTK2.SourceTag'>GTK2.SourceTag</classname></inherit>   </docgroup>   </class>   <class name='Table'>   <doc><text><p>The GTK2.Table allows the programmer to arrange widgets in rows and    columns, making it easy to align many widgets next to each other,    horizontally and vertically.</p>   <p><expr> GTK2.Table(2,2,0)-&gt;attach_defaults( GTK2.Label("0,0"), 0, 1, 0, 1)-&gt;attach_defaults( GTK2.Label("0,1"), 0, 1, 1, 2)-&gt;attach_defaults( GTK2.Label("1,0"), 1, 2, 0, 1)-&gt;attach_defaults( GTK2.Label("1,1"), 1, 2, 1, 2)-&gt;set_col_spacings(10)-&gt;set_row_spacings(10)</expr> - <image file='predef.GTK2.Table.1.png' height='27' width='30'>../images/gtk2_table.png</image></p> + <image file='predef.GTK2.Table.1.png'>../images/gtk2_table.png</image></p>   <p><expr> GTK2.Table(2,2,0)-&gt;attach_defaults( GTK2.Label("0,0-1,0"), 0, 2, 0, 1)-&gt;attach_defaults( GTK2.Label("0,1"), 0, 1, 1, 2)-&gt;attach_defaults( GTK2.Label("1,1"), 1, 2, 1, 2)-&gt;set_col_spacings(10)-&gt;set_row_spacings(10)</expr> - <image file='predef.GTK2.Table.2.png' height='27' width='30'>../images/gtk2_table_2.png</image></p> + <image file='predef.GTK2.Table.2.png'>../images/gtk2_table_2.png</image></p>   <p> Properties:    int column-spacing    int homogeneous    int n-columns    int n-rows    int row-spacing</p>   <p> Child properties:    int bottom-attach    int left-attach    int right-attach
autodoc.git/autodoc.xml:63269:    tear off and reattach its menu.</p>   <p> When its menu is shown normally, the GTK2.TearoffMenuItem is drawn    as a dotted line indicating that the menu can be torn    off. Activating it causes its menu to be torn off and displayed in    its own window as a tearoff menu.</p>   <p> When its menu is shown as a tearoff menu, the GTK2.TearoffMenuItem    is drawn as a dotted line which has a left pointing arrow graphic    indicating that the tearoff menu can be reattached. Activating it    will erase the tearoff menu window.   <expr> GTK2.TearoffMenuItem()-&gt;set_size_request(100,0)</expr> - <image file='predef.GTK2.TearoffMenuItem.1.png' height='1' width='100'>../images/gtk2_tearoffmenuitem.png</image></p> + <image file='predef.GTK2.TearoffMenuItem.1.png'>../images/gtk2_tearoffmenuitem.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new tearoff menu item</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.TearoffMenuItem'>GTK2.TearoffMenuItem</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Activatable' homogen-type='inherit'>   <inherit name='Activatable'><classname resolved='predef::GTK2.Activatable'>GTK2.Activatable</classname></inherit>
autodoc.git/autodoc.xml:65466:   </method>   </docgroup>   </class>   <class name='ToggleButton'>   <doc><text><p>Toggle buttons are derived from normal buttons and are very    similar, except they will always be in one of two states,    alternated by a click. They may be depressed, and when you click    again, they will pop back up. Click again, and they will pop back    down.</p>   <p><expr> GTK2.ToggleButton("Toggle button")</expr> - <image file='predef.GTK2.ToggleButton.1.png' height='27' width='98'>../images/gtk2_togglebutton.png</image></p> + <image file='predef.GTK2.ToggleButton.1.png'>../images/gtk2_togglebutton.png</image></p>   <p><expr> GTK2.ToggleButton("Toggle button")-&gt;set_active( 1 )</expr> - <image file='predef.GTK2.ToggleButton.2.png' height='27' width='98'>../images/gtk2_togglebutton_2.png</image></p> + <image file='predef.GTK2.ToggleButton.2.png'>../images/gtk2_togglebutton_2.png</image></p>   <p> Properties:    int active    int draw-indicator    int inconsistent</p>   <p> Signals:    <b>toggled</b></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>If you supply a string, a label will be created and inserted in the button.    Otherwise, use -&amp;gt;add(widget) to create the contents of the button.</p>   </text></doc>
autodoc.git/autodoc.xml:65901:   </class>   <class name='Toolbar'>   <doc><text><p>Toolbars are usually used to group some number of widgets in order    to simplify customization of their look and layout. Typically a    toolbar consists of buttons with icons, labels and tooltips, but    any other widget can also be put inside a toolbar. Finally, items    can be arranged horizontally or vertically and buttons can be    displayed with icons, labels, or both.</p>   <p> Examples:   <expr> GTK2.Toolbar()-&gt;insert(GTK2.ToolItem()-&gt;add(GTK2.Button("Button 1")),-1)-&gt;insert(GTK2.ToolItem()-&gt;add(GTK2.Label(" ")),-1)-&gt;insert(GTK2.ToolItem()-&gt;add(GTK2.Button("Button 2")),-1)-&gt;insert(GTK2.ToolItem()-&gt;add(GTK2.Button("Button 3")),-1)</expr> - <image file='predef.GTK2.Toolbar.1.png' height='31' width='31'>../images/gtk2_toolbar.png</image></p> + <image file='predef.GTK2.Toolbar.1.png'>../images/gtk2_toolbar.png</image></p>   <p><expr> GTK2.Toolbar((["orientation":GTK2.ORIENTATION_VERTICAL]))-&gt;insert(GTK2.ToolItem()-&gt;add(GTK2.Button("Button 1")),-1)-&gt;insert(GTK2.ToolItem()-&gt;add(GTK2.Label(" ")),-1)-&gt;insert(GTK2.ToolItem()-&gt;add(GTK2.Button("Button 2")),-1)-&gt;insert(GTK2.ToolItem()-&gt;add(GTK2.Button("Button 3")),-1)</expr> - <image file='predef.GTK2.Toolbar.2.png' height='31' width='71'>../images/gtk2_toolbar_2.png</image></p> + <image file='predef.GTK2.Toolbar.2.png'>../images/gtk2_toolbar_2.png</image></p>   <p> Properties:    int icon-size    int icon-size-set    int orientation    int show-arrow    int toolbar-style    int tooltips</p>   <p> Child properties:    int expand    int homogeneous</p>
autodoc.git/autodoc.xml:68321:   </text></doc>   <method name='set_add_tearoffs'>   <arguments><argument name='setting'><type><int/></type></argument></arguments>   <returntype><object resolved='predef::GTK2.UiManager'>GTK2.UiManager</object></returntype>   </method>   </docgroup>   </class>   <class name='VScrollbar'>   <doc><text><p>General documentation: See W(Scrollbar)   <expr> GTK2.VScrollbar(GTK2.Adjustment())-&gt;set_size_request(15,60)</expr> - <image file='predef.GTK2.VScrollbar.1.png' height='60' width='15'>../images/gtk2_vscrollbar.png</image></p> + <image file='predef.GTK2.VScrollbar.1.png'>../images/gtk2_vscrollbar.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Used to create a new vscrollbar widget.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='pos_or_props'><type><object resolved='predef::GTK2.Adjustment'>GTK2.Adjustment</object></type></argument></arguments>   <returntype><object resolved='predef::GTK2.VScrollbar'>GTK2.VScrollbar</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Scrollbar' homogen-type='inherit'>   <inherit name='Scrollbar'><classname resolved='predef::GTK2.Scrollbar'>GTK2.Scrollbar</classname></inherit>   </docgroup>   </class>   <class name='Vbox'>   <doc><text><p>Most packing is done by creating boxes. These are invisible widget    containers that we can pack our widgets into which come in two    forms, a horizontal box, and a vertical box. This is the vertical    one. When packing widgets into a vertical box, the objects are    inserted horizontally from top to bottom or bottom to top depending    on the call used.</p>   <p><expr> GTK2.Vbox(0,0)-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;pack_end_defaults(GTK2.Button("From right"))-&gt;pack_start_defaults(GTK2.Button("From left"))</expr> - <image file='predef.GTK2.Vbox.1.png' height='27' width='42'>../images/gtk2_vbox.png</image></p> + <image file='predef.GTK2.Vbox.1.png'>../images/gtk2_vbox.png</image></p>   <p><expr> GTK2.Vbox(1,0)-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;pack_end_defaults(GTK2.Button("From right"))-&gt;pack_start_defaults(GTK2.Button("From left"))</expr> - <image file='predef.GTK2.Vbox.2.png' height='27' width='42'>../images/gtk2_vbox_2.png</image></p> + <image file='predef.GTK2.Vbox.2.png'>../images/gtk2_vbox_2.png</image></p>   <p><expr> GTK2.Vbox(1,40)-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;pack_end_defaults(GTK2.Button("From right"))-&gt;pack_start_defaults(GTK2.Button("From left"))</expr> - <image file='predef.GTK2.Vbox.3.png' height='27' width='42'>../images/gtk2_vbox_3.png</image></p> + <image file='predef.GTK2.Vbox.3.png'>../images/gtk2_vbox_3.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new vertical box widget.    If all_same_size is true, all widgets will have exactly the same size.    padding is added to the top and bottom of the children.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='uniformp_or_props'><type><or><int/><mapping/></or></type></argument><argument name='padding'><type><or><int/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Vbox'>GTK2.Vbox</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Box' homogen-type='inherit'>   <inherit name='Box'><classname resolved='predef::GTK2.Box'>GTK2.Box</classname></inherit>   </docgroup>   </class>   <class name='VbuttonBox'>   <doc><text><p>A Vbutton_box is very similar to a Vbox.    The major diffference is that the button box    is made to pack buttons in, and has a few convenience function for    normal button layouts.</p>   <p><expr> GTK2.VbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_size_request(100,300)</expr> - <image file='predef.GTK2.VbuttonBox.1.png' height='300' width='100'>../images/gtk2_vbuttonbox.png</image></p> + <image file='predef.GTK2.VbuttonBox.1.png'>../images/gtk2_vbuttonbox.png</image></p>   <p><expr> GTK2.VbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_layout(GTK2.BUTTONBOX_SPREAD)-&gt;set_size_request(100,300)</expr> - <image file='predef.GTK2.VbuttonBox.2.png' height='300' width='100'>../images/gtk2_vbuttonbox_2.png</image></p> + <image file='predef.GTK2.VbuttonBox.2.png'>../images/gtk2_vbuttonbox_2.png</image></p>   <p><expr> GTK2.VbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_layout(GTK2.BUTTONBOX_EDGE)-&gt;set_size_request(100,300)</expr> - <image file='predef.GTK2.VbuttonBox.3.png' height='300' width='100'>../images/gtk2_vbuttonbox_3.png</image></p> + <image file='predef.GTK2.VbuttonBox.3.png'>../images/gtk2_vbuttonbox_3.png</image></p>   <p><expr> GTK2.VbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_layout(GTK2.BUTTONBOX_START)-&gt;set_size_request(100,300)</expr> - <image file='predef.GTK2.VbuttonBox.4.png' height='300' width='100'>../images/gtk2_vbuttonbox_4.png</image></p> + <image file='predef.GTK2.VbuttonBox.4.png'>../images/gtk2_vbuttonbox_4.png</image></p>   <p><expr> GTK2.VbuttonBox()-&gt;add(GTK2.Button("Hello"))-&gt;add(GTK2.Button("World"))-&gt;set_layout(GTK2.BUTTONBOX_END)-&gt;set_size_request(100,300)</expr> - <image file='predef.GTK2.VbuttonBox.5.png' height='300' width='100'>../images/gtk2_vbuttonbox_5.png</image></p> + <image file='predef.GTK2.VbuttonBox.5.png'>../images/gtk2_vbuttonbox_5.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new vertical button box</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.VbuttonBox'>GTK2.VbuttonBox</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='ButtonBox' homogen-type='inherit'>   <inherit name='ButtonBox'><classname resolved='predef::GTK2.ButtonBox'>GTK2.ButtonBox</classname></inherit>   </docgroup>   </class>   <class name='Viewport'>   <doc><text><p>This is a container that can be scrolled around, but it has no scrollbars.    You can connect scrollbars to it using the adjustment objects.   <expr> GTK2.Viewport(GTK2.Adjustment(),GTK2.Adjustment())-&gt;set_size_request(100,100)</expr> - <image file='predef.GTK2.Viewport.1.png' height='100' width='100'>../images/gtk2_viewport.png</image></p> + <image file='predef.GTK2.Viewport.1.png'>../images/gtk2_viewport.png</image></p>   <p><expr> GTK2.Viewport(GTK2.Adjustment(),GTK2.Adjustment())-&gt;set_size_request(100,100)-&gt;set_shadow_type(GTK2.SHADOW_ETCHED_IN)</expr> - <image file='predef.GTK2.Viewport.2.png' height='100' width='100'>../images/gtk2_viewport_2.png</image></p> + <image file='predef.GTK2.Viewport.2.png'>../images/gtk2_viewport_2.png</image></p>   <p><expr> GTK2.Viewport(GTK2.Adjustment(),GTK2.Adjustment())-&gt;set_size_request(100,100)-&gt;add(GTK2.Label("A label with a very long text on it, it will not fit"))-&gt;set_shadow_type(GTK2.SHADOW_ETCHED_IN)</expr> - <image file='predef.GTK2.Viewport.3.png' height='100' width='100'>../images/gtk2_viewport_3.png</image></p> + <image file='predef.GTK2.Viewport.3.png'>../images/gtk2_viewport_3.png</image></p>   <p><expr> lambda(){ object a1;object v = GTK2.Viewport(a1=GTK2.Adjustment(),GTK2.Adjustment())-&gt;set_size_request(100,100)-&gt;add(GTK2.Label("A label with a very long text on it, it will not fit"))-&gt;set_shadow_type(GTK2.SHADOW_ETCHED_IN);call_out(a1-&gt;set_value,0,100.0);return v;}()</expr> - <image file='predef.GTK2.Viewport.4.png' height='100' width='100'>../images/gtk2_viewport_4.png</image></p> + <image file='predef.GTK2.Viewport.4.png'>../images/gtk2_viewport_4.png</image></p>   <p> Properties:    GTK2.Adjustment hadjustment    int shadow-type    GTK2.Adjustment vadjustment</p>   <p> Signals:    <b>set_scroll_adjustments</b></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new viewport. The adjustments are used to select what    part of the viewport to view to the user. They are normally    connected to a scrollbar or something similar.</p>
autodoc.git/autodoc.xml:68482:   <inherit name='ScaleButton'><classname resolved='predef::GTK2.ScaleButton'>GTK2.ScaleButton</classname></inherit>   </docgroup>   </class>   <class name='Vpaned'>   <doc><text><p>The paned window widgets are useful when you want to divide an area    into two parts, with the relative size of the two parts controlled    by the user. A groove is drawn between the two portions with a    handle that the user can drag to change the ratio. This widgets    makes a vertical division</p>   <p><expr> GTK2.Vpaned()-&gt;add1(GTK2.Label("Top Side Of Pane"))-&gt;add2(GTK2.Label("Bottom"))-&gt;set_size_request(100,100)</expr> - <image file='predef.GTK2.Vpaned.1.png' height='100' width='100'>../images/gtk2_vpaned.png</image></p> + <image file='predef.GTK2.Vpaned.1.png'>../images/gtk2_vpaned.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new W(Vpaned) widget.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Vpaned'>GTK2.Vpaned</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Paned' homogen-type='inherit'>   <inherit name='Paned'><classname resolved='predef::GTK2.Paned'>GTK2.Paned</classname></inherit>
autodoc.git/autodoc.xml:68505:   <class name='Vscale'>   <doc><text><p>The GTK2.HScale widget is used to allow the user to select a value    using a horizontal slider. A GTK2.Adjustment is used to set the    initial value, the lower and upper bounds, and the step and page    increments.</p>   <p> See W(Scale) for details</p>   <p> The position to show the current value, and the number of decimal    places shown can be set using the parent W(Scale) class's    functions.</p>   <p><expr> GTK2.Vscale(GTK2.Adjustment())-&gt;set_size_request(300,30)</expr> - <image file='predef.GTK2.Vscale.1.png' height='30' width='300'>../images/gtk2_vscale.png</image></p> + <image file='predef.GTK2.Vscale.1.png'>../images/gtk2_vscale.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Used to create a new hscale widget.    Either pass an W(Adjustment), or three floats representing min, max, and    step values.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='settings_or_min_props'><type><object resolved='predef::GTK2.Adjustment'>GTK2.Adjustment</object></type></argument><argument name='max'><type><or><float/><void/></or></type></argument><argument name='step'><type><or><float/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Vscale'>GTK2.Vscale</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Scale' homogen-type='inherit'>   <inherit name='Scale'><classname resolved='predef::GTK2.Scale'>GTK2.Scale</classname></inherit>   </docgroup>   </class>   <class name='Vseparator'>   <doc><text><p>Simply creates a vertical separator. No bells or whistles.   <expr> GTK2.Vseparator()-&gt;set_size_request(3,50)</expr> - <image file='predef.GTK2.Vseparator.1.png' height='50' width='3'>../images/gtk2_vseparator.png</image></p> + <image file='predef.GTK2.Vseparator.1.png'>../images/gtk2_vseparator.png</image></p>   </text></doc>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Used to create a new vseparator widget.</p>   </text></doc>   <method name='create'><modifiers><protected/></modifiers>   <arguments><argument name='props'><type><or><mapping/><void/></or></type></argument></arguments>   <returntype><object resolved='predef::GTK2.Vseparator'>GTK2.Vseparator</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='Separator' homogen-type='inherit'>   <inherit name='Separator'><classname resolved='predef::GTK2.Separator'>GTK2.Separator</classname></inherit>
autodoc.git/autodoc.xml:70652:   <class name='DB'>   <docgroup homogen-name='_indices' homogen-type='method'><doc><text><p>Provides overloading of <ref resolved='predef::indices'>indices</ref>.</p>   </text><group><note/><text><p>Mainly useful when debugging, the returned list might not fit in    memory for large databases.</p>   </text></group></doc>   <method name='_indices'>   <arguments/>   <returntype><array><valuetype><string><min>0</min><max>255</max></string></valuetype></array></returntype>   </method>   </docgroup> - <docgroup homogen-name='_m_delete' homogen-type='method'><doc><text><p>Provides overloading of the <ref>m_delete</ref> function.</p> + <docgroup homogen-name='_m_delete' homogen-type='method'><doc><text><p>Provides overloading of the <ref resolved='predef::m_delete'>m_delete</ref> function.</p>   <p> Will return the value the key had before it was removed, if any</p>   <p> If the key exists but deletion fails (usually due to a read only    database) this function will throw an error.</p>   </text></doc>   <method name='_m_delete'>   <arguments><argument name='key'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='_values' homogen-type='method'><doc><text><p>Provides overloading of <ref resolved='predef::values'>values</ref>.</p>
autodoc.git/autodoc.xml:74269:    representation, but in floats; hue is in degree range (0..360),    and saturation and value is given in percent. <i>This is not    the same as returned or given to the <ref resolved='predef::Image.Color.hsv'>hsv</ref>() methods!</i></p>      <p>This table lists all the different named colors available in Image.Color.   The first column shows the actual color while the five following columns   demonstrates the modifiers neon, light, dark, bright and dull. The color   begind the name of the color is produced by calling neon()-&gt;dark()-&gt;dark()-&gt;dark()   from the color object itself, i.e. Image.Color.mintcream-&gt;neon()-&gt;dark()-&gt;dark()-&gt;dark().</p>    - <p><image file='predef.Image.Color.1.png' height='120' width='348'>colors.c.0.png</image><br/> - <image file='predef.Image.Color.2.png' height='120' width='348'>colors.c.1.png</image><br/> - <image file='predef.Image.Color.3.png' height='120' width='348'>colors.c.2.png</image><br/> - <image file='predef.Image.Color.4.png' height='120' width='348'>colors.c.3.png</image><br/> - <image file='predef.Image.Color.5.png' height='120' width='348'>colors.c.4.png</image><br/> - <image file='predef.Image.Color.6.png' height='120' width='348'>colors.c.5.png</image><br/> - <image file='predef.Image.Color.7.png' height='120' width='348'>colors.c.6.png</image><br/> - <image file='predef.Image.Color.8.png' height='120' width='348'>colors.c.7.png</image><br/> - <image file='predef.Image.Color.9.png' height='120' width='348'>colors.c.8.png</image><br/> - <image file='predef.Image.Color.10.png' height='120' width='348'>colors.c.9.png</image><br/> - <image file='predef.Image.Color.11.png' height='120' width='348'>colors.c.10.png</image><br/> - <image file='predef.Image.Color.12.png' height='120' width='348'>colors.c.11.png</image><br/> - <image file='predef.Image.Color.13.png' height='120' width='348'>colors.c.12.png</image><br/> - <image file='predef.Image.Color.14.png' height='120' width='348'>colors.c.13.png</image><br/> - <image file='predef.Image.Color.15.png' height='120' width='348'>colors.c.14.png</image><br/> - <image file='predef.Image.Color.16.png' height='120' width='348'>colors.c.15.png</image><br/> - <image file='predef.Image.Color.17.png' height='120' width='348'>colors.c.16.png</image><br/> - <image file='predef.Image.Color.18.png' height='120' width='348'>colors.c.17.png</image><br/> - <image file='predef.Image.Color.19.png' height='120' width='348'>colors.c.18.png</image><br/> - <image file='predef.Image.Color.20.png' height='120' width='348'>colors.c.19.png</image><br/> - <image file='predef.Image.Color.21.png' height='120' width='348'>colors.c.20.png</image><br/> - <image file='predef.Image.Color.22.png' height='120' width='348'>colors.c.21.png</image><br/> - <image file='predef.Image.Color.23.png' height='120' width='348'>colors.c.22.png</image><br/> - <image file='predef.Image.Color.24.png' height='120' width='348'>colors.c.23.png</image><br/> - <image file='predef.Image.Color.25.png' height='120' width='348'>colors.c.24.png</image><br/> - <image file='predef.Image.Color.26.png' height='120' width='348'>colors.c.25.png</image><br/> - <image file='predef.Image.Color.27.png' height='120' width='348'>colors.c.26.png</image><br/> - <image file='predef.Image.Color.28.png' height='120' width='348'>colors.c.27.png</image><br/> - <image file='predef.Image.Color.29.png' height='120' width='348'>colors.c.28.png</image><br/> - <image file='predef.Image.Color.30.png' height='120' width='348'>colors.c.29.png</image><br/> - <image file='predef.Image.Color.31.png' height='120' width='348'>colors.c.30.png</image><br/> - <image file='predef.Image.Color.32.png' height='120' width='348'>colors.c.31.png</image><br/> - <image file='predef.Image.Color.33.png' height='120' width='348'>colors.c.32.png</image><br/> - <image file='predef.Image.Color.34.png' height='120' width='348'>colors.c.33.png</image><br/> - <image file='predef.Image.Color.35.png' height='120' width='348'>colors.c.34.png</image><br/> - <image file='predef.Image.Color.36.png' height='120' width='348'>colors.c.35.png</image><br/> - <image file='predef.Image.Color.37.png' height='120' width='348'>colors.c.36.png</image><br/> - <image file='predef.Image.Color.38.png' height='120' width='348'>colors.c.37.png</image><br/> - <image file='predef.Image.Color.39.png' height='120' width='348'>colors.c.38.png</image><br/> - <image file='predef.Image.Color.40.png' height='120' width='348'>colors.c.39.png</image><br/> - <image file='predef.Image.Color.41.png' height='120' width='348'>colors.c.40.png</image><br/> - <image file='predef.Image.Color.42.png' height='120' width='348'>colors.c.41.png</image><br/> - <image file='predef.Image.Color.43.png' height='120' width='348'>colors.c.42.png</image><br/> - <image file='predef.Image.Color.44.png' height='120' width='348'>colors.c.43.png</image><br/> - <image file='predef.Image.Color.45.png' height='120' width='348'>colors.c.44.png</image><br/> - <image file='predef.Image.Color.46.png' height='120' width='348'>colors.c.45.png</image><br/> - <image file='predef.Image.Color.47.png' height='120' width='348'>colors.c.46.png</image><br/> - <image file='predef.Image.Color.48.png' height='120' width='348'>colors.c.47.png</image><br/> - <image file='predef.Image.Color.49.png' height='120' width='348'>colors.c.48.png</image><br/> - <image file='predef.Image.Color.50.png' height='120' width='348'>colors.c.49.png</image><br/> - <image file='predef.Image.Color.51.png' height='120' width='348'>colors.c.50.png</image><br/> - <image file='predef.Image.Color.52.png' height='120' width='348'>colors.c.51.png</image><br/> - <image file='predef.Image.Color.53.png' height='120' width='348'>colors.c.52.png</image><br/> - <image file='predef.Image.Color.54.png' height='120' width='348'>colors.c.53.png</image><br/> - <image file='predef.Image.Color.55.png' height='120' width='348'>colors.c.54.png</image><br/> - <image file='predef.Image.Color.56.png' height='120' width='348'>colors.c.55.png</image><br/> - <image file='predef.Image.Color.57.png' height='120' width='348'>colors.c.56.png</image><br/></p> + <p><image file='predef.Image.Color.1.png'>colors.c.0.png</image><br/> + <image file='predef.Image.Color.2.png'>colors.c.1.png</image><br/> + <image file='predef.Image.Color.3.png'>colors.c.2.png</image><br/> + <image file='predef.Image.Color.4.png'>colors.c.3.png</image><br/> + <image file='predef.Image.Color.5.png'>colors.c.4.png</image><br/> + <image file='predef.Image.Color.6.png'>colors.c.5.png</image><br/> + <image file='predef.Image.Color.7.png'>colors.c.6.png</image><br/> + <image file='predef.Image.Color.8.png'>colors.c.7.png</image><br/> + <image file='predef.Image.Color.9.png'>colors.c.8.png</image><br/> + <image file='predef.Image.Color.10.png'>colors.c.9.png</image><br/> + <image file='predef.Image.Color.11.png'>colors.c.10.png</image><br/> + <image file='predef.Image.Color.12.png'>colors.c.11.png</image><br/> + <image file='predef.Image.Color.13.png'>colors.c.12.png</image><br/> + <image file='predef.Image.Color.14.png'>colors.c.13.png</image><br/> + <image file='predef.Image.Color.15.png'>colors.c.14.png</image><br/> + <image file='predef.Image.Color.16.png'>colors.c.15.png</image><br/> + <image file='predef.Image.Color.17.png'>colors.c.16.png</image><br/> + <image file='predef.Image.Color.18.png'>colors.c.17.png</image><br/> + <image file='predef.Image.Color.19.png'>colors.c.18.png</image><br/> + <image file='predef.Image.Color.20.png'>colors.c.19.png</image><br/> + <image file='predef.Image.Color.21.png'>colors.c.20.png</image><br/> + <image file='predef.Image.Color.22.png'>colors.c.21.png</image><br/> + <image file='predef.Image.Color.23.png'>colors.c.22.png</image><br/> + <image file='predef.Image.Color.24.png'>colors.c.23.png</image><br/> + <image file='predef.Image.Color.25.png'>colors.c.24.png</image><br/> + <image file='predef.Image.Color.26.png'>colors.c.25.png</image><br/> + <image file='predef.Image.Color.27.png'>colors.c.26.png</image><br/> + <image file='predef.Image.Color.28.png'>colors.c.27.png</image><br/> + <image file='predef.Image.Color.29.png'>colors.c.28.png</image><br/> + <image file='predef.Image.Color.30.png'>colors.c.29.png</image><br/> + <image file='predef.Image.Color.31.png'>colors.c.30.png</image><br/> + <image file='predef.Image.Color.32.png'>colors.c.31.png</image><br/> + <image file='predef.Image.Color.33.png'>colors.c.32.png</image><br/> + <image file='predef.Image.Color.34.png'>colors.c.33.png</image><br/> + <image file='predef.Image.Color.35.png'>colors.c.34.png</image><br/> + <image file='predef.Image.Color.36.png'>colors.c.35.png</image><br/> + <image file='predef.Image.Color.37.png'>colors.c.36.png</image><br/> + <image file='predef.Image.Color.38.png'>colors.c.37.png</image><br/> + <image file='predef.Image.Color.39.png'>colors.c.38.png</image><br/> + <image file='predef.Image.Color.40.png'>colors.c.39.png</image><br/> + <image file='predef.Image.Color.41.png'>colors.c.40.png</image><br/> + <image file='predef.Image.Color.42.png'>colors.c.41.png</image><br/> + <image file='predef.Image.Color.43.png'>colors.c.42.png</image><br/> + <image file='predef.Image.Color.44.png'>colors.c.43.png</image><br/> + <image file='predef.Image.Color.45.png'>colors.c.44.png</image><br/> + <image file='predef.Image.Color.46.png'>colors.c.45.png</image><br/> + <image file='predef.Image.Color.47.png'>colors.c.46.png</image><br/> + <image file='predef.Image.Color.48.png'>colors.c.47.png</image><br/> + <image file='predef.Image.Color.49.png'>colors.c.48.png</image><br/> + <image file='predef.Image.Color.50.png'>colors.c.49.png</image><br/> + <image file='predef.Image.Color.51.png'>colors.c.50.png</image><br/> + <image file='predef.Image.Color.52.png'>colors.c.51.png</image><br/> + <image file='predef.Image.Color.53.png'>colors.c.52.png</image><br/> + <image file='predef.Image.Color.54.png'>colors.c.53.png</image><br/> + <image file='predef.Image.Color.55.png'>colors.c.54.png</image><br/> + <image file='predef.Image.Color.56.png'>colors.c.55.png</image><br/> + <image file='predef.Image.Color.57.png'>colors.c.56.png</image><br/></p>      <p/>      <p>   </p>   </text>   <group><note/><text>   <p><tt>Image.Color["something"]</tt> will never(!) generate an error,   but a zero_type 0, if the color is unknown. This is enough   to give the error "not present in module", if used
autodoc.git/autodoc.xml:74582:    <arguments>    </arguments>   </method><doc>   <text>   <p>Color modification methods. These returns   a new color.   <table>   <tr><th>method</th><th width='50%'>effect</th>   <th>h</th><th>s</th><th>v</th><th>as</th></tr>   <tr><td>light </td><td>raise light level</td><td>±0</td><td> ±0</td><td>+50</td> - <td><image file='predef.Image.Color.Color.light.1.png' height='20' width='20'>colors.c57.png</image> - <image file='predef.Image.Color.Color.light.2.png' height='20' width='20'>colors.c58.png</image> - <image file='predef.Image.Color.Color.light.3.png' height='20' width='20'>colors.c59.png</image> - <image file='predef.Image.Color.Color.light.4.png' height='20' width='20'>colors.c60.png</image></td></tr> + <td><image file='predef.Image.Color.Color.light.1.png'>colors.c57.png</image> + <image file='predef.Image.Color.Color.light.2.png'>colors.c58.png</image> + <image file='predef.Image.Color.Color.light.3.png'>colors.c59.png</image> + <image file='predef.Image.Color.Color.light.4.png'>colors.c60.png</image></td></tr>      <tr><td>dark </td><td>lower light level</td><td>±0</td><td> ±0</td><td>-50</td> - <td><image file='predef.Image.Color.Color.light.5.png' height='20' width='20'>colors.c61.png</image> - <image file='predef.Image.Color.Color.light.6.png' height='20' width='20'>colors.c62.png</image> - <image file='predef.Image.Color.Color.light.7.png' height='20' width='20'>colors.c63.png</image> - <image file='predef.Image.Color.Color.light.8.png' height='20' width='20'>colors.c64.png</image></td></tr> + <td><image file='predef.Image.Color.Color.light.5.png'>colors.c61.png</image> + <image file='predef.Image.Color.Color.light.6.png'>colors.c62.png</image> + <image file='predef.Image.Color.Color.light.7.png'>colors.c63.png</image> + <image file='predef.Image.Color.Color.light.8.png'>colors.c64.png</image></td></tr>      <tr><td>bright</td><td>brighter color </td><td>±0</td><td>+50</td><td>+50</td> - <td><image file='predef.Image.Color.Color.light.9.png' height='20' width='20'>colors.c65.png</image> - <image file='predef.Image.Color.Color.light.10.png' height='20' width='20'>colors.c66.png</image> - <image file='predef.Image.Color.Color.light.11.png' height='20' width='20'>colors.c67.png</image> - <image file='predef.Image.Color.Color.light.12.png' height='20' width='20'>colors.c68.png</image></td></tr> + <td><image file='predef.Image.Color.Color.light.9.png'>colors.c65.png</image> + <image file='predef.Image.Color.Color.light.10.png'>colors.c66.png</image> + <image file='predef.Image.Color.Color.light.11.png'>colors.c67.png</image> + <image file='predef.Image.Color.Color.light.12.png'>colors.c68.png</image></td></tr>      <tr><td>dull </td><td>greyer color </td><td>±0</td><td>-50</td><td>-50</td> - <td><image file='predef.Image.Color.Color.light.13.png' height='20' width='20'>colors.c69.png</image> - <image file='predef.Image.Color.Color.light.14.png' height='20' width='20'>colors.c70.png</image> - <image file='predef.Image.Color.Color.light.15.png' height='20' width='20'>colors.c71.png</image> - <image file='predef.Image.Color.Color.light.16.png' height='20' width='20'>colors.c72.png</image></td></tr> + <td><image file='predef.Image.Color.Color.light.13.png'>colors.c69.png</image> + <image file='predef.Image.Color.Color.light.14.png'>colors.c70.png</image> + <image file='predef.Image.Color.Color.light.15.png'>colors.c71.png</image> + <image file='predef.Image.Color.Color.light.16.png'>colors.c72.png</image></td></tr>      <tr><td>neon </td><td>set to extreme </td><td>±0</td><td>max</td><td>max</td> - <td><image file='predef.Image.Color.Color.light.17.png' height='20' width='20'>colors.c73.png</image> - <image file='predef.Image.Color.Color.light.18.png' height='20' width='20'>colors.c74.png</image></td></tr> + <td><image file='predef.Image.Color.Color.light.17.png'>colors.c73.png</image> + <image file='predef.Image.Color.Color.light.18.png'>colors.c74.png</image></td></tr>      </table></p>      <p><ref resolved='predef::Image.Color.Color.light'>light</ref> and <ref resolved='predef::Image.Color.Color.dark'>dark</ref> lower/highers saturation   when value is min-/maximised respective.   </p>   </text>   <group><returns/><text>   <p>the new color object</p>   </text></group>
autodoc.git/autodoc.xml:74876:       </arguments>   </method><doc>   <text>   <p>Map colors in an image object to the colors in   the colortable, and creates a new image with the   closest colors.</p>      <p><table><tr valign='center'>   <td/> - <td><image file='predef.Image.Colortable.map.1.png' height='115' width='80'>colortable.c6.png</image></td> - <td><image file='predef.Image.Colortable.map.2.png' height='115' width='80'>colortable.c7.png</image></td> - <td><image file='predef.Image.Colortable.map.3.png' height='115' width='80'>colortable.c8.png</image></td> - <td><image file='predef.Image.Colortable.map.4.png' height='115' width='80'>colortable.c9.png</image></td> - <td><image file='predef.Image.Colortable.map.5.png' height='115' width='80'>colortable.c10.png</image></td> + <td><image file='predef.Image.Colortable.map.1.png'>colortable.c6.png</image></td> + <td><image file='predef.Image.Colortable.map.2.png'>colortable.c7.png</image></td> + <td><image file='predef.Image.Colortable.map.3.png'>colortable.c8.png</image></td> + <td><image file='predef.Image.Colortable.map.4.png'>colortable.c9.png</image></td> + <td><image file='predef.Image.Colortable.map.5.png'>colortable.c10.png</image></td>   <td>no dither</td>   </tr><tr valign='center'>   <td/> - <td><image file='predef.Image.Colortable.map.6.png' height='115' width='80'>colortable.c11.png</image></td> - <td><image file='predef.Image.Colortable.map.7.png' height='115' width='80'>colortable.c12.png</image></td> - <td><image file='predef.Image.Colortable.map.8.png' height='115' width='80'>colortable.c13.png</image></td> - <td><image file='predef.Image.Colortable.map.9.png' height='115' width='80'>colortable.c14.png</image></td> - <td><image file='predef.Image.Colortable.map.10.png' height='115' width='80'>colortable.c15.png</image></td> + <td><image file='predef.Image.Colortable.map.6.png'>colortable.c11.png</image></td> + <td><image file='predef.Image.Colortable.map.7.png'>colortable.c12.png</image></td> + <td><image file='predef.Image.Colortable.map.8.png'>colortable.c13.png</image></td> + <td><image file='predef.Image.Colortable.map.9.png'>colortable.c14.png</image></td> + <td><image file='predef.Image.Colortable.map.10.png'>colortable.c15.png</image></td>   <td><ref resolved='predef::Image.Colortable.floyd_steinberg'>floyd_steinberg</ref> dither</td>   </tr><tr valign='center'>   <td/> - <td><image file='predef.Image.Colortable.map.11.png' height='115' width='80'>colortable.c16.png</image></td> - <td><image file='predef.Image.Colortable.map.12.png' height='115' width='80'>colortable.c17.png</image></td> - <td><image file='predef.Image.Colortable.map.13.png' height='115' width='80'>colortable.c18.png</image></td> - <td><image file='predef.Image.Colortable.map.14.png' height='115' width='80'>colortable.c19.png</image></td> - <td><image file='predef.Image.Colortable.map.15.png' height='115' width='80'>colortable.c20.png</image></td> + <td><image file='predef.Image.Colortable.map.11.png'>colortable.c16.png</image></td> + <td><image file='predef.Image.Colortable.map.12.png'>colortable.c17.png</image></td> + <td><image file='predef.Image.Colortable.map.13.png'>colortable.c18.png</image></td> + <td><image file='predef.Image.Colortable.map.14.png'>colortable.c19.png</image></td> + <td><image file='predef.Image.Colortable.map.15.png'>colortable.c20.png</image></td>   <td><ref resolved='predef::Image.Colortable.ordered'>ordered</ref> dither</td>   </tr><tr valign='center'> - <td><image file='predef.Image.Colortable.map.16.png' height='115' width='80'>colortable.c21.png</image></td> - <td><image file='predef.Image.Colortable.map.17.png' height='115' width='80'>colortable.c22.png</image></td> - <td><image file='predef.Image.Colortable.map.18.png' height='115' width='80'>colortable.c23.png</image></td> - <td><image file='predef.Image.Colortable.map.19.png' height='115' width='80'>colortable.c24.png</image></td> - <td><image file='predef.Image.Colortable.map.20.png' height='115' width='80'>colortable.c25.png</image></td> - <td><image file='predef.Image.Colortable.map.21.png' height='115' width='80'>colortable.c26.png</image></td> + <td><image file='predef.Image.Colortable.map.16.png'>colortable.c21.png</image></td> + <td><image file='predef.Image.Colortable.map.17.png'>colortable.c22.png</image></td> + <td><image file='predef.Image.Colortable.map.18.png'>colortable.c23.png</image></td> + <td><image file='predef.Image.Colortable.map.19.png'>colortable.c24.png</image></td> + <td><image file='predef.Image.Colortable.map.20.png'>colortable.c25.png</image></td> + <td><image file='predef.Image.Colortable.map.21.png'>colortable.c26.png</image></td>   <td><ref resolved='predef::Image.Colortable.randomcube'>randomcube</ref> dither</td>   </tr><tr valign='center'>   <td>original</td>   <td>2</td>   <td>4</td>   <td>8</td>   <td>16</td>   <td>32 colors</td>   </tr></table>   </p>
autodoc.git/autodoc.xml:75255:      <p><pre>   image size setup   100×100 cubicles(4,5,4) (default)   1000×1000 cubicles(12,12,12) (factor 2 faster than default)   </pre></p>      <p>In some cases, the <ref resolved='predef::Image.Colortable.full'>full</ref> method is faster.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Colortable.cubicles.1.png' height='115' width='80'>colortable.c0.png</image></td> - <td><image file='predef.Image.Colortable.cubicles.2.png' height='115' width='80'>colortable.c1.png</image></td> - <td><image file='predef.Image.Colortable.cubicles.3.png' height='115' width='80'>colortable.c2.png</image></td> + <td><image file='predef.Image.Colortable.cubicles.1.png'>colortable.c0.png</image></td> + <td><image file='predef.Image.Colortable.cubicles.2.png'>colortable.c1.png</image></td> + <td><image file='predef.Image.Colortable.cubicles.3.png'>colortable.c2.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>default cubicles,<br/>16 colors</td>   <td>accuracy=200</td>   </tr></table>   </p>   </text>   <group>    <param name='r'/>    <param name='g'/>
autodoc.git/autodoc.xml:75325:       </arguments>   </method><doc>   <text>   <p>Set dithering method to floyd_steinberg.</p>      <p>The arguments to this method is for fine-tuning of the   algorithm (for computer graphics wizards).</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Colortable.floyd_steinberg.1.png' height='115' width='80'>colortable.c3.png</image></td> - <td><image file='predef.Image.Colortable.floyd_steinberg.2.png' height='115' width='80'>colortable.c4.png</image></td> - <td><image file='predef.Image.Colortable.floyd_steinberg.3.png' height='115' width='80'>colortable.c5.png</image></td> + <td><image file='predef.Image.Colortable.floyd_steinberg.1.png'>colortable.c3.png</image></td> + <td><image file='predef.Image.Colortable.floyd_steinberg.2.png'>colortable.c4.png</image></td> + <td><image file='predef.Image.Colortable.floyd_steinberg.3.png'>colortable.c5.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>floyd_steinberg to a 4×4×4 colorcube</td>   <td>floyd_steinberg to 16 chosen colors</td>   </tr></table>   </p>   </text>   <group>    <param name='bidir'/>   <text><p>Set algorithm direction of forward.
autodoc.git/autodoc.xml:75493:   <argument name='bx'><type><int/></type></argument>   <argument name='by'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Set ordered dithering, which gives a position-dependent error added   to the pixel values.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Colortable.ordered.1.png' height='115' width='80'>colortable.c27.png</image></td> - <td><image file='predef.Image.Colortable.ordered.2.png' height='115' width='80'>colortable.c28.png</image></td> - <td><image file='predef.Image.Colortable.ordered.3.png' height='115' width='80'>colortable.c29.png</image></td> - <td><image file='predef.Image.Colortable.ordered.4.png' height='115' width='80'>colortable.c30.png</image></td> + <td><image file='predef.Image.Colortable.ordered.1.png'>colortable.c27.png</image></td> + <td><image file='predef.Image.Colortable.ordered.2.png'>colortable.c28.png</image></td> + <td><image file='predef.Image.Colortable.ordered.3.png'>colortable.c29.png</image></td> + <td><image file='predef.Image.Colortable.ordered.4.png'>colortable.c30.png</image></td>   </tr><tr valign='top'>   <td>original</td>   <td colspan='2'>mapped to <br/><tt>Image.Colortable(6,6,6)-&gt;</tt></td>   </tr><tr valign='top'>   <td/>   <td><tt>ordered<br/> (42,42,42,2,2)</tt></td>   <td><tt>ordered()</tt></td>   <td><tt>ordered<br/> (42,42,42, 8,8,<br/> 0,0, 0,1, 1,0)</tt></td>   </tr><tr valign='top'> - <td><image file='predef.Image.Colortable.ordered.5.png' height='115' width='80'>colortable.c31.png</image></td> - <td><image file='predef.Image.Colortable.ordered.6.png' height='115' width='80'>colortable.c32.png</image></td> - <td><image file='predef.Image.Colortable.ordered.7.png' height='115' width='80'>colortable.c33.png</image></td> - <td><image file='predef.Image.Colortable.ordered.8.png' height='115' width='80'>colortable.c34.png</image></td> + <td><image file='predef.Image.Colortable.ordered.5.png'>colortable.c31.png</image></td> + <td><image file='predef.Image.Colortable.ordered.6.png'>colortable.c32.png</image></td> + <td><image file='predef.Image.Colortable.ordered.7.png'>colortable.c33.png</image></td> + <td><image file='predef.Image.Colortable.ordered.8.png'>colortable.c34.png</image></td>   </tr></table>   </p>   </text>   <group>    <param name='r'/>    <param name='g'/>    <param name='b'/>   <text><p>The maximum error. Default is 32, or colorcube steps (256/size).   </p></text></group>   <group>
autodoc.git/autodoc.xml:75581:   </method><doc>   <text>   <p>Set random cube dithering.   Color choosen is the closest one to color in picture   plus (flat) random error; <tt>color±random(error)</tt>.</p>      <p>The randomgrey method uses the same random error on red, green   and blue and the randomcube method has three random errors.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Colortable.randomcube.1.png' height='115' width='80'>colortable.c35.png</image></td> - <td><image file='predef.Image.Colortable.randomcube.2.png' height='115' width='80'>colortable.c36.png</image></td> - <td><image file='predef.Image.Colortable.randomcube.3.png' height='115' width='80'>colortable.c37.png</image></td> + <td><image file='predef.Image.Colortable.randomcube.1.png'>colortable.c35.png</image></td> + <td><image file='predef.Image.Colortable.randomcube.2.png'>colortable.c36.png</image></td> + <td><image file='predef.Image.Colortable.randomcube.3.png'>colortable.c37.png</image></td>   </tr><tr valign='top'>   <td>original</td>   <td colspan='2'>mapped to <br/><tt>Image.Colortable(4,4,4)-&gt;</tt></td>   </tr><tr valign='top'>   <td/>   <td>randomcube()</td>   <td>randomgrey()</td>   </tr><tr valign='top'> - <td><image file='predef.Image.Colortable.randomcube.4.png' height='115' width='80'>colortable.c38.png</image></td> - <td><image file='predef.Image.Colortable.randomcube.5.png' height='115' width='80'>colortable.c39.png</image></td> - <td><image file='predef.Image.Colortable.randomcube.6.png' height='115' width='80'>colortable.c40.png</image></td> + <td><image file='predef.Image.Colortable.randomcube.4.png'>colortable.c38.png</image></td> + <td><image file='predef.Image.Colortable.randomcube.5.png'>colortable.c39.png</image></td> + <td><image file='predef.Image.Colortable.randomcube.6.png'>colortable.c40.png</image></td>   </tr></table>   </p>   </text>   <group>    <param name='r'/>    <param name='g'/>    <param name='b'/>    <param name='err'/>   <text><p>The maximum error. Default is 32, or colorcube step.   </p></text></group>
autodoc.git/autodoc.xml:77973:   base is given by r,g,b and is normally black.</p>      <p><table><tr><td rowspan='2'>   blur (ie a 2d gauss function):   <pre>   ({({1,2,1}),    ({2,5,2}),    ({1,2,1})})   </pre>   </td><td> - <image file='predef.Image.Image.apply_matrix.1.png' height='115' width='80'>image.c0.png</image> + <image file='predef.Image.Image.apply_matrix.1.png'>image.c0.png</image>   </td><td> - <image file='predef.Image.Image.apply_matrix.2.png' height='115' width='80'>image.c1.png</image> + <image file='predef.Image.Image.apply_matrix.2.png'>image.c1.png</image>   </td></tr>   <tr><td/><td>original</td></tr>      <tr><td>   sharpen (k&gt;8, preferably 12 or 16):   <pre>   ({({-1,-1,-1}),    ({-1, k,-1}),    ({-1,-1,-1})})   </pre>   </td><td> - <image file='predef.Image.Image.apply_matrix.3.png' height='115' width='80'>image.c2.png</image> + <image file='predef.Image.Image.apply_matrix.3.png'>image.c2.png</image>   </td></tr>      <tr><td>   edge detect:   <pre>   ({({1, 1,1}),    ({1,-8,1}),    ({1, 1,1})})   </pre>   </td><td> - <image file='predef.Image.Image.apply_matrix.4.png' height='115' width='80'>image.c3.png</image> + <image file='predef.Image.Image.apply_matrix.4.png'>image.c3.png</image>   </td></tr>      <tr><td>   horisontal edge detect (get the idea):   <pre>   ({({0, 0,0}),    ({1,-2,1}),    ({0, 0,0})})   </pre>   </td><td> - <image file='predef.Image.Image.apply_matrix.5.png' height='115' width='80'>image.c4.png</image> + <image file='predef.Image.Image.apply_matrix.5.png'>image.c4.png</image>   </td></tr>      <tr><td rowspan='2'>   emboss (might prefer to begin with a <ref resolved='predef::Image.Image.grey'>grey</ref> image):   <pre>   ({({2, 1, 0}),    ({1, 0,-1}),    ({0,-1,-2})}), 128,128,128, 3   </pre>   </td><td> - <image file='predef.Image.Image.apply_matrix.6.png' height='115' width='80'>image.c5.png</image> + <image file='predef.Image.Image.apply_matrix.6.png'>image.c5.png</image>   </td><td> - <image file='predef.Image.Image.apply_matrix.7.png' height='115' width='80'>image.c6.png</image> + <image file='predef.Image.Image.apply_matrix.7.png'>image.c6.png</image>   </td></tr>   <tr><td/><td>greyed</td></tr></table></p>      <p>This function is not very fast.   </p>   </text>   <group>    <param name='array'/>   <text><p>the matrix; innermost is a value or an array with red, green, blue   values for red, green, blue separation.</p></text></group>
autodoc.git/autodoc.xml:78274:   <argument name='yfactor'><type><float/></type></argument>       </arguments>   </method><doc>   <text>   <p>scales the image with a factor, without smoothing.   This routine is faster than scale, but gives less correct   results</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.bitscale.1.png' height='115' width='80'>image.c7.png</image></td> - <td><image file='predef.Image.Image.bitscale.2.png' height='86' width='60'>image.c8.png</image></td> - <td><image file='predef.Image.Image.bitscale.3.png' height='86' width='60'>image.c9.png</image></td> + <td><image file='predef.Image.Image.bitscale.1.png'>image.c7.png</image></td> + <td><image file='predef.Image.Image.bitscale.2.png'>image.c8.png</image></td> + <td><image file='predef.Image.Image.bitscale.3.png'>image.c9.png</image></td>   </tr><tr>   <td>original</td>   <td>bitscale(0.75)</td>   <td>scale(0.75)</td>   </tr></table>   </p>   </text>   <group>    <param name='factor'/>   <text><p>factor to use for both x and y</p></text></group>
autodoc.git/autodoc.xml:78352:    <arguments><argument name='no_pass'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>A special case of apply_matrix that creates a blur effect.   About four times faster than the generic apply_matrix.   @[no_pass] is the number of times the blur matrix is applied.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.blur.1.png' height='115' width='80'>image.c10.png</image></td> - <td><image file='predef.Image.Image.blur.2.png' height='115' width='80'>image.c11.png</image></td> - <td><image file='predef.Image.Image.blur.3.png' height='115' width='80'>image.c12.png</image></td> + <td><image file='predef.Image.Image.blur.1.png'>image.c10.png</image></td> + <td><image file='predef.Image.Image.blur.2.png'>image.c11.png</image></td> + <td><image file='predef.Image.Image.blur.3.png'>image.c12.png</image></td>   </tr><tr>   <td>original</td>   <td>blur(1)</td>   <td>blur(5)</td>   </tr></table>   </p>   </text>   <group><seealso/><text>   <p><ref resolved='predef::Image.Image.apply_matrix'>apply_matrix</ref>, <ref resolved='predef::Image.Image.grey_blur'>grey_blur</ref></p></text></group>   
autodoc.git/autodoc.xml:78407:   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>   <argument name='alpha'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Draws a filled rectangle on the image.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.box.1.png' height='115' width='80'>image.c13.png</image></td> - <td><image file='predef.Image.Image.box.2.png' height='115' width='80'>image.c14.png</image></td> - <td><image file='predef.Image.Image.box.3.png' height='115' width='80'>image.c15.png</image></td> + <td><image file='predef.Image.Image.box.1.png'>image.c13.png</image></td> + <td><image file='predef.Image.Image.box.2.png'>image.c14.png</image></td> + <td><image file='predef.Image.Image.box.3.png'>image.c15.png</image></td>   </tr><tr>   <td>original</td>   <td>-&gt;box<br/>(40,10,<br/>10,80,<br/>0,255,0)</td>   <td>-&gt;box<br/>(40,10,<br/>10,80,<br/>255,0,0,75)</td>   </tr></table>   </p>   </text>   <group>    <param name='x1'/>    <param name='y1'/>
autodoc.git/autodoc.xml:78537:   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>   <argument name='alpha'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Draws a circle on the image. The circle is <i>not</i> antialiased.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.circle.1.png' height='115' width='80'>image.c16.png</image></td> - <td><image file='predef.Image.Image.circle.2.png' height='115' width='80'>image.c17.png</image></td> + <td><image file='predef.Image.Image.circle.1.png'>image.c16.png</image></td> + <td><image file='predef.Image.Image.circle.2.png'>image.c17.png</image></td>   </tr><tr>   <td>original</td>   <td>-&gt;circle<br/>(50,50,<br/>30,50,<br/>0,255,255)</td>   </tr></table>   </p>   </text>   <group>    <param name='x'/>    <param name='y'/>   <text><p>circle center</p></text></group>
autodoc.git/autodoc.xml:78595:   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>   <argument name='alpha'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>gives a new, cleared image with the same size of drawing area</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.clear.1.png' height='115' width='80'>image.c18.png</image></td> - <td><image file='predef.Image.Image.clear.2.png' height='115' width='80'>image.c19.png</image></td> + <td><image file='predef.Image.Image.clear.1.png'>image.c18.png</image></td> + <td><image file='predef.Image.Image.clear.2.png'>image.c19.png</image></td>   </tr><tr>   <td>original</td>   <td>-&gt;clear<br/>(0,128,255)</td>   </tr></table>   </p>   </text>   <group>    <param name='r'/>    <param name='g'/>    <param name='b'/>
autodoc.git/autodoc.xml:78655:   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>   <argument name='alpha'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Copies to or initialize a new image object.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.clone.1.png' height='115' width='80'>image.c20.png</image></td> - <td><image file='predef.Image.Image.clone.2.png' height='115' width='80'>image.c21.png</image></td> - <td><image file='predef.Image.Image.clone.3.png' height='50' width='50'>image.c22.png</image></td> + <td><image file='predef.Image.Image.clone.1.png'>image.c20.png</image></td> + <td><image file='predef.Image.Image.clone.2.png'>image.c21.png</image></td> + <td><image file='predef.Image.Image.clone.3.png'>image.c22.png</image></td>   </tr><tr>   <td>original</td>   <td>clone</td>   <td>clone(50,50)</td>   </tr></table>   </p>   </text>   <group>    <param name='xsize'/>    <param name='ysize'/>
autodoc.git/autodoc.xml:78728:   <p>Colorize an image.</p>      <p>The red, green and blue values of the pixels are multiplied   with the given value(s). This works best on a grey image...</p>      <p>The result is divided by 255, giving correct pixel values.</p>      <p>If no arguments are given, the current color is used as factors.</p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.color.1.png' height='115' width='80'>image.c23.png</image></td> -  <td><image file='predef.Image.Image.color.2.png' height='115' width='80'>image.c24.png</image></td> +  <td><image file='predef.Image.Image.color.1.png'>image.c23.png</image></td> +  <td><image file='predef.Image.Image.color.2.png'>image.c24.png</image></td>    </tr><tr valign='center'>    <td>original</td>    <td>-&gt;color(128,128,255);</td>    </tr></table>   </p>   </text>   <group>    <param name='r'/>    <param name='g'/>    <param name='b'/>
autodoc.git/autodoc.xml:78803:   <argument name='alpha'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Copies this part of the image. The requested area can   be smaller, giving a cropped image, or bigger -   the new area will be filled with the given or current color.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.copy.1.png' height='115' width='80'>image.c25.png</image></td> - <td><image file='predef.Image.Image.copy.2.png' height='105' width='70'>image.c26.png</image></td> - <td><image file='predef.Image.Image.copy.3.png' height='125' width='90'>image.c27.png</image></td> + <td><image file='predef.Image.Image.copy.1.png'>image.c25.png</image></td> + <td><image file='predef.Image.Image.copy.2.png'>image.c26.png</image></td> + <td><image file='predef.Image.Image.copy.3.png'>image.c27.png</image></td>   </tr><tr>   <td>original</td>   <td>-&gt;copy<br/>(5,5,<br/>XSIZE-6,YSIZE-6)</td>   <td>-&gt;copy<br/>(-5,-5,<br/>XSIZE+4,YSIZE+4,<br/>10,75,10)</td>   </tr></table>   </p>   </text>   <group>    <param name='x1'/>    <param name='y1'/>
autodoc.git/autodoc.xml:78905:   <argument name='method'><type><string/></type></argument>   <argument name='...'><type>    <object resolved='predef::Image.Image.create.method'>method</object></type></argument>       </arguments>   </method><doc>   <text>   <p>Initializes a new image object.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.create.1.png' height='115' width='80'>image.c28.png</image></td> - <td><image file='predef.Image.Image.create.2.png' height='115' width='80'>image.c29.png</image></td> + <td><image file='predef.Image.Image.create.1.png'>image.c28.png</image></td> + <td><image file='predef.Image.Image.create.2.png'>image.c29.png</image></td>   </tr><tr>   <td>Image.Image<br/>(XSIZE,YSIZE)</td>   <td>Image.Image<br/>(XSIZE,YSIZE,255,128,0)</td>   </tr></table></p>      <p>The image can also be calculated from some special methods,   for convinience:</p>      <p><pre>   channel modes; followed by a number of 1-char-per-pixel strings
autodoc.git/autodoc.xml:79043:      <p><pre>   p = pixel color   o = given color   d = destination pixel   d.red=d.blue=d.green=    ((o.red-p.red)²+(o.green-p.green)²+(o.blue-p.blue)²)&gt;&gt;8   </pre></p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.distancesq.1.png' height='115' width='80'>image.c30.png</image></td> -  <td><image file='predef.Image.Image.distancesq.2.png' height='115' width='80'>image.c31.png</image></td> -  <td><image file='predef.Image.Image.distancesq.3.png' height='115' width='80'>image.c32.png</image></td> -  <td><image file='predef.Image.Image.distancesq.4.png' height='115' width='80'>image.c33.png</image></td> +  <td><image file='predef.Image.Image.distancesq.1.png'>image.c30.png</image></td> +  <td><image file='predef.Image.Image.distancesq.2.png'>image.c31.png</image></td> +  <td><image file='predef.Image.Image.distancesq.3.png'>image.c32.png</image></td> +  <td><image file='predef.Image.Image.distancesq.4.png'>image.c33.png</image></td>    </tr><tr valign='center'>    <td>original</td>    <td>distance² to cyan</td>    <td>...to purple</td>    <td>...to yellow</td>    </tr></table></p>      <p/>   </text>   <group>
autodoc.git/autodoc.xml:79201:    <array><valuetype><int/></valuetype></array></type></argument>   <argument name='...'><type>    <object resolved='predef::Image.Image.gradients'/></type></argument>   <argument name='floatgrad'><type>    <object resolved='predef::Image.Image.gradients'/></type></argument>       </arguments>   </method><doc>   <text>   <p><table><tr valign='center'> - <td><image file='predef.Image.Image.gradients.1.png' height='115' width='80'>image.c34.png</image></td> - <td><image file='predef.Image.Image.gradients.2.png' height='115' width='80'>image.c35.png</image></td> - <td><image file='predef.Image.Image.gradients.3.png' height='115' width='80'>image.c36.png</image></td> - <td><image file='predef.Image.Image.gradients.4.png' height='115' width='80'>image.c37.png</image></td> - <td><image file='predef.Image.Image.gradients.5.png' height='115' width='80'>image.c38.png</image></td> - <td><image file='predef.Image.Image.gradients.6.png' height='115' width='80'>image.c39.png</image></td> + <td><image file='predef.Image.Image.gradients.1.png'>image.c34.png</image></td> + <td><image file='predef.Image.Image.gradients.2.png'>image.c35.png</image></td> + <td><image file='predef.Image.Image.gradients.3.png'>image.c36.png</image></td> + <td><image file='predef.Image.Image.gradients.4.png'>image.c37.png</image></td> + <td><image file='predef.Image.Image.gradients.5.png'>image.c38.png</image></td> + <td><image file='predef.Image.Image.gradients.6.png'>image.c39.png</image></td>   </tr><tr>   <td>original</td>   <td>2 color<br/>gradient</td>   <td>10 color<br/>gradient</td>   <td>3 colors,<br/>grad=4.0</td>   <td>3 colors,<br/>grad=1.0</td>   <td>3 colors,<br/>grad=0.25</td>   </tr></table>   </p>   </text>
autodoc.git/autodoc.xml:79242:    <arguments><argument name='r'><type><int/></type></argument>   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Makes a grey-scale image (with weighted values).</p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.grey.1.png' height='115' width='80'>image.c40.png</image></td> -  <td><image file='predef.Image.Image.grey.2.png' height='115' width='80'>image.c41.png</image></td> -  <td><image file='predef.Image.Image.grey.3.png' height='115' width='80'>image.c42.png</image></td> +  <td><image file='predef.Image.Image.grey.1.png'>image.c40.png</image></td> +  <td><image file='predef.Image.Image.grey.2.png'>image.c41.png</image></td> +  <td><image file='predef.Image.Image.grey.3.png'>image.c42.png</image></td>    </tr><tr valign='center'>    <td>original</td>    <td>-&gt;grey();</td>    <td>-&gt;grey(0,0,255);</td>    </tr></table>   </p>   </text>   <group>    <param name='r'/>    <param name='g'/>
autodoc.git/autodoc.xml:79281:    <arguments><argument name='no_pass'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Works like blur, but only operates on the r color channel.   A faster alternative to blur for grey scale images. @[no_pass]   is the number of times the blur matrix is applied.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.grey_blur.1.png' height='115' width='80'>image.c43.png</image></td> - <td><image file='predef.Image.Image.grey_blur.2.png' height='115' width='80'>image.c44.png</image></td> - <td><image file='predef.Image.Image.grey_blur.3.png' height='115' width='80'>image.c45.png</image></td> + <td><image file='predef.Image.Image.grey_blur.1.png'>image.c43.png</image></td> + <td><image file='predef.Image.Image.grey_blur.2.png'>image.c44.png</image></td> + <td><image file='predef.Image.Image.grey_blur.3.png'>image.c45.png</image></td>   </tr><tr>   <td>original</td>   <td>grey_blur(1)</td>   <td>grey_blur(5)</td>   </tr></table>   </p>   </text>   <group><seealso/><text>   <p><ref resolved='predef::Image.Image.blur'>blur</ref></p></text></group>   
autodoc.git/autodoc.xml:79317:   </method><doc>   <text>   <p>Converts RGB data to HSV data, or the other way around.   When converting to HSV, the resulting data is stored like this:    pixel.r = h; pixel.g = s; pixel.b = v;</p>      <p>When converting to RGB, the input data is asumed to be placed in   the pixels as above.</p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.rgb_to_hsv.1.png' height='115' width='80'>image.c46.png</image></td> -  <td><image file='predef.Image.Image.rgb_to_hsv.2.png' height='115' width='80'>image.c47.png</image></td> -  <td><image file='predef.Image.Image.rgb_to_hsv.3.png' height='115' width='80'>image.c48.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_hsv.1.png'>image.c46.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_hsv.2.png'>image.c47.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_hsv.3.png'>image.c48.png</image></td>    </tr><tr valign='center'>    <td>original</td>    <td>-&gt;hsv_to_rgb();</td>    <td>-&gt;rgb_to_hsv();</td>    </tr><tr valign='center'> -  <td><image file='predef.Image.Image.rgb_to_hsv.4.png' height='67' width='67'>image.c49.png</image></td> -  <td><image file='predef.Image.Image.rgb_to_hsv.5.png' height='67' width='67'>image.c50.png</image></td> -  <td><image file='predef.Image.Image.rgb_to_hsv.6.png' height='67' width='67'>image.c51.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_hsv.4.png'>image.c49.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_hsv.5.png'>image.c50.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_hsv.6.png'>image.c51.png</image></td>    </tr><tr valign='center'>    <td>tuned box (below)</td>    <td>the rainbow (below)</td>    <td>same, but rgb_to_hsv()</td>    </tr></table></p>      <p>   HSV to RGB calculation:   <pre>   in = input pixel
autodoc.git/autodoc.xml:79376:    <returntype>    <object>object </object></returntype>    <arguments>    </arguments>   </method><doc>   <text>   <p>Invert an image. Each pixel value gets to be 255-x, where x   is the old value.</p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.invert.1.png' height='115' width='80'>image.c52.png</image></td> -  <td><image file='predef.Image.Image.invert.2.png' height='115' width='80'>image.c53.png</image></td> -  <td><image file='predef.Image.Image.invert.3.png' height='115' width='80'>image.c54.png</image></td> +  <td><image file='predef.Image.Image.invert.1.png'>image.c52.png</image></td> +  <td><image file='predef.Image.Image.invert.2.png'>image.c53.png</image></td> +  <td><image file='predef.Image.Image.invert.3.png'>image.c54.png</image></td>    </tr><tr valign='center'>    <td>original</td>    <td>-&gt;invert();</td>    <td>-&gt;rgb_to_hsv()-&gt;invert()-&gt;hsv_to_rgb();</td>    </tr></table>   </p>   </text>   <group><returns/><text>   <p>the new image object</p>   </text></group>
autodoc.git/autodoc.xml:79432:   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>   <argument name='alpha'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Draws a line on the image. The line is <i>not</i> antialiased.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.line.1.png' height='115' width='80'>image.c55.png</image></td> - <td><image file='predef.Image.Image.line.2.png' height='115' width='80'>image.c56.png</image></td> + <td><image file='predef.Image.Image.line.1.png'>image.c55.png</image></td> + <td><image file='predef.Image.Image.line.2.png'>image.c56.png</image></td>   </tr><tr>   <td>original</td>   <td>-&gt;line<br/>(50,10,<br/>10,50,<br/>255,0,0)</td>   </tr></table>   </p>   </text>   <group>    <param name='x1'/>    <param name='y1'/>    <param name='x2'/>
autodoc.git/autodoc.xml:79624:   <docgroup homogen-name='mirrorx' homogen-type='method'>   <method name='mirrorx'>    <returntype>    <object>object </object></returntype>    <arguments>    </arguments>   </method><doc>   <text>   <p>mirrors an image:   <table><tr valign='center'> - <td><image file='predef.Image.Image.mirrorx.1.png' height='115' width='80'>matrix.c0.png</image></td> - <td><image file='predef.Image.Image.mirrorx.2.png' height='115' width='80'>matrix.c1.png</image></td> + <td><image file='predef.Image.Image.mirrorx.1.png'>matrix.c0.png</image></td> + <td><image file='predef.Image.Image.mirrorx.2.png'>matrix.c1.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>-&gt;mirrorx();</td>   </tr></table></p>   </text>   <group><returns/><text>   <p>the new image object</p>   </text></group>      </doc>
autodoc.git/autodoc.xml:79647:   <docgroup homogen-name='mirrory' homogen-type='method'>   <method name='mirrory'>    <returntype>    <object>object </object></returntype>    <arguments>    </arguments>   </method><doc>   <text>   <p>mirrors an image:   <table><tr valign='center'> - <td><image file='predef.Image.Image.mirrory.1.png' height='115' width='80'>matrix.c2.png</image></td> - <td><image file='predef.Image.Image.mirrory.2.png' height='115' width='80'>matrix.c3.png</image></td> + <td><image file='predef.Image.Image.mirrory.1.png'>matrix.c2.png</image></td> + <td><image file='predef.Image.Image.mirrory.2.png'>matrix.c3.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>-&gt;mirrory();</td>   </tr></table>   </p>   </text>      </doc>   </docgroup>   <docgroup homogen-name='modify_by_intensity' homogen-type='method'>
autodoc.git/autodoc.xml:79681:   <p>Recolor an image from intensity values.</p>      <p>For each color an intensity is calculated, from r, g and b factors   (see <ref resolved='predef::Image.Image.grey'>grey</ref>), this gives a value between 0 and max.</p>      <p>The color is then calculated from the values given, v1 representing   the intensity value of 0, vn representing max, and colors between   representing intensity values between, linear.</p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.modify_by_intensity.1.png' height='115' width='80'>image.c57.png</image></td> -  <td><image file='predef.Image.Image.modify_by_intensity.2.png' height='115' width='80'>image.c58.png</image></td> +  <td><image file='predef.Image.Image.modify_by_intensity.1.png'>image.c57.png</image></td> +  <td><image file='predef.Image.Image.modify_by_intensity.2.png'>image.c58.png</image></td>    </tr><tr valign='center'>    <td>original</td>    <td>-&gt;grey()-&gt;modify_by_intensity(1,0,0, 0,({255,0,0}),({0,255,0}));</td>    </tr></table>   </p>   </text>   <group>    <param name='r'/>    <param name='g'/>    <param name='b'/>
autodoc.git/autodoc.xml:79737:    </arguments>   </method><doc>   <text>   <p>Gives a new image with the old image's size,   filled width a 'noise' pattern.</p>      <p>The random seed may be different with each instance of pike.</p>      <p>Example:   <tt>-&gt;noise( ({0,({255,0,0}), 0.3,({0,255,0}), 0.6,({0,0,255}), 0.8,({255,255,0})}), 0.2,0.0,0.0,1.0 );</tt> - <br/><image file='predef.Image.Image.noise.1.png' height='100' width='200'>pattern.c0.png</image> + <br/><image file='predef.Image.Image.noise.1.png'>pattern.c0.png</image>   </p>   </text>   <group>    <param name='colorrange'/>   <text><p>colorrange table</p></text></group>   <group>    <param name='scale'/>   <text><p>default value is 0.1</p></text></group>   <group>    <param name='xdiff'/>
autodoc.git/autodoc.xml:79910:      <p>Default is to paint above, below, to the left and the right of   these pixels.</p>      <p>You can also run your own outline mask.</p>      <p>The outline_mask function gives the calculated outline as an   alpha channel image of white and black instead.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.outline.1.png' height='115' width='80'>image.c59.png</image></td> - <td><image file='predef.Image.Image.outline.2.png' height='115' width='80'>image.c60.png</image></td> - <td><image file='predef.Image.Image.outline.3.png' height='115' width='80'>image.c61.png</image></td> + <td><image file='predef.Image.Image.outline.1.png'>image.c59.png</image></td> + <td><image file='predef.Image.Image.outline.2.png'>image.c60.png</image></td> + <td><image file='predef.Image.Image.outline.3.png'>image.c61.png</image></td>   </tr><tr>   <td>original</td>   <td>masked<br/>through<br/>threshold</td>   <td>...and<br/>outlined<br/>with red</td>   </tr></table></p>      <p/>   </text>   <group>    <param name='mask'/>
autodoc.git/autodoc.xml:80209:   if it is rising or falling. This is done   for the every red, green and blue part of   the image.</p>      <p>Phase images can be used to create ugly   effects or to find meta-information   in the orginal image.</p>      <p><table border='0'>   <tr> - <td><image file='predef.Image.Image.phaseh.1.png' height='115' width='80'>search.c0.png</image></td> - <td><image file='predef.Image.Image.phaseh.2.png' height='115' width='80'>search.c1.png</image></td> - <td><image file='predef.Image.Image.phaseh.3.png' height='115' width='80'>search.c2.png</image></td> - <td><image file='predef.Image.Image.phaseh.4.png' height='115' width='80'>search.c3.png</image></td> - <td><image file='predef.Image.Image.phaseh.5.png' height='115' width='80'>search.c4.png</image></td> + <td><image file='predef.Image.Image.phaseh.1.png'>search.c0.png</image></td> + <td><image file='predef.Image.Image.phaseh.2.png'>search.c1.png</image></td> + <td><image file='predef.Image.Image.phaseh.3.png'>search.c2.png</image></td> + <td><image file='predef.Image.Image.phaseh.4.png'>search.c3.png</image></td> + <td><image file='predef.Image.Image.phaseh.5.png'>search.c4.png</image></td>   </tr>   <tr>   <td>original </td>   <td>phaseh() </td>   <td>phasev() </td>   <td>phasevh()</td>   <td>phasehv()</td>   </tr>   </table>   </p>
autodoc.git/autodoc.xml:80264:   <text><p> curve(s), <tt>({x1,y1,x2,y2,...,xn,yn})</tt>,    automatically closed.</p>      <p> If any given curve is inside another, it    will make a hole.</p>      <p><pre>   Image.Image(100,100)-&gt;setcolor(255,0,0,128)-&gt;    polyfill( ({ 20,20, 80,20, 80,80 }) );   </pre> - <image file='predef.Image.Image.polyfill.1.png' height='100' width='100'>polyfill.c0.png</image></p> + <image file='predef.Image.Image.polyfill.1.png'>polyfill.c0.png</image></p>      <p/></text></group>   <group><returns/><text>   <p>the current object</p>   </text></group>   <group><note/><text>   <p>Lines in the polygon may <i>not</i> be crossed without   the crossing coordinate specified in both lines.   </p>   </text></group>
autodoc.git/autodoc.xml:80331:    <function>    <argtype><int/></argtype>    <returntype><string/></returntype>    </function></type></argument>       </arguments>   </method><doc>   <text>   <p>Gives a randomized image;<br/>   <table><tr valign='center'> - <td><image file='predef.Image.Image.random.1.png' height='115' width='80'>pattern.c1.png</image></td> - <td><image file='predef.Image.Image.random.2.png' height='115' width='80'>pattern.c2.png</image></td> - <td><image file='predef.Image.Image.random.3.png' height='115' width='80'>pattern.c3.png</image></td> - <td><image file='predef.Image.Image.random.4.png' height='115' width='80'>pattern.c4.png</image></td> - <td><image file='predef.Image.Image.random.5.png' height='115' width='80'>pattern.c5.png</image></td> - <td><image file='predef.Image.Image.random.6.png' height='115' width='80'>pattern.c6.png</image></td> + <td><image file='predef.Image.Image.random.1.png'>pattern.c1.png</image></td> + <td><image file='predef.Image.Image.random.2.png'>pattern.c2.png</image></td> + <td><image file='predef.Image.Image.random.3.png'>pattern.c3.png</image></td> + <td><image file='predef.Image.Image.random.4.png'>pattern.c4.png</image></td> + <td><image file='predef.Image.Image.random.5.png'>pattern.c5.png</image></td> + <td><image file='predef.Image.Image.random.6.png'>pattern.c6.png</image></td>   </tr><tr>   <td>original</td>   <td>-&gt;random()</td>   <td>-&gt;random(17)</td>   <td>greyed<br/>(same again)</td>   <td>color(red)<br/>(same again)</td>   <td>...red channel<br/></td>   </tr></table></p>      <p>Use with -&gt;<ref resolved='predef::Image.Image.grey'>grey</ref>() or -&gt;<ref resolved='predef::Image.Image.color'>color</ref>()
autodoc.git/autodoc.xml:80421:   </method><doc>   <text>   <p>Converts RGB data to YUV (YCrCb) data, or the other way around.   When converting to YUV, the resulting data is stored like this:    pixel.r = v (cr); pixel.g = y; pixel.b = u (cb);</p>      <p>When converting to RGB, the input data is asumed to be placed in   the pixels as above.</p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.rgb_to_yuv.1.png' height='115' width='80'>image.c62.png</image></td> -  <td><image file='predef.Image.Image.rgb_to_yuv.2.png' height='115' width='80'>image.c63.png</image></td> -  <td><image file='predef.Image.Image.rgb_to_yuv.3.png' height='115' width='80'>image.c64.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_yuv.1.png'>image.c62.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_yuv.2.png'>image.c63.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_yuv.3.png'>image.c64.png</image></td>    </tr><tr valign='center'>    <td>original</td>    <td>-&gt;yuv_to_rgb();</td>    <td>-&gt;rgb_to_yuv();</td>    </tr><tr valign='center'> -  <td><image file='predef.Image.Image.rgb_to_yuv.4.png' height='67' width='67'>image.c65.png</image></td> -  <td><image file='predef.Image.Image.rgb_to_yuv.5.png' height='67' width='67'>image.c66.png</image></td> -  <td><image file='predef.Image.Image.rgb_to_yuv.6.png' height='67' width='67'>image.c67.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_yuv.4.png'>image.c65.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_yuv.5.png'>image.c66.png</image></td> +  <td><image file='predef.Image.Image.rgb_to_yuv.6.png'>image.c67.png</image></td>    </tr><tr valign='center'>    <td>tuned box (below)</td>    <td>the rainbow (below)</td>    <td>same, but rgb_to_yuv()</td>    </tr></table></p>      <p>   RGB to YUB calculation (this follows CCIR.601):   <pre>   in = input pixel
autodoc.git/autodoc.xml:80507:   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Rotates an image a certain amount of degrees (360° is   a complete rotation) counter-clockwise:</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.rotate.1.png' height='115' width='80'>matrix.c4.png</image></td> - <td><image file='predef.Image.Image.rotate.2.png' height='141' width='113'>matrix.c5.png</image></td> - <td><image file='predef.Image.Image.rotate.3.png' height='141' width='113'>matrix.c6.png</image></td> + <td><image file='predef.Image.Image.rotate.1.png'>matrix.c4.png</image></td> + <td><image file='predef.Image.Image.rotate.2.png'>matrix.c5.png</image></td> + <td><image file='predef.Image.Image.rotate.3.png'>matrix.c6.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>-&gt;rotate(15,255,0,0);</td>   <td>-&gt;rotate_expand(15);</td>   </tr></table></p>      <p>The "expand" variant of functions stretches the   image border pixels rather then filling with   the given or current color.</p>   
autodoc.git/autodoc.xml:80547:   <method name='rotate_ccw'>    <returntype>    <object>object </object></returntype>    <arguments>    </arguments>   </method><doc>   <text>   <p>rotates an image counter-clockwise, 90 degrees.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.rotate_ccw.1.png' height='115' width='80'>matrix.c7.png</image></td> - <td><image file='predef.Image.Image.rotate_ccw.2.png' height='80' width='115'>matrix.c8.png</image></td> + <td><image file='predef.Image.Image.rotate_ccw.1.png'>matrix.c7.png</image></td> + <td><image file='predef.Image.Image.rotate_ccw.2.png'>matrix.c8.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>-&gt;rotate_ccw();</td>   </tr></table>   </p>   </text>   <group><returns/><text>   <p>the new image object</p>   </text></group>   
autodoc.git/autodoc.xml:80572:   <method name='rotate_cw'>    <returntype>    <object>object </object></returntype>    <arguments>    </arguments>   </method><doc>   <text>   <p>rotates an image clockwise, 90 degrees.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.rotate_cw.1.png' height='115' width='80'>matrix.c9.png</image></td> - <td><image file='predef.Image.Image.rotate_cw.2.png' height='80' width='115'>matrix.c10.png</image></td> + <td><image file='predef.Image.Image.rotate_cw.1.png'>matrix.c9.png</image></td> + <td><image file='predef.Image.Image.rotate_cw.2.png'>matrix.c10.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>-&gt;rotate_cw();</td>   </tr></table></p>   </text>   <group><returns/><text>   <p>the new image object</p>   </text></group>      </doc>
autodoc.git/autodoc.xml:80696:   filled with 255 if the color is the same,   or 255 minus distance in the colorcube, squared, rightshifted   8 steps (see <ref resolved='predef::Image.Image.distancesq'>distancesq</ref>).</p>      <p>When the edge distance is reached, the scan is stopped.   Default edge value is 30.   This value is squared and compared with the square of the   distance above.</p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.select_from.1.png' height='115' width='80'>image.c68.png</image></td> -  <td><image file='predef.Image.Image.select_from.2.png' height='115' width='80'>image.c69.png</image></td> -  <td><image file='predef.Image.Image.select_from.3.png' height='115' width='80'>image.c70.png</image></td> -  <td><image file='predef.Image.Image.select_from.4.png' height='115' width='80'>image.c71.png</image></td> -  <td><image file='predef.Image.Image.select_from.5.png' height='115' width='80'>image.c72.png</image></td> -  <td><image file='predef.Image.Image.select_from.6.png' height='115' width='80'>image.c73.png</image></td> -  <td><image file='predef.Image.Image.select_from.7.png' height='115' width='80'>image.c74.png</image></td> +  <td><image file='predef.Image.Image.select_from.1.png'>image.c68.png</image></td> +  <td><image file='predef.Image.Image.select_from.2.png'>image.c69.png</image></td> +  <td><image file='predef.Image.Image.select_from.3.png'>image.c70.png</image></td> +  <td><image file='predef.Image.Image.select_from.4.png'>image.c71.png</image></td> +  <td><image file='predef.Image.Image.select_from.5.png'>image.c72.png</image></td> +  <td><image file='predef.Image.Image.select_from.6.png'>image.c73.png</image></td> +  <td><image file='predef.Image.Image.select_from.7.png'>image.c74.png</image></td>    </tr><tr>    <td>35, 35, 16</td>    <td>35, 35, 32</td>    <td>35, 35, 64</td>    <td>35, 35, 96</td>    <td>35, 35, 128</td>    <td>35, 35, 192</td>    <td>35, 35, 256</td>    </tr></table></p>      <p> <table><tr valign='center'> -  <td><image file='predef.Image.Image.select_from.8.png' height='115' width='80'>image.c75.png</image></td> -  <td><image file='predef.Image.Image.select_from.9.png' height='115' width='80'>image.c76.png</image></td> +  <td><image file='predef.Image.Image.select_from.8.png'>image.c75.png</image></td> +  <td><image file='predef.Image.Image.select_from.9.png'>image.c76.png</image></td>    </tr><tr>    <td>original</td>    <td>original * select_from(35,35,200)</td>    </tr></table>   </p>   </text>   <group>    <param name='x'/>    <param name='y'/>   <text><p>originating pixel in the image
autodoc.git/autodoc.xml:80813:   <argument name='y'><type><int/></type></argument>   <argument name='r'><type><int/></type></argument>   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>   <argument name='alpha'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p><table><tr valign='center'> - <td><image file='predef.Image.Image.setpixel.1.png' height='115' width='80'>image.c77.png</image></td> - <td><image file='predef.Image.Image.setpixel.2.png' height='115' width='80'>image.c78.png</image></td> + <td><image file='predef.Image.Image.setpixel.1.png'>image.c77.png</image></td> + <td><image file='predef.Image.Image.setpixel.2.png'>image.c78.png</image></td>   </tr><tr>   <td>original</td>   <td>-&gt;setpixel<br/>(10,10,<br/>255,0,0)</td>   </tr></table>   </p>   </text>   <group>    <param name='x'/>    <param name='y'/>   <text><p>position of the pixel</p></text></group>
autodoc.git/autodoc.xml:80906:   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Skews an image an amount of pixels or a factor;   a skew-x is a transformation:</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.skewx.1.png' height='115' width='80'>matrix.c11.png</image></td> - <td><image file='predef.Image.Image.skewx.2.png' height='115' width='95'>matrix.c12.png</image></td> - <td><image file='predef.Image.Image.skewx.3.png' height='115' width='95'>matrix.c13.png</image></td> + <td><image file='predef.Image.Image.skewx.1.png'>matrix.c11.png</image></td> + <td><image file='predef.Image.Image.skewx.2.png'>matrix.c12.png</image></td> + <td><image file='predef.Image.Image.skewx.3.png'>matrix.c13.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>-&gt;skewx(15,255,0,0);</td>   <td>-&gt;skewx_expand(15);</td>   </tr></table>   </p>   </text>   <group>    <param name='x'/>   <text><p>the number of pixels
autodoc.git/autodoc.xml:81003:   <argument name='g'><type><int/></type></argument>   <argument name='b'><type><int/></type></argument>       </arguments>   </method><doc>   <text>   <p>Skews an image an amount of pixels or a factor;   a skew-y is a transformation:</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.skewy.1.png' height='115' width='80'>matrix.c14.png</image></td> - <td><image file='predef.Image.Image.skewy.2.png' height='130' width='80'>matrix.c15.png</image></td> - <td><image file='predef.Image.Image.skewy.3.png' height='130' width='80'>matrix.c16.png</image></td> + <td><image file='predef.Image.Image.skewy.1.png'>matrix.c14.png</image></td> + <td><image file='predef.Image.Image.skewy.2.png'>matrix.c15.png</image></td> + <td><image file='predef.Image.Image.skewy.3.png'>matrix.c16.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>-&gt;skewy(15,255,0,0);</td>   <td>-&gt;skewy_expand(15);</td>   </tr></table></p>      <p>The "expand" variant of functions stretches the   image border pixels rather then filling with   the given or current color.</p>   </text>
autodoc.git/autodoc.xml:81060:    <argtype><int/></argtype>    <returntype><string/></returntype>    </function></type></argument>       </arguments>   </method><doc>   <text>   <p>Generates a test image, currently random gradients.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.test.1.png' height='115' width='80'>image.c79.png</image></td> - <td><image file='predef.Image.Image.test.2.png' height='115' width='80'>image.c80.png</image></td> - <td><image file='predef.Image.Image.test.3.png' height='115' width='80'>image.c81.png</image></td> + <td><image file='predef.Image.Image.test.1.png'>image.c79.png</image></td> + <td><image file='predef.Image.Image.test.2.png'>image.c80.png</image></td> + <td><image file='predef.Image.Image.test.3.png'>image.c81.png</image></td>   </tr><tr>   <td>original</td>   <td>-&gt;test()</td>   <td>...and again</td>   </tr></table>   </p>   </text>   <group><returns/><text>   <p>the new image</p>   </text></group>
autodoc.git/autodoc.xml:81123:   <p>If any of red, green, blue parts of a pixel   is larger then the given value, the pixel will become   white, else black.</p>      <p>This method works fine with the grey method.</p>      <p>If no arguments are given, it will paint all non-black   pixels white. (Ie, default is 0,0,0.)</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.threshold.1.png' height='115' width='80'>image.c82.png</image></td> - <td><image file='predef.Image.Image.threshold.2.png' height='115' width='80'>image.c83.png</image></td> - <td><image file='predef.Image.Image.threshold.3.png' height='115' width='80'>image.c84.png</image></td> + <td><image file='predef.Image.Image.threshold.1.png'>image.c82.png</image></td> + <td><image file='predef.Image.Image.threshold.2.png'>image.c83.png</image></td> + <td><image file='predef.Image.Image.threshold.3.png'>image.c84.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>-&gt;threshold(100);</td>   <td>-&gt;threshold(0,100,0);</td>   </tr></table>   </p>   </text>   <group><returns/><text>   <p>the new image object</p>   </text></group>
autodoc.git/autodoc.xml:81169:   </method><doc>   <text>   <p>Draws a filled rectangle with colors (and alpha values) tuned   between the corners.</p>      <p>Tuning function is (1.0-x/xw)*(1.0-y/yw) where x and y is   the distance to the corner and xw and yw are the sides of the   rectangle.</p>      <p><table><tr valign='center'> - <td><image file='predef.Image.Image.tuned_box.1.png' height='115' width='80'>image.c85.png</image></td> - <td><image file='predef.Image.Image.tuned_box.2.png' height='115' width='80'>image.c86.png</image></td> - <td><image file='predef.Image.Image.tuned_box.3.png' height='115' width='80'>image.c87.png</image></td> - <td><image file='predef.Image.Image.tuned_box.4.png' height='115' width='80'>image.c88.png</image></td> + <td><image file='predef.Image.Image.tuned_box.1.png'>image.c85.png</image></td> + <td><image file='predef.Image.Image.tuned_box.2.png'>image.c86.png</image></td> + <td><image file='predef.Image.Image.tuned_box.3.png'>image.c87.png</image></td> + <td><image file='predef.Image.Image.tuned_box.4.png'>image.c88.png</image></td>   </tr><tr valign='center'>   <td>original</td>   <td>tuned box</td>   <td>solid tuning<br/>(blue,red,green,yellow)</td>   <td>tuning transparency<br/>(as left + 255,128,128,0)</td>   </tr></table>   </p>   </text>   <group>    <param name='x1'/>
autodoc.git/autodoc.xml:81235:    </arguments>   </method><doc>   <text>   <p>gives a new image with the old image's size,   filled width a 'turbulence' pattern</p>      <p>The random seed may be different with each instance of pike.</p>      <p>Example: <br/>   <tt>-&gt;turbulence( ({0,({229,204,204}), 0.9,({229,20,20}), 0.9,Color.black}) );</tt> - <br/><image file='predef.Image.Image.turbulence.1.png' height='100' width='200'>pattern.c7.png</image></p> + <br/><image file='predef.Image.Image.turbulence.1.png'>pattern.c7.png</image></p>   </text>   <group>    <param name='colorrange'/>   <text><p>colorrange table</p></text></group>   <group>    <param name='octaves'/>   <text><p>default value is 3</p></text></group>   <group>    <param name='scale'/>   <text><p>default value is 0.1</p></text></group>
autodoc.git/autodoc.xml:87224:   <variable name='SOURCE'><type><int/></type></variable>   </docgroup>   <docgroup homogen-name='TAG' homogen-type='variable'><doc><text><p>Contains the tag that was used in the <ref resolved='predef::MPI.Comm.Recv'>MPI.Comm()-&gt;Recv</ref> operation.</p>   </text><group><seealso/><text><p><ref resolved='predef::MPI.Comm.Recv'>MPI.Comm()-&gt;Recv()</ref></p>   </text></group></doc>   <variable name='TAG'><type><int/></type></variable>   </docgroup>   </class>   </module>   <module name='Mapping'> - <docgroup homogen-name='delete' homogen-type='constant'><doc><text><p>Alias for <ref>m_delete()</ref></p> + <docgroup homogen-name='delete' homogen-type='constant'><doc><text><p>Alias for <ref resolved='predef::m_delete'>m_delete()</ref></p>   </text></doc>   <constant name='delete'/>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <class name='Iterator'>   <doc><text><p>An object of this class is returned by <ref resolved='predef::get_iterator'>get_iterator()</ref> when    called with a mapping.</p>   </text><group><seealso/><text><p><ref resolved='predef::get_iterator'>get_iterator</ref></p>
autodoc.git/autodoc.xml:90856:   </text></group><group><note/><text><p>The default implementation just calls <ref>Cipher::block_size()</ref>    in the parent.</p>   </text></group></doc>   <method name='block_size'>   <arguments/>   <returntype><int><min>0</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypts or decrypts data, using the current key. Neither the    input nor output data is automatically memory scrubbed, -  unless <ref>String.secure</ref> has been called on them.</p> +  unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on them.</p>   </text><group><param name='data'/><text><p>Data must be an integral number of blocks, except for the    last segment.</p>   </text></group><group><returns/><text><p>The encrypted or decrypted data.</p>   </text></group></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='digest' homogen-type='method'><doc><text><p>Generates a digest, and resets the AEAD contents.</p>
autodoc.git/autodoc.xml:91131:    the State for the cipher implemented in the parent module.</p>   </text></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher.ABC.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher.ABC.State.crypt.data'>data</ref> must    be an integral number of blocks.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname>Cipher::State</classname></inherit>   </docgroup>   <docgroup homogen-name='iv_size' homogen-type='method'><doc><text><p>Returns the size for the initialization vector</p>
autodoc.git/autodoc.xml:91232:    the State for the cipher implemented in the parent module.</p>   </text></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher.CBC.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher.CBC.State.crypt.data'>data</ref> must    be an integral number of blocks.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname>Cipher::State</classname></inherit>   </docgroup>   <docgroup homogen-name='iv_size' homogen-type='method'><doc><text><p>Returns the size for the initialization vector</p>
autodoc.git/autodoc.xml:91345:   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher.CFB.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher.CFB.State.crypt.data'>data</ref> must    be an integral number of blocks.</p>   <p> The length of <ref resolved='predef::Nettle.BlockCipher.CFB.State.crypt.data'>data</ref> MUST be a multiple of the block size    for all calls except the last.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text><group><seealso/><text><p><ref>update()</ref>, <ref>digest()</ref></p>   </text></group></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname resolved='predef::Nettle.Cipher.State'>BufferedCipher::State</classname></inherit>   </docgroup>
autodoc.git/autodoc.xml:91480:   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher.CTR.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher.CTR.State.crypt.data'>data</ref> must    be an integral number of blocks.</p>   <p> The length of <ref resolved='predef::Nettle.BlockCipher.CTR.State.crypt.data'>data</ref> MUST be a multiple of the block size    for all calls except the last.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text><group><seealso/><text><p><ref>update()</ref>, <ref>digest()</ref></p>   </text></group></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname resolved='predef::__builtin.Nettle.Cipher.State'>Cipher::State</classname></inherit>   </docgroup>
autodoc.git/autodoc.xml:91591:    the State for the cipher implemented in the parent module.</p>   </text></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher.IGE.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher.IGE.State.crypt.data'>data</ref> must    be an integral number of blocks.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname>Cipher::State</classname></inherit>   </docgroup>   <docgroup homogen-name='iv_size' homogen-type='method'><doc><text><p>Returns the size for the initialization vector</p>
autodoc.git/autodoc.xml:91715:   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher.OFB.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher.OFB.State.crypt.data'>data</ref> must    be an integral number of blocks.</p>   <p> The length of <ref resolved='predef::Nettle.BlockCipher.OFB.State.crypt.data'>data</ref> MUST be a multiple of the block size    for all calls except the last.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text><group><seealso/><text><p><ref>update()</ref>, <ref>digest()</ref></p>   </text></group></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname resolved='predef::Nettle.Cipher.State'>BufferedCipher::State</classname></inherit>   </docgroup>
autodoc.git/autodoc.xml:91813:    the parent class (<ref resolved='predef::Nettle.Cipher'>Cipher</ref>).</p>   </text><group><seealso/><text><p><ref resolved='predef::Nettle.BlockCipher.CBC'>CBC</ref>, <ref>GCM</ref></p>   </text></group></doc>   <docgroup homogen-name='CBC' homogen-type='inherit'>   <inherit name='CBC'><classname resolved='predef::Nettle.BlockCipher.CBC'>CBC</classname></inherit>   </docgroup>   <class name='State'>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher.PCBC.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher.PCBC.State.crypt.data'>data</ref> must    be an integral number of blocks.</p>   <p> Neither the input nor the output data is automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname resolved='predef::Nettle.BlockCipher.CBC.State'>CBC::State</classname></inherit>   </docgroup>   <docgroup homogen-name='name' homogen-type='method'><doc><text><p>Returns the string <expr>"PCBC(x)"</expr> where x is the
autodoc.git/autodoc.xml:91961:    the parent class (<ref resolved='predef::Nettle.BlockCipher16'>BlockCipher16</ref>).</p>   <p> This is a so-called authenticated encryption with associated data    (AEAD) algorithm, and in addition to encryption also provides    message digests.</p>   </text><group><note/><text><p>This mode of operation was specified as a reaction to the    limitiations of the <ref resolved='predef::Nettle.BlockCipher16.CCM'>BlockCipher16.CCM</ref> mode.</p>   </text></group><group><note/><text><p>Note that this module is not available in all versions of Nettle.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Nettle.BlockCipher.CBC'>CBC</ref>, <ref resolved='predef::Nettle.BlockCipher.CTR'>CTR</ref>, <ref resolved='predef::Nettle.BlockCipher16.CCM'>BlockCipher16.CCM</ref>, <ref resolved='predef::Nettle.BlockCipher16.GCM'>BlockCipher16.GCM</ref></p>   </text></group></doc>   <docgroup homogen-name='digest_size' homogen-type='method'><doc><text><p>Default digest size.</p> - </text><group><returns/><text><p>Returns <ref resolved='predef::__builtin.Nettle.Cipher.block_size'>BlockCipher::block_size()</ref>, but overloading via + </text><group><returns/><text><p>Returns <ref resolved='predef::Nettle.Cipher.block_size'>BlockCipher::block_size()</ref>, but overloading via    inherit is supported, and may return any positive number    <expr>&lt;= BlockCipher::block_size()</expr>.</p>   </text></group></doc>   <method name='digest_size'>   <arguments/>   <returntype><int><min>1</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='AEAD' homogen-type='inherit'>   <inherit name='AEAD'><classname resolved='predef::__builtin.Nettle.AEAD'>__builtin.Nettle.AEAD</classname></inherit>
autodoc.git/autodoc.xml:92158:   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher16.GCM.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher16.GCM.State.crypt.data'>data</ref> must    be an integral number of blocks.</p>   <p> The length of <ref resolved='predef::Nettle.BlockCipher16.GCM.State.crypt.data'>data</ref> MUST be a multiple of the block size    (ie <expr>16</expr>) for all calls except the last.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text><group><seealso/><text><p><ref resolved='predef::Nettle.BlockCipher16.GCM.State.update'>update()</ref>, <ref resolved='predef::Nettle.BlockCipher16.GCM.State.digest'>digest()</ref></p>   </text></group></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='digest' homogen-type='method'><doc><text><p>Generate a message digest for the data accumulated so far.</p>   </text><group><note/><text><p><ref resolved='predef::Nettle.BlockCipher16.GCM.State.set_iv'>set_iv()</ref> needs to be called to start the next message.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Nettle.BlockCipher16.GCM.State.update'>update()</ref>, <ref resolved='predef::Nettle.BlockCipher16.GCM.State.digest'>digest()</ref></p>
autodoc.git/autodoc.xml:92314:   </text></doc>   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt/decrypt <ref resolved='predef::Nettle.BlockCipher16.KW.State.crypt.data'>data</ref> and return the result. <ref resolved='predef::Nettle.BlockCipher16.KW.State.crypt.data'>data</ref> must    be an integral number of blocks. It must also be at least    two blocks long.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='digest' homogen-type='method'><doc><text><p>Returns the data integrity value.</p>   <p> When decoding this value should be compared to    the original IV used when encoding.</p>   <p> When encoding the convention is to prepend this
autodoc.git/autodoc.xml:92484:   <method name='create'>   <arguments/>   <returntype><void/></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypt or decrypt some data.</p>   <p> Adds data to be en/decrypted to the buffer. If there's enough    data to en/decrypt a block, that will be done, and the result    returned. Any unprocessed data will be left in the buffer.</p>   <p> Neither the input or output data is not automatically memory -  scrubbed, unless <ref>String.secure</ref> has been called on the data.</p> +  scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   </text></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='iv_size' homogen-type='method'><doc><text><p>Get the iv size of the contained block crypto.</p>   </text></doc>   <method name='iv_size'>   <arguments/>
autodoc.git/autodoc.xml:92514:   </docgroup>   <docgroup homogen-name='name' homogen-type='method'><doc><text><p>Returns the name of the wrapped cipher with <expr>".Buffer"</expr>    appended.</p>   </text></doc>   <method name='name'>   <arguments/>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='pad' homogen-type='method'><doc><text><p>Pad and encrypt any data left in the buffer. The output data is -  not automatically memory scrubbed, unless <ref>String.secure</ref> is +  not automatically memory scrubbed, unless <ref resolved='predef::String.secure'>String.secure</ref> is    called on the data.</p>   </text><group><param name='method'/><text><p>The type of padding to apply to the buffer.</p>   <int><group><value>Crypto.PAD_ISO_10126</value><text><p>Pads according to ISO 10126, which means filling all extra    space with random data and putting the size of the    non-payload data last.</p>   </text></group><group><value>Crypto.PAD_TLS</value><value>Crypto.PAD_SSL</value><text><p>Pads according to <rfc>5246:6.2.3.2</rfc>, meaning that all    extra space is filled with the size of the padding. Note    that this size has an off by one difference to the other    schemas, so 0 means 1 byte of padding.</p>   </text></group><group><value>Crypto.PAD_ANSI_X923</value><text><p>Pads according to ANSI X.923, which means filling all extra
autodoc.git/autodoc.xml:92579:   <p> Defaults to creating the State for the cipher implemented    in the parent module.</p>   </text></doc>   <method name='substate_factory'>   <arguments/>   <returntype><object resolved='predef::__builtin.Nettle.Cipher.State'>Cipher::State</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='unpad' homogen-type='method'><doc><text><p>Decrypt and unpad a block of data. Neither the input or output    data is not automatically memory scrubbed, unless -  <ref>String.secure</ref> has been called on the data.</p> +  <ref resolved='predef::String.secure'>String.secure</ref> has been called on the data.</p>   <p> This performs the reverse operation of <ref resolved='predef::Nettle.BufferedCipher.Buffer.State.pad'>pad()</ref>. The padding    will be verified to be correct, if possible. If not, zero is    returned.</p>   </text><group><param name='method'/><text><p>The type of padding that was applied to the original buffer.</p>   <int><group><value>Crypto.PAD_SSL</value><value>Crypto.PAD_TLS</value><value>Crypto.PAD_ISO_10126</value><value>Crypto.PAD_ANSI_X923</value><value>Crypto.PAD_PKCS7</value><value>Crypto.PAD_ZERO</value></group></int><p>Defaults to Crypto.PAD_SSL for compatibility reasons.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Nettle.BufferedCipher.Buffer.State.pad'>pad()</ref></p>   </text></group></doc>   <method name='unpad'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument><argument name='method'><type><or><void/><int/></or></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>
autodoc.git/autodoc.xml:92635:   </text><group><note/><text><p>Note that this class is not available in all versions of Nettle.</p>   </text></group></doc>   <docgroup homogen-name='BlockCipher' homogen-type='inherit'>   <inherit name='BlockCipher'><classname resolved='predef::Nettle.BlockCipher'>BlockCipher</classname></inherit>   </docgroup>   <class name='State'>   <doc><text><p>State for CHACHA encyption.</p>   </text></doc>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypts or decrypts data, using the current key. Neither the    input nor output data is automatically memory scrubbed, -  unless <ref>String.secure</ref> has been called on them.</p> +  unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on them.</p>   </text><group><param name='data'/><text><p>Usually an integral number of blocks, except for the last    segement in a run. The decoder must get partial blocks    at the same places as the encoder, otherwise they will get    out of sync.</p>   </text></group><group><returns/><text><p>The encrypted or decrypted data.</p>   </text></group></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>
autodoc.git/autodoc.xml:92721:   </text></group><group><note/><text><p>The default implementation just calls <ref resolved='predef::__builtin.Nettle.Cipher.block_size'>Cipher::block_size()</ref>    in the parent.</p>   </text></group></doc>   <method name='block_size'>   <arguments/>   <returntype><int><min>1</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypts or decrypts data, using the current key. Neither the    input nor output data is automatically memory scrubbed, -  unless <ref>String.secure</ref> has been called on them.</p> +  unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on them.</p>   </text><group><param name='data'/><text><p>For block ciphers, data must be an integral number of blocks.</p>   </text></group><group><returns/><text><p>The encrypted or decrypted data.</p>   </text></group></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='State' homogen-type='inherit'>   <inherit name='State'><classname resolved='predef::__builtin.Nettle.Cipher.State'>Cipher::State</classname></inherit>
autodoc.git/autodoc.xml:94254:    <ref resolved='predef::Object.DESTRUCT_CLEANUP'>Object.DESTRUCT_CLEANUP</ref> is <expr>1</expr> for compatibility.</p>   </text></group></doc>   <constant name='DESTRUCT_EXPLICIT'/>   <constant name='DESTRUCT_NO_REFS'/>   <constant name='DESTRUCT_GC'/>   <constant name='DESTRUCT_CLEANUP'/>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup> + <docgroup homogen-name='secure' homogen-type='method'><doc><text><p>Marks the object as secure, which will clear the memory area +  before freeing the object.</p> + </text><group><seealso/><text><p><ref resolved='predef::String.secure'>String.secure()</ref></p> + </text></group></doc> + <method name='secure'> + <arguments><argument name='str'><type><object resolved='predef::Object.secure'/></type></argument></arguments> + <returntype><object resolved='predef::Object.secure'/></returntype> + </method> + </docgroup>   </module>   <module name='Odbc'>   <doc><text><p>Low-level interface to Open DataBase Connectivity SQL-drivers.</p>   </text><group><note/><text><p>You typically don't want to access this module directly, but    instead use <ref resolved='predef::Sql.Sql'>Sql.Sql()</ref> with an <expr>"odbc://"</expr> or    <expr>"dsn://"</expr> URL.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Sql.Sql'>Sql.Sql()</ref></p>   </text></group></doc>   <docgroup homogen-name='connect_lock' homogen-type='method'><doc><text><p>Enable or disable a mutex that serializes all ODBC SQLConnect    calls (i.e. when ODBC connections are created). This lock might be
autodoc.git/autodoc.xml:95731:   <variable name='lr_error'><type><int/></type></variable>   </docgroup>   <docgroup homogen-name='make_parser' homogen-type='method'><doc><text><p>Compiles the parser-specification given in the first argument.    Named actions are taken from the object if available, otherwise    left as is.</p>   </text><group><bugs/><text><p>Returns error-code in both GrammarParser.error and    return_value-&gt;lr_error.</p>   </text></group></doc>   <method name='make_parser'>   <arguments><argument name='str'><type><string/></type></argument><argument name='m'><type><or><object resolved='predef::Parser.LR.GrammarParser.make_parser'/><void/></or></type></argument></arguments> - <returntype><object resolved='predef::Parser.LR.Parser'>Parser</object></returntype> + <returntype><object resolved='predef::Parser'>Parser</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_parser_from_file' homogen-type='method'><doc><text><p>Compiles the file specified in the first argument into an LR parser.</p>   </text><group><seealso/><text><p><ref resolved='predef::Parser.LR.GrammarParser.make_parser'>make_parser</ref></p>   </text></group></doc>   <method name='make_parser_from_file'>   <arguments><argument name='fname'><type><string/></type></argument><argument name='m'><type><or><object resolved='predef::Parser.LR.GrammarParser.make_parser_from_file'/><void/></or></type></argument></arguments> - <returntype><or><int/><object resolved='predef::Parser.LR.Parser'>Parser</object></or></returntype> + <returntype><or><int/><object resolved='predef::Parser'>Parser</object></or></returntype>   </method>   </docgroup>   </module>   <class name='Parser'>   <doc><text><p>This object implements an LALR(1) parser and compiler.</p>   <p> Normal use of this object would be:</p>   <p> <pre>    set_error_handler    {add_rule, set_priority, set_associativity}*    set_symbol_to_string
autodoc.git/autodoc.xml:98634:   </text></doc>   <constant name='INDEX_FROM_BEG'><modifiers><local/></modifiers></constant>   <constant name='INDEX_FROM_END'><modifiers><local/></modifiers></constant>   <constant name='OPEN_BOUND'><modifiers><local/></modifiers></constant>   </docgroup>   <docgroup homogen-name='SmallBackend' homogen-type='variable'><doc><text><p>This is the most suitable backend implementation if you only want    to monitor a small number of <ref resolved='predef::Stdio.File'>Stdio.File</ref> objects.</p>   </text></doc>   <variable name='SmallBackend'><modifiers><local/></modifiers><type><program/></type></variable>   </docgroup> - <docgroup homogen-type='constant'><doc><text><p>Flags for use together with <ref resolved='predef::set_weak_flag'>set_weak_flag</ref> and <ref>get_weak_flag</ref>. + <docgroup homogen-type='constant'><doc><text><p>Flags for use together with <ref resolved='predef::set_weak_flag'>set_weak_flag</ref> and <ref resolved='predef::get_weak_flag'>get_weak_flag</ref>.    See <ref resolved='predef::set_weak_flag'>set_weak_flag</ref> for details.</p>   </text></doc>   <constant name='WEAK_INDICES'><modifiers><local/></modifiers></constant>   <constant name='WEAK_VALUES'><modifiers><local/></modifiers></constant>   <constant name='WEAK'><modifiers><local/></modifiers></constant>   </docgroup>   <docgroup homogen-name='__HAVE_CPP_PREFIX_SUPPORT__' homogen-type='constant'><doc><text><p>This constant exists and has the value 1 if cpp supports    the prefix feature.</p>   </text><group><seealso/><text><p><ref resolved='predef::cpp'>cpp()</ref></p>   </text></group></doc>
autodoc.git/autodoc.xml:98796:    anywhere else.</p>   </text></group><group><note/><text><p>It's possible that a string that is referenced still isn't    counted, because strings are always shared in Pike and the same    string may be in use in some unrelated part of the program.</p>   </text></group></doc>   <method name='count_memory'>   <arguments><argument name='options'><type><or><int/><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></or></type></argument><argument name='things'><type><varargs><or><array/><multiset/><mapping/><object resolved='predef::Pike.count_memory'/><program/><string/><type><mixed/></type><int/></or></varargs></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> + <docgroup homogen-name='gc_parameters' homogen-type='method'><doc><text><p>Set and get various parameters that control the operation of the +  garbage collector. The passed mapping contains the parameters to +  set. If a parameter is missing from the mapping, the current value +  will be filled in instead. The same mapping is returned. Thus an +  empty mapping, or no argument at all, causes a mapping with all +  current settings to be returned.</p> + <p> The following parameters are recognized:</p> + <mapping><group><member><type><int/></type><index>"enabled"</index></member><text><p>If this is 1 then the gc is enabled as usual. If it's 0 then all +  automatically scheduled gc runs are disabled and the parameters +  below have no effect, but explicit runs through the <ref resolved='predef::gc'>gc</ref> +  function still works as usual. If it's -1 then the gc is +  completely disabled so that even explicit <ref resolved='predef::gc'>gc</ref> calls won't do +  anything.</p> + </text></group><group><member><type><float/></type><index>"garbage_ratio_low"</index></member><text><p>As long as the gc time is less than time_ratio below, aim to run +  the gc approximately every time the ratio between the garbage +  and the total amount of allocated things is this.</p> + </text></group><group><member><type><float/></type><index>"time_ratio"</index></member><text><p>When more than this fraction of the time is spent in the gc, aim +  for garbage_ratio_high instead of garbage_ratio_low.</p> + </text></group><group><member><type><float/></type><index>"garbage_ratio_high"</index></member><text><p>Upper limit for the garbage ratio - run the gc as often as it +  takes to keep it below this.</p> + </text></group><group><member><type><float/></type><index>"min_gc_time_ratio"</index></member><text><p>This puts an upper limit on the gc interval, in addition to the +  factors above. It is specified as the minimum amount of time +  spent doing gc, as a factor of the total time. The reason for +  this limit is that the current amount of garbage can only be +  measured in a gc run, and if the gc starts to run very seldom +  due to very little garbage, it might get too slow to react to an +  increase in garbage generation. Set to 0.0 to turn this limit +  off.</p> + </text></group><group><member><type><float/></type><index>"average_slowness"</index></member><text><p>When predicting the next gc interval, use a decaying average +  with this slowness factor. It should be a value between 0.0 and +  1.0 that specifies the weight to give to the old average value. +  The remaining weight up to 1.0 is given to the last reading.</p> + </text></group><group><member><type><function><returntype><void/></returntype></function></type><index>"pre_cb"</index></member><text><p>This function is called when the gc starts.</p> + </text></group><group><member><type><function><returntype><void/></returntype></function></type><index>"post_cb"</index></member><text><p>This function is called when the mark and sweep pass of the gc +  is done.</p> + </text></group><group><member><type><function><argtype><object resolved='predef::Pike.gc_parameters'/></argtype><argtype><int/></argtype><argtype><int/></argtype><returntype><void/></returntype></function></type><index>"destruct_cb"</index></member><text><p>This function is called once for each object that is part of +  a cycle just before the gc will destruct it. +  The arguments are:</p> + <dl><group><item/><text><p>The object to be destructed.</p> + </text></group><group><item/><text><p>The reason for it being destructed. One of:</p> + <int><group><value>Object.DESTRUCT_CLEANUP</value><text><p>Destructed during exit.</p> + </text></group><group><value>Object.DESTRUCT_GC</value><text><p>Destructed during normal implicit or explicit <ref resolved='predef::gc'>gc()</ref>.</p> + </text></group></int></text></group><group><item/><text><p>The number of references it had.</p> + </text></group></dl></text></group><group><member><type><function><argtype><int/></argtype><returntype><void/></returntype></function></type><index>"done_cb"</index></member><text><p>This function is called when the gc is done and about to exit. +  The argument is the same value as will be returned by gc().</p> + </text></group></mapping> + </text><group><seealso/><text><p><ref resolved='predef::gc'>gc</ref>, <ref resolved='predef::Debug.gc_status'>Debug.gc_status</ref></p> + </text></group></doc> + <method name='gc_parameters'> + <arguments><argument name='params'><type><or><void/><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></or></type></argument></arguments> + <returntype><mapping><indextype><string/></indextype><valuetype><float/></valuetype></mapping></returntype> + </method> + </docgroup>   <docgroup homogen-name='get_first_arg_type' homogen-type='method'><doc><text><p>Check if a function of the type <ref resolved='predef::Pike.get_first_arg_type.fun_type'>fun_type</ref> may be called    with an argument, and return the type of that argument.</p>   </text><group><returns/><text><p>Returns the expected type of the first argument to the function.</p>   <p> Returns <tt>0</tt> (zero) if a function of the type <ref resolved='predef::Pike.get_first_arg_type.fun_type'>fun_type</ref>    may not be called with any argument, or if it is not callable.</p>   </text></group></doc>   <method name='get_first_arg_type'>   <arguments><argument name='fun_type'><type><type><mixed/></type></type></argument></arguments>   <returntype><type><mixed/></type></returntype>   </method>
autodoc.git/autodoc.xml:98817:   <docgroup homogen-name='get_return_type' homogen-type='method'><doc><text><p>Check what a function of the type <ref resolved='predef::Pike.get_return_type.fun_type'>fun_type</ref> will    return if called with no arguments.</p>   </text><group><returns/><text><p>Returns the type of the returned value on success</p>   <p> Returns <tt>0</tt> (zero) on failure.</p>   </text></group></doc>   <method name='get_return_type'>   <arguments><argument name='fun_type'><type><type><mixed/></type></type></argument></arguments>   <returntype><type><mixed/></type></returntype>   </method>   </docgroup> + <docgroup homogen-name='get_runtime_info' homogen-type='method'><doc><text><p>Get information about the Pike runtime.</p> + </text><group><returns/><text><p>Returns a mapping with the following content:</p> + <mapping><group><member><type><string/></type><index>"bytecode_method"</index></member><text><p>A string describing the bytecode method used by +  the Pike interpreter.</p> + </text></group><group><member><type><int/></type><index>"abi"</index></member><text><p>The number of bits in the ABI. Usually <expr>32</expr> or <expr>64</expr>.</p> + </text></group><group><member><type><int/></type><index>"native_byteorder"</index></member><text><p>The byte order used by the native cpu. +  Usually <expr>1234</expr> (aka little endian) or +  <expr>4321</expr> (aka bigendian).</p> + </text></group><group><member><type><int/></type><index>"int_size"</index></member><text><p>The number of bits in the native integer type. +  Usually <expr>32</expr> or <expr>64</expr>.</p> + </text></group><group><member><type><int/></type><index>"time_size"</index></member><text><p>The number of bits in the native <tt>time_t</tt> type. +  This is typically the same value as <expr>"int_size"</expr>.</p> + </text></group><group><member><type><int/></type><index>"float_size"</index></member><text><p>The number of bits in the native floating point type. +  Usually <expr>32</expr> or <expr>64</expr>.</p> + </text></group><group><member><type><int><min>1</min><max>1</max></int></type><index>"auto_bignum"</index></member><text><p>Integers larger than the native size are now always +  automatically converted into bignums.</p> + </text></group></mapping></text></group></doc> + <method name='get_runtime_info'> + <arguments/> + <returntype><mapping><indextype><string/></indextype><valuetype><or><int/><string/></or></valuetype></mapping></returntype> + </method> + </docgroup>   <docgroup homogen-name='get_type_attributes' homogen-type='method'><doc><text><p>Get the attribute markers for a type.</p>   </text><group><returns/><text><p>Returns an array with the attributes for the type <ref resolved='predef::Pike.get_type_attributes.t'>t</ref>.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Pike.get_return_type'>get_return_type()</ref>, <ref resolved='predef::Pike.get_first_arg_type'>get_first_arg_type()</ref></p>   </text></group></doc>   <method name='get_type_attributes'>   <arguments><argument name='t'><type><type><mixed/></type></type></argument></arguments>   <returntype><array><valuetype><string/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='identify_cycle' homogen-type='method'><doc><text><p>Identify reference cycles in Pike datastructures.</p>
autodoc.git/autodoc.xml:98881:   <returntype><type><mixed/></type></returntype>   </method>   </docgroup>   <docgroup homogen-name='soft_cast' homogen-type='method'><doc><text><p>Return the resulting type from a soft cast of <ref resolved='predef::Pike.soft_cast.from'>from</ref> to <ref resolved='predef::Pike.soft_cast.to'>to</ref>.</p>   </text></doc>   <method name='soft_cast'>   <arguments><argument name='to'><type><type><mixed/></type></type></argument><argument name='from'><type><type><mixed/></type></type></argument></arguments>   <returntype><type><mixed/></type></returntype>   </method>   </docgroup> + <class name='Annotation'> + <doc><text><p>This class describes the API that the compiler +  expects for the annotation syntax.</p> + </text><group><note/><text><p>Classes implementing this API typically need +  to be marked <tt>constant</tt>.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::Pike.Annotations'>Annotations</ref></p> + </text></group></doc> + <docgroup homogen-name='end_pass' homogen-type='method'><doc><text><p>Callback called by the compiler when it is finishing a compilation pass.</p> + </text><group><param name='pass'/><text><p>Compilation pass.</p> + </text></group><group><param name='prog'/><text><p>Program being compiled.</p> + </text></group><group><param name='compiler'/><text><p><ref resolved='predef::CompilerEnvironment.PikeCompiler'>CompilerEnvironment.PikeCompiler</ref> state for the compiler.</p> + </text></group></doc> + <method name='end_pass'><modifiers><optional/></modifiers> + <arguments><argument name='pass'><type><int/></type></argument><argument name='prog'><type><program/></type></argument><argument name='compiler'><type><object resolved='predef::CompilerEnvironment.PikeCompiler'>CompilerEnvironment.PikeCompiler</object></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + </class>   <module name='Annotations'>   <doc><text><p>This module contains the set of annotations that the compiler    and runtime care about.</p>   </text></doc> -  + <docgroup homogen-name='AutoCodec' homogen-type='constant'><doc><text><p>This <ref resolved='predef::Pike.Annotation'>Annotation</ref> causes the compiler to automatically +  add an implementation of <ref>_encode()</ref> that returns +  an array with suitable arguments to <ref resolved='lfun::create'>lfun::create</ref>.</p> + </text><group><note/><text><p>This annotation is only useful for classes that +  use the implicit create()-syntax, or have a create() +  that doesn't need any arguments.</p> + </text></group></doc> + <constant name='AutoCodec'/> + </docgroup> + <docgroup homogen-name='Inherited' homogen-type='constant'><doc><text><p>This <ref resolved='predef::Pike.Annotation'>Annotation</ref> informs the compiler that any <ref resolved='predef::Pike.Annotation'>Annotation</ref> +  marked with it is to be inherited. The default is that annotations +  on classes are not inherited.</p> + </text></doc> + <constant name='Inherited'/> + </docgroup> + <class name='AutoCodecClass'> + <doc><text><p>This is the class that implements the <ref resolved='predef::Pike.Annotations.AutoCodec'>AutoCodec</ref> annotstion.</p> + </text></doc> + <docgroup homogen-name='Annotation' homogen-type='inherit'> + <inherit name='Annotation'><classname resolved='predef::Pike.Annotation'>Annotation</classname></inherit> + </docgroup> + </class> + <class name='Implements'> + <doc><text><p>This annotation causes the compiler to validate that +  the annotated class implements the specified API.</p> + </text></doc> + <docgroup homogen-name='Annotation' homogen-type='inherit'> + <inherit name='Annotation'><classname resolved='predef::Pike.Annotation'>Pike.Annotation</classname></inherit> + </docgroup> + </class> + <class name='InheritedClass'> + <doc><text><p>This is the class for the <ref resolved='predef::Pike.Annotations.Inherited'>Inherited</ref> annotation.</p> + </text></doc> + <docgroup homogen-name='Annotation' homogen-type='inherit'> + <inherit name='Annotation'><classname resolved='predef::Pike.Annotation'>Pike.Annotation</classname></inherit> + </docgroup> + </class>   </module> -  + <class name='BacktraceFrame'> + <docgroup homogen-name='_is_type' homogen-type='method'><doc><text><p>This object claims to be an array for backward compatibility.</p> + </text></doc> + <method name='_is_type'> + <arguments><argument name='t'><type><string/></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='_sizeof' homogen-type='method'> + <method name='_sizeof'> + <arguments/> + <returntype><int><min>3</min><max/></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='_sprintf' homogen-type='method'> + <method name='_sprintf'> + <arguments><argument name='c'><type><int/></type></argument><argument name='opts'><type><or><mapping/><void/></or></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='`[]' homogen-type='method'><doc><text><p>The BacktraceFrame object can be indexed as an array.</p> + </text></doc> + <method name='`[]'> + <arguments><argument name='index'><type><int/></type></argument><argument name='end_or_none'><type><or><int/><void/></or></type></argument></arguments> + <returntype><mixed/></returntype> + </method> + </docgroup> + <docgroup homogen-name='`[]=' homogen-type='method'> + <method name='`[]='> + <arguments><argument name='index'><type><int/></type></argument><argument name='value'><type><mixed/></type></argument></arguments> + <returntype><mixed/></returntype> + </method> + </docgroup> + </class>         <module name='DefaultBackend'>   <doc><text><p>This is the <ref resolved='predef::Pike.Backend'>Backend</ref> object that files and call_outs are    handled by by default.</p>   <p> This is also the <ref resolved='predef::Pike.Backend'>Backend</ref> object that will be used if <ref>main()</ref>    returns <expr>-1</expr>.</p>   </text><group><seealso/><text><p><ref resolved='predef::Pike.Backend'>Backend</ref>, <ref resolved='predef::Stdio.File.set_nonblocking'>Stdio.File()-&gt;set_nonblocking()</ref>, <ref resolved='predef::call_out'>call_out()</ref></p>   </text></group></doc>   </module>    -  + <class name='FakeObject'> + <doc><text><p>Used as a place holder in eg backtraces for objects that +  are unsuitable to have references to in backtraces.</p> + <p> Examples of such objects are instances of <ref resolved='predef::Thread.MutexKey'>Thread.MutexKey</ref>, +  and <ref resolved='predef::Nettle.Cipher.State'>Nettle.Cipher.State</ref>.</p> + </text><group><seealso/><text><p><ref resolved='predef::backtrace'>backtrace()</ref></p> + </text></group></doc> + </class>   <module name='Lazy'>   <doc><text><p>This module provides lazy resolving of functions.</p>   </text><group><example/><text><p>The expression <expr>Pike.Lazy.Standards.JSON.decode</expr> will    evaluate to <ref resolved='predef::Standards.JSON.decode'>Standards.JSON.decode</ref>, but the resolution    (and associated compilation) of <ref resolved='predef::Standards.JSON'>Standards.JSON</ref> will be    delayed until the first time that the expression is evaluated.</p>   </text></group><group><note/><text><p>Note that this destroys type information and delays resolver errors.</p>   <p> Typical use is to break circular compilation dependencies between modules.</p>   </text></group></doc>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   </module> -  + <class name='LiveBacktraceFrame'> + <doc><text><p>A <ref resolved='predef::Pike.BacktraceFrame'>BacktraceFrame</ref> which retains access to the running code.</p> + <p> This means that unless the corresponding thread running the code +  is halted (or similar), the values in the fields contained in +  this object may change at any time.</p> + <p> On the other hand it allows for inspection and altering of +  the local variables (if any) belonging to the frame. Typical +  use of this would be for debugging.</p> + </text><group><seealso/><text><p><ref resolved='predef::Pike.BacktraceFrame'>BacktraceFrame</ref></p> + </text></group></doc> + <docgroup homogen-name='_is_type' homogen-type='method'><doc><text><p>This object claims to be an array for backward compatibility.</p> + </text></doc> + <method name='_is_type'> + <arguments><argument name='t'><type><string/></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='_sizeof' homogen-type='method'> + <method name='_sizeof'> + <arguments/> + <returntype><int><min>3</min><max/></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='`[]' homogen-type='method'><doc><text><p>The BacktraceFrame object can be indexed as an array.</p> + </text></doc> + <method name='`[]'> + <arguments><argument name='index'><type><int/></type></argument><argument name='end_or_none'><type><or><int/><void/></or></type></argument></arguments> + <returntype><mixed/></returntype> + </method> + </docgroup> + </class>   <class name='PollBackend'>   <doc><text><p><ref resolved='predef::Pike.Backend'>Backend</ref> implemented with <tt>poll(2)</tt> (SVr4, POSIX).</p>   </text><group><seealso/><text><p><ref resolved='predef::Pike.Backend'>Backend</ref></p>   </text></group></doc>   <docgroup homogen-name='`()' homogen-type='method'><doc><text><p>Perform one pass through the backend.</p>   <p> Calls any outstanding call-outs and non-blocking I/O    callbacks that are registred in this backend object.</p>   </text><group><param name='sleep_time'/><text><p>Wait at most <ref resolved='predef::Pike.PollBackend.`().sleep_time'>sleep_time</ref> seconds. The default when    unspecified or the integer <expr>0</expr> is no time limit.</p>   </text></group><group><returns/><text><p>If the backend did call any callbacks or call outs then the
autodoc.git/autodoc.xml:99818:    statement ("<expr>/bin/sh -c <ref resolved='predef::Process.spawn.command'>command</ref></expr>" for Unix, "<expr>cmd /c    <ref resolved='predef::Process.spawn.command'>command</ref></expr>" for Windows).</p>   </text><group><param name='stdin'/><param name='stdout'/><param name='stderr'/><text><p>Stream objects to use as standard input, standard output and    standard error, respectively, for the created process. The    corresponding streams for this process are used for those that    are left out.</p>   </text></group><group><returns/><text><p>Returns a <ref resolved='predef::Process.Process'>Process.Process</ref> object for the created process.</p>   </text></group><group><seealso/><text><p><ref resolved='predef::Process.system'>system</ref>, <ref resolved='predef::Process.popen'>popen</ref></p>   </text></group></doc>   <method name='spawn'> - <arguments><argument name='command'><type><string/></type></argument><argument name='stdin'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='stdout'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='stderr'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument><value/></argument></arguments> + <arguments><argument name='command'><type><string/></type></argument><argument name='stdin'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='stdout'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument><argument name='stderr'><type><or><void/><object resolved='predef::Stdio.Stream'>Stdio.Stream</object></or></type></argument></arguments>   <returntype><object resolved='predef::Process.Process'>Process</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='spawn_pike' homogen-type='method'><doc><text><p>Spawn a new pike process similar to the current.</p>   </text><group><param name='argv'/><text><p>Arguments for the new process.</p>   </text></group><group><param name='options'/><text><p>Process creation options. See <ref resolved='predef::Process.Process'>Process.Process</ref> for details. May also    specify "add_predefines", "add_program_path", or "add_include_path" in    order to include these components in command path (module path is    included by default.)</p>   </text></group><group><param name='launcher'/><text><p>Optional launcher prefix command used to spawn the pike binary.</p>
autodoc.git/autodoc.xml:100230:    b,    c,    a    })</p>   </text></group></doc>   <method name='all_inherits'>   <arguments><argument name='p'><type><program/></type></argument></arguments>   <returntype><array><valuetype><program/></valuetype></array></returntype>   </method>   </docgroup> + <docgroup homogen-name='defined' homogen-type='method'><doc><text><p>Returns a string with filename and linenumber describing where +  the program <ref resolved='predef::Program.defined.p'>p</ref> was defined.</p> + <p> The returned string is of the format <expr>"filename:linenumber"</expr>.</p> + <p> If it cannot be determined where the program was defined, <expr>0</expr> +  (zero) will be returned.</p> + </text></doc> + <method name='defined'> + <arguments><argument name='p'><type><program/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup>   <docgroup homogen-name='defined' homogen-type='method'><doc><text><p>Returns a string with filename and linenumber where <ref>idenfifier</ref>    in <ref resolved='predef::Program.defined.x'>x</ref> was defined.</p>   <p> Returns <expr>0</expr> (zero) when no line can be found, e.g. for    builtin functions.</p>   <p> If <ref>idenfier</ref> can not be found in <ref resolved='predef::Program.defined.x'>x</ref> this function returns    where the program is defined.</p>   </text></doc>   <method name='defined'>   <arguments><argument name='x'><type><program/></type></argument><argument name='identifier'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='implements' homogen-type='method'><doc><text><p>Returns 1 if <ref resolved='predef::Program.implements.prog'>prog</ref> implements <ref resolved='predef::Program.implements.api'>api</ref>.</p> + </text></doc> + <method name='implements'> + <arguments><argument name='prog'><type><program/></type></argument><argument name='api'><type><program/></type></argument></arguments> + <returntype><int/></returntype> + </method> + </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='inherit_list' homogen-type='method'><doc><text><p>Returns an array with the programs that <ref resolved='predef::Program.inherit_list.p'>p</ref> has inherited.</p>   </text></doc>   <method name='inherit_list'>   <arguments><argument name='p'><type><program/></type></argument></arguments>   <returntype><array><valuetype><program/></valuetype></array></returntype>   </method>   </docgroup>
autodoc.git/autodoc.xml:100279:    program    })    })    })</p>   </text></group></doc>   <method name='inherit_tree'>   <arguments><argument name='p'><type><program/></type></argument></arguments>   <returntype><array/></returntype>   </method>   </docgroup> + <docgroup homogen-name='inherits' homogen-type='method'><doc><text><p>Returns 1 if <ref resolved='predef::Program.inherits.child'>child</ref> has inherited <ref resolved='predef::Program.inherits.parent'>parent</ref>.</p> + </text></doc> + <method name='inherits'> + <arguments><argument name='child'><type><or><program/><object resolved='predef::Program.inherits'/></or></type></argument><argument name='parent'><type><program/></type></argument></arguments> + <returntype><int/></returntype> + </method> + </docgroup>   </module>   <module name='Protocols'>   <module name='Bittorrent'>   <module name='Bencoding'>   <docgroup homogen-name='bits2string' homogen-type='method'><doc><text><p>Convert an array of <expr>int(0..1)</expr> to a Bittorrent style    bitstring. Input will be padded to even bytes.</p>   </text></doc>   <method name='bits2string'>   <arguments><argument name='v'><type><array><valuetype><int><min>0</min><max>1</max></int></valuetype></array></type></argument></arguments>   <returntype><string/></returntype>
autodoc.git/autodoc.xml:102090:   <returntype><object resolved='predef::Protocols.DNS.client.Request'>Request</object></returntype>   </method>   </docgroup>   </class>   <class name='async_dual_client'>   <doc><text><p>Both an <ref resolved='predef::Protocols.DNS.async_client'>async_client</ref> and an <ref resolved='predef::Protocols.DNS.async_tcp_client'>async_tcp_client</ref>.</p>   </text></doc>   <docgroup homogen-name='do_query' homogen-type='method'>   <method name='do_query'>   <arguments><argument name='domain'><type><string/></type></argument><argument name='cl'><type><int/></type></argument><argument name='type'><type><int/></type></argument><argument name='callback'><type><function><argtype><string/></argtype><argtype><mapping/></argtype><argtype><varargs><mixed/></varargs></argtype><returntype><void/></returntype></function></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments> - <returntype><object resolved='predef::Protocols.DNS.async_tcp_client.Request'>Request</object></returntype> + <returntype><object resolved='predef::Protocols.DNS.client.Request'>Request</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='TCP' homogen-type='inherit'>   <inherit name='TCP'><classname resolved='predef::Protocols.DNS.async_tcp_client'>async_tcp_client</classname></inherit>   </docgroup>   <docgroup homogen-name='UDP' homogen-type='inherit'>   <inherit name='UDP'><classname resolved='predef::Protocols.DNS.async_client'>async_client</classname></inherit>   </docgroup>   </class>   <class name='async_tcp_client'>
autodoc.git/autodoc.xml:110380:    generate independent random values.</p>   </text></doc>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='RandomSystem' homogen-type='inherit'>   <inherit name='RandomSystem'><classname>Builtin.RandomSystem</classname></inherit>   </docgroup>   </class>   </module> + <class name='RandomInterface'> + <docgroup homogen-name='random' homogen-type='method'><doc><text><p>Returns a random index-value pair from the mapping.</p> + <array><group><elem><type><mixed/></type><index>0</index></elem><text><p>The index of the mapping entry.</p> + </text></group><group><elem><type><mixed/></type><index>1</index></elem><text><p>The value f the mapping entry.</p> + </text></group></array> + </text><group><throws/><text><p>Throws an exception if the mapping is empty.</p> + </text></group></doc> + <method name='random'> + <arguments><argument name='m'><type><mapping/></type></argument></arguments> + <returntype><array/></returntype> + </method> + </docgroup> + <docgroup homogen-name='random' homogen-type='method'><doc><text><p>This function returns a random number in the range +  <expr>0 .. <ref resolved='predef::RandomInterface.random.max'>max</ref>-ɛ</expr>.</p> + </text><group><seealso/><text><p><ref resolved='predef::Random'>Random</ref></p> + </text></group></doc> + <method name='random'> + <arguments><argument name='max'><type><float/></type></argument></arguments> + <returntype><float/></returntype> + </method> + </docgroup> + <docgroup homogen-name='random' homogen-type='method'><doc><text><p>This function returns a random number in the range +  <expr>0 .. <ref resolved='predef::RandomInterface.random.max'>max</ref>-1</expr>.</p> + </text><group><seealso/><text><p><ref resolved='predef::Random'>Random</ref></p> + </text></group></doc> + <method name='random'> + <arguments><argument name='max'><type><int/></type></argument></arguments> + <returntype><int/></returntype> + </method> + </docgroup> + <docgroup homogen-name='random' homogen-type='method'><doc><text><p>If random is called with an object, <ref resolved='lfun::_random'>lfun::_random</ref> will be +  called in the object.</p> + </text><group><throws/><text><p>Throws an exception if the object doesn't have a _random method.</p> + </text></group><group><seealso/><text><p><ref resolved='lfun::_random'>lfun::_random()</ref></p> + </text></group></doc> + <method name='random'> + <arguments><argument name='o'><type><object resolved='predef::RandomInterface.random'/></type></argument></arguments> + <returntype><mixed/></returntype> + </method> + </docgroup> + <docgroup homogen-name='random' homogen-type='method'><doc><text><p>Returns a random element from <ref resolved='predef::RandomInterface.random.x'>x</ref>.</p> + </text><group><throws/><text><p>Throws an exception if the array or multiset is empty.</p> + </text></group></doc> + <method name='random'> + <arguments><argument name='x'><type><or><array/><multiset/></or></type></argument></arguments> + <returntype><mixed/></returntype> + </method> + </docgroup> + <docgroup homogen-name='random_string' homogen-type='method'><doc><text><p>Prototype for the randomness generating function.</p> + <p> Override this symbol to implement a usable class.</p> + </text></doc> + <method name='random_string'> + <arguments><argument><type><int><min>0</min><max/></int></type></argument></arguments> + <returntype><string><min>0</min><max>255</max></string></returntype> + </method> + </docgroup> + </class> + <class name='RandomSystem'> + <docgroup homogen-name='RandomInterface' homogen-type='inherit'> + <inherit name='RandomInterface'><classname resolved='predef::RandomInterface'>RandomInterface</classname></inherit> + </docgroup> + <docgroup homogen-name='random_string' homogen-type='method'><doc><text><p>Return a string of random data from the system randomness pool.</p> + <p> On POSIX platforms this reads random data from <tt>/dev/urandom</tt> +  on other platforms it may use other methods.</p> + </text><group><throws/><text><p>May throw errors on unexpected state.</p> + </text></group></doc> + <method name='random_string'> + <arguments><argument name='len'><type><int><min>0</min><max/></int></type></argument></arguments> + <returntype><string><min>0</min><max>255</max></string></returntype> + </method> + </docgroup> + </class>   <module name='Regexp'>   <docgroup homogen-name='`()' homogen-type='method'><doc><text><p>Convenience/compatibility method to get a <ref resolved='predef::Regexp.SimpleRegexp'>SimpleRegexp</ref> object.</p>   </text></doc>   <method name='`()'>   <arguments><argument name='regexp'><type><or><void/><string/></or></type></argument></arguments>   <returntype><object resolved='predef::Regexp.SimpleRegexp'>SimpleRegexp</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>
autodoc.git/autodoc.xml:111474:   <docgroup homogen-name='sctx' homogen-type='variable'><doc><text><p>Server context.</p>   </text></doc>   <variable name='sctx'><type><object resolved='predef::Remote.Server.Minicontext'>Minicontext</object></type></variable>   </docgroup>   <class name='Minicontext'>   <doc><text><p>The server <ref resolved='predef::Remote.Context'>Context</ref> class.</p>   </text></doc>   </class>   </class>   </module> + <class name='Replace'> + <doc><text><p>This is a "compiled" version of the <ref resolved='predef::replace'>replace</ref> function applied on +  a string, with more than one replace string. The replace strings +  are given to the create method as a <i>from</i> and <i>to</i> array +  and are then analyzed. The <expr>`()</expr> is then called with a +  string and the replace rules in the Replace object will be +  applied. The Replace object is used internally by the Pike +  optimizer and need not be used manually.</p> + </text></doc> + <docgroup homogen-name='_decode' homogen-type='method'> + <method name='_decode'> + <arguments><argument name='encoded'><type><array><valuetype><array><valuetype><string/></valuetype></array></valuetype></array></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='_encode' homogen-type='method'> + <method name='_encode'> + <arguments/> + <returntype><array><valuetype><array><valuetype><string/></valuetype></array></valuetype></array></returntype> + </method> + </docgroup> + <docgroup homogen-name='`()' homogen-type='method'> + <method name='`()'> + <arguments><argument name='str'><type><string/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='create' homogen-type='method'> + <method name='create'> + <arguments/> + <returntype><void/></returntype> + </method> + <method name='create'> + <arguments><argument><type><mapping><indextype><string/></indextype><valuetype><string/></valuetype></mapping></type></argument></arguments> + <returntype><void/></returntype> + </method> + <method name='create'> + <arguments><argument name='from'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='to'><type><or><array><valuetype><string/></valuetype></array><string/></or></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + </class> + <class name='Reporter'> + <doc><text><p>API for reporting parse errors and similar.</p> + </text></doc> + <docgroup homogen-name='report' homogen-type='method'><doc><text><p>Report a diagnostic from the compiler.</p> + </text><group><param name='severity'/><text><p>The severity of the diagnostic.</p> + </text></group><group><param name='filename'/><param name='linenumber'/><text><p>Location which triggered the diagnostic.</p> + </text></group><group><param name='subsystem'/><text><p>Compiler subsystem that generated the diagnostic.</p> + </text></group><group><param name='message'/><text><p><ref resolved='predef::sprintf'>sprintf()</ref>-style formatting string with the diagnostic message.</p> + </text></group><group><param name='extra_args'/><text><p>Extra arguments to <ref resolved='predef::sprintf'>sprintf()</ref>.</p> + <p> The default implementation does the following:</p> + <ul><group><item/><text><p>If there's a <ref>MasterObject()-&gt;report()</ref>, call it +  with the same arguments as ourselves.</p> + </text></group><group><item/><text><p>Otherwise depending on <ref resolved='predef::Reporter.report.severity'>severity</ref>:</p> + <int><group><value>NOTICE</value><text><p>Ignored.</p> + </text></group><group><value>WARNING</value><text><p>Calls <ref resolved='predef::MasterObject.compile_warning'>MasterObject()-&gt;compile_warning()</ref>.</p> + </text></group><group><value>ERROR</value><value>FATAL</value><text><p>Calls <ref resolved='predef::MasterObject.compile_error'>MasterObject()-&gt;compile_error()</ref>.</p> + </text></group></int></text></group></ul><p>If there's no master object yet, the diagnostic is output to +  <ref resolved='predef::Stdio.stderr'>Stdio.stderr</ref>.</p> + </text></group><group><note/><text><p>In Pike 7.8 and earlier <ref>MasterObject()-&gt;report()</ref> was not called.</p> + </text></group><group><seealso/><text><p><ref>PikeCompiler()-&gt;report()</ref></p> + </text></group></doc> + <method name='report'> + <arguments><argument name='severity'><type><object resolved='predef::Reporter.SeverityLevel'>SeverityLevel</object></type></argument><argument name='filename'><type><string/></type></argument><argument name='linenumber'><type><int><min>1</min><max/></int></type></argument><argument name='subsystem'><type><string/></type></argument><argument name='message'><type><string/></type></argument><argument name='extra_args'><type><varargs><mixed/></varargs></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <enum name='SeverityLevel'> + <doc><text><p>Message severity level. +  { NOTICE, WARNING, ERROR, FATAL }</p> + </text><group><seealso/><text><p><ref resolved='predef::Reporter.report'>report()</ref></p> + </text></group></doc> + <docgroup homogen-type='constant'><constant name='NOTICE'/><constant name='WARNING'/><constant name='ERROR'/><constant name='FATAL'/></docgroup> + </enum> + </class>   <module name='SANE'>   <doc><text><p>This module enables access to the SANE (Scanner Access Now Easy)    library from pike</p>   </text></doc>   <docgroup homogen-type='constant'>   <constant name='FrameGray'/>   <constant name='FrameRGB'/>   <constant name='FrameRed'/>   <constant name='FrameGreen'/>   <constant name='FrameBlue'/>
autodoc.git/autodoc.xml:117910:   <p> When data can be sent, the <ref resolved='predef::Shuffler.Throttler.request.callback'>callback</ref> function should be called    with the amount of data that can be sent as the argument.</p>   </text></doc>   <method name='request'>   <arguments><argument name='shuffle'><type><object resolved='predef::Shuffler.Shuffle'>Shuffle</object></type></argument><argument name='amount'><type><int/></type></argument><argument name='callback'><type><function><argtype><int/></argtype><returntype><void/></returntype></function></type></argument></arguments>   <returntype><void/></returntype>   </method>   </docgroup>   </class>   </module> + <class name='SingleReplace'> + <doc><text><p>This is a "compiled" version of the <ref resolved='predef::replace'>replace</ref> function applied on +  a string, with just one replace string. The replace strings are +  given to the create method as a <i>from</i> and <i>tom</i> string and +  are then analyzed. The <expr>`()</expr> is then called with a string +  and the replace rule in the Replace object will be applied. The +  Replace object is used internally by the Pike optimizer and need +  not be used manually.</p> + </text></doc> + <docgroup homogen-name='_decode' homogen-type='method'> + <method name='_decode'> + <arguments><argument name='encoded'><type><or><array><valuetype><string/></valuetype></array><int><min>0</min><max>0</max></int></or></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='_encode' homogen-type='method'> + <method name='_encode'> + <arguments/> + <returntype><array><valuetype><string/></valuetype></array></returntype> + </method> + </docgroup> + <docgroup homogen-name='`()' homogen-type='method'> + <method name='`()'> + <arguments><argument name='str'><type><string/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='create' homogen-type='method'><doc><group><note/><text><p>May be called with either zero or two arguments.</p> + </text></group></doc> + <method name='create'> + <arguments><argument name='from'><type><or><string/><void/></or></type></argument><argument name='to'><type><or><string/><void/></or></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + </class>   <module name='Sql'>   <doc><text><p>The SQL module is a unified interface between pike and all    its supported databases. The parts of this module that is    usuable for all normal uses is the <ref resolved='predef::Sql.Sql'>Sql</ref> class and the    <ref resolved='predef::Sql.sql_result'>sql_result</ref> class.</p>   </text><group><example/><text><p>string people_in_group(string group) {    Sql.Sql db = Sql.Sql("mysql://localhost/testdb");    return db-&gt;query("SELECT name FROM users WHERE "    "group=%s", group)-&gt;name * ",";    }</p>
autodoc.git/autodoc.xml:122529:    public keys must be set.</p>   </text></group><group><param name='name'/><text><p>The distinguished name for the certificate.</p>   </text></group><group><param name='attributes'/><text><p>Attributes from PKCS #9 to add to the certificate.</p>   </text></group><group><param name='hash'/><text><p>Hash algoritm to use for the CSR signature.    Defaults to <ref resolved='predef::Crypto.SHA256'>Crypto.SHA256</ref>.</p>   </text></group><group><note/><text><p>Prior to Pike 8.0 this function only supported signing    with <ref resolved='predef::Crypto.RSA'>Crypto.RSA</ref> and the default (and only) hash was    <ref resolved='predef::Crypto.MD5'>Crypto.MD5</ref>.</p>   </text></group></doc>   <method name='build_csr'> - <arguments><argument name='sign'><type><object resolved='predef::Crypto.Sign'>Crypto.Sign</object></type></argument><argument name='name'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='attributes'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></array></valuetype></mapping></type></argument><argument name='hash'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument></arguments> + <arguments><argument name='sign'><type><object resolved='predef::Crypto.Sign'>Crypto.Sign</object></type></argument><argument name='name'><type><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></type></argument><argument name='attributes'><type><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Object'>Object</object></valuetype></array></valuetype></mapping></type></argument><argument name='hash'><type><or><object resolved='predef::Crypto.Hash'>Crypto.Hash</object><void/></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup>   <docgroup homogen-name='Types' homogen-type='import'>   <import name='Types'><classname resolved='predef::Standards.ASN1.Types'>Standards.ASN1.Types</classname></import>   </docgroup>   <docgroup homogen-name='sign_cri' homogen-type='method'><doc><text><p>Sign a <ref resolved='predef::Standards.PKCS.CSR.CRI'>CRI</ref> to generate a Certificate Signing Request.</p>
autodoc.git/autodoc.xml:122979:   <p>Setting</p>   <p> The signature.</p>   </text></doc>   <variable name='signature'><type><object resolved='predef::Standards.ASN1.Types.BitString'>BitString</object></type></variable>   </docgroup>   <docgroup homogen-name='tbs' homogen-type='variable'><doc><text><p>Getting</p>   <p> ASN.1 structure that has been signed.</p>   <p>Setting</p>   <p> ASN.1 structure that has been signed.</p>   </text></doc> - <variable name='tbs'><type><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></type></variable> + <variable name='tbs'><type><object resolved='predef::Object'>Object</object></type></variable>   </docgroup>   </class>   </module>   </module>   <module name='TLD'>   <docgroup homogen-name='cc' homogen-type='constant'><doc><text><p>A mapping between country TLDs and the name of the country.</p>   </text></doc>   <constant name='cc'/>   </docgroup>   <docgroup homogen-name='generic' homogen-type='variable'><doc><text><p>A multiset containing the generic TLDs, such as "com" and "info".</p>
autodoc.git/autodoc.xml:123491:   <method name='load_authorities'>   <arguments><argument name='root_cert_dirs'><type><or><string/><array><valuetype><string/></valuetype></array><void/></or></type></argument><argument name='cache'><type><or><int><min>0</min><max>1</max></int><void/></or></type></argument></arguments>   <returntype><mapping><indextype><string/></indextype><valuetype><array><valuetype><object resolved='predef::Standards.X509.Verifier'>Verifier</object></valuetype></array></valuetype></mapping></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_extension' homogen-type='method'><doc><text><p>Creates a certificate extension with the <ref resolved='predef::Standards.X509.make_extension.id'>id</ref> as identifier and    <ref resolved='predef::Standards.X509.make_extension.ext'>ext</ref> as the extension payload. If the <ref resolved='predef::Standards.X509.make_extension.critical'>critical</ref> flag is set    the extension will be marked as critical.</p>   </text></doc>   <method name='make_extension'> - <arguments><argument name='id'><type><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></type></argument><argument name='ext'><type><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></type></argument><argument name='critical'><type><or><void/><int/></or></type></argument></arguments> + <arguments><argument name='id'><type><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></type></argument><argument name='ext'><type><object resolved='predef::Object'>Object</object></type></argument><argument name='critical'><type><or><void/><int/></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='make_selfsigned_certificate' homogen-type='method'><doc><text><p>Creates a selfsigned certificate, i.e. where issuer and subject    are the same entity. This entity is derived from the list of pairs    in <ref resolved='predef::Standards.X509.make_selfsigned_certificate.name'>name</ref>, which is encoded into an distinguished_name by    <ref resolved='predef::Standards.PKCS.Certificate.build_distinguished_name'>Standards.PKCS.Certificate.build_distinguished_name</ref>.</p>   </text><group><param name='c'/><text><p>The public key cipher used for the certificate, <ref resolved='predef::Crypto.RSA'>Crypto.RSA</ref>,    <ref resolved='predef::Crypto.DSA'>Crypto.DSA</ref> or <ref resolved='predef::Crypto.ECC.Curve.ECDSA'>Crypto.ECC.Curve.ECDSA</ref>. The object should be    initialized with both public and private keys.</p>
autodoc.git/autodoc.xml:123775:   </docgroup>   <docgroup homogen-name='ext_subjectKeyIdentifier' homogen-type='variable'><doc><text><p>Set to the value of the SubjectKeyIdentifier if the certificate    contains the subjectKeyIdentifier    extension. <rfc>3280:4.2.1.2</rfc>.</p>   </text></doc>   <variable name='ext_subjectKeyIdentifier'><type><string/></type></variable>   </docgroup>   <docgroup homogen-name='extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group><group><note/><text><p>Read only</p>   </text></group></doc> - <variable name='extensions'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></mapping></type></variable> + <variable name='extensions'><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Object'>Object</object></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='hash' homogen-type='variable'><doc><text><p>Algorithm hash if known and supported.    Otherwise <ref resolved='predef::.UNDEFINED'>UNDEFINED</ref>.</p>   </text><group><note/><text><p>Read only</p>   </text></group></doc>   <variable name='hash'><type><object resolved='predef::Crypto.Hash'>Crypto.Hash</object></type></variable>   </docgroup>   <docgroup homogen-name='Sequence' homogen-type='inherit'>   <inherit name='Sequence'><classname resolved='predef::Standards.ASN1.Types.Sequence'>Sequence</classname></inherit>   </docgroup>   <docgroup homogen-name='init' homogen-type='method'><doc><text><p>Populates the object from a certificate decoded into an ASN.1    Object. Returns the object on success, otherwise <expr>0</expr>. You    probably want to call <ref resolved='predef::Standards.X509.decode_certificate'>decode_certificate</ref> or even    <ref resolved='predef::Standards.X509.verify_certificate'>verify_certificate</ref>.</p>   </text></doc>   <method name='init'> - <arguments><argument name='asn1'><type><or><array/><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></or></type></argument></arguments> + <arguments><argument name='asn1'><type><or><array/><object resolved='predef::Object'>Object</object></or></type></argument></arguments>   <returntype><object resolved='predef::Standards.X509.TBSCertificate'>this_program</object></returntype>   </method>   </docgroup>   <docgroup homogen-name='internal_critical' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc>   <variable name='internal_critical'><modifiers><protected/></modifiers><type><multiset/></type></variable>   </docgroup>   <docgroup homogen-name='internal_extensions' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc> - <variable name='internal_extensions'><modifiers><protected/></modifiers><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Standards.ASN1.Types.Object'>Object</object></valuetype></mapping></type></variable> + <variable name='internal_extensions'><modifiers><protected/></modifiers><type><mapping><indextype><object resolved='predef::Standards.ASN1.Types.Identifier'>Identifier</object></indextype><valuetype><object resolved='predef::Object'>Object</object></valuetype></mapping></type></variable>   </docgroup>   <docgroup homogen-name='issuer' homogen-type='variable'><doc><text><p>Certificate issuer.</p>   </text></doc>   <variable name='issuer'><type><void/></type></variable>   </docgroup>   <docgroup homogen-name='issuer_id' homogen-type='variable'><doc><group><note/><text><p>optional</p>   </text></group></doc>   <variable name='issuer_id'><type><void/></type></variable>   </docgroup>   <docgroup homogen-name='keyinfo' homogen-type='variable'>
autodoc.git/autodoc.xml:129166:   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='common_prefix' homogen-type='method'><doc><text><p>Find the longest common prefix from an array of strings.</p>   </text></doc>   <method name='common_prefix'>   <arguments><argument name='strs'><type><array><valuetype><string/></valuetype></array></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> + <docgroup homogen-name='count' homogen-type='method'><doc><text><p>Count the number of non-overlapping times the string <ref resolved='predef::String.count.needle'>needle</ref> +  occurs in the string <ref resolved='predef::String.count.haystack'>haystack</ref>. The special cases for the needle +  <expr>""</expr> is that it occurs one time in the empty string, zero +  times in a one character string and between every character +  (length-1) in any other string.</p> + </text><group><seealso/><text><p><ref resolved='predef::search'>search()</ref>, <ref resolved='predef::`/'>`/()</ref></p> + </text></group></doc> + <method name='count'> + <arguments><argument name='haystack'><type><string/></type></argument><argument name='needle'><type><string/></type></argument></arguments> + <returntype><int/></returntype> + </method> + </docgroup>   <docgroup homogen-name='expand_tabs' homogen-type='method'><doc><text><p>Expands tabs in a string to ordinary spaces, according to common    tabulation rules.</p>   </text></doc>   <method name='expand_tabs'>   <arguments><argument name='s'><type><string/></type></argument><argument name='tab_width'><type><or><int/><void/></or></type></argument><argument name='substitute_tab'><type><or><string/><void/></or></type></argument><argument name='substitute_space'><type><or><string/><void/></or></type></argument><argument name='substitute_newline'><type><or><string/><void/></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='fuzzymatch' homogen-type='method'><doc><text><p>This function compares two strings using a fuzzy matching    routine. The higher the resulting value, the better the strings match.</p>   </text><group><seealso/><text><p><ref resolved='predef::Array.diff'>Array.diff()</ref>, <ref resolved='predef::Array.diff_compare_table'>Array.diff_compare_table()</ref>    <ref resolved='predef::Array.diff_longest_sequence'>Array.diff_longest_sequence()</ref></p>   </text></group></doc>   <method name='fuzzymatch'>   <arguments><argument name='a'><type><string/></type></argument><argument name='b'><type><string/></type></argument></arguments>   <returntype><int><min>0</min><max>100</max></int></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='hex2string' homogen-type='method'><doc><text><p>Convert a string of hexadecimal digits to binary +  data. Non-hexadecimal characters will be ignored when between +  tuples. Eg. "00 00" is ok, but "0 000" isn't.</p> + </text><group><seealso/><text><p><ref resolved='predef::String.string2hex'>string2hex()</ref></p> + </text></group></doc> + <method name='hex2string'> + <arguments><argument name='hex'><type><string><min>0</min><max>255</max></string></type></argument></arguments> + <returntype><string><min>0</min><max>255</max></string></returntype> + </method> + </docgroup>   <docgroup homogen-name='implode_nicely' homogen-type='method'><doc><text><p>This function implodes a list of words to a readable string, e.g.    <expr>({"straw","berry","pie"})</expr> becomes    <expr>"straw, berry and pie"</expr>. If the separator is omitted, the    default is <expr>"and"</expr>. If the words are numbers they are    converted to strings first.</p>   </text><group><seealso/><text><p><ref resolved='predef::`*'>`*()</ref></p>   </text></group></doc>   <method name='implode_nicely'>   <arguments><argument name='foo'><type><array><valuetype><or><string/><int/><float/></or></valuetype></array></type></argument><argument name='separator'><type><or><string/><void/></or></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='' homogen-type='import'>   <import name=''><classname resolved='predef::'>predef::</classname></import>   </docgroup> -  + <docgroup homogen-name='int2char' homogen-type='method'><doc><text><p>Same as sprintf("%c",x);</p> + </text><group><seealso/><text><p><ref resolved='predef::sprintf'>sprintf()</ref></p> + </text></group></doc> + <method name='int2char'> + <arguments><argument name='x'><type><int/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='int2hex' homogen-type='method'><doc><text><p>Same as <expr>sprintf("%x",x);</expr>, i.e. returns the integer <ref resolved='predef::String.int2hex.x'>x</ref> in +  hexadecimal base using lower cased symbols.</p> + </text><group><seealso/><text><p><ref resolved='predef::sprintf'>sprintf()</ref></p> + </text></group></doc> + <method name='int2hex'> + <arguments><argument name='x'><type><int/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup>   <docgroup homogen-name='int2roman' homogen-type='method'><doc><text><p>Converts the provided integer to a roman integer (i.e. a string).</p>   </text><group><throws/><text><p>Throws an error if <ref resolved='predef::String.int2roman.m'>m</ref> is outside the range 0 to 10000.</p>   </text></group></doc>   <method name='int2roman'>   <arguments><argument name='m'><type><int/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='int2size' homogen-type='method'><doc><text><p>Returns the size as a memory size string with suffix,    e.g. 43210 is converted into "42.2 kB". To be correct
autodoc.git/autodoc.xml:129247:   <p> Note that the cost to compute the Levenshtein distance is roughly    proportional to the product of the two string lengths. So this function    is usually used to aid in fuzzy string matching, when at least one of the    strings is short.</p>   </text></doc>   <method name='levenshtein_distance'>   <arguments><argument name='a'><type><string/></type></argument><argument name='b'><type><string/></type></argument></arguments>   <returntype><int/></returntype>   </method>   </docgroup> + <docgroup homogen-name='normalize_space' homogen-type='method'><doc><group><param name='s'/><text><p>Is returned after white space in it has been normalised. +  White space is normalised by stripping leading and trailing white space +  and replacing sequences of white space characters with a single space.</p> + </text></group><group><param name='whitespace'/><text><p>Defines what is considered to be white space eligible for normalisation. +  It has a default value that starts with <expr>" \t\r\n\v\f"</expr> and in +  addition to that contains all whitespace characters part of Unicode. +  The first character denotes the character for replacing whitespace +  sequences.</p> + </text></group><group><note/><text><p>Trailing and leading whitespace around \r and \n characters +  is stripped as well (only useful if they're not in the <ref resolved='predef::String.normalize_space.whitespace'>whitespace</ref> set).</p> + </text></group><group><note/><text><p>This function is a lot faster with just one argument (i.e. the builtin +  whitespace set has an optimised code path).</p> + </text></group></doc> + <method name='normalize_space'> + <arguments><argument name='s'><type><string/></type></argument><argument name='whitespace'><type><or><string/><void/></or></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='range' homogen-type='method'><doc><text><p>Returns the character range of a string in an array of two +  elements. The first element contains the lower bound and the +  second the upper. The precision is only 8 bits, so for wide +  strings only character blocks are known.</p> + </text></doc> + <method name='range'> + <arguments><argument name='s'><type><string/></type></argument></arguments> + <returntype><array><valuetype><int/></valuetype></array></returntype> + </method> + </docgroup> + <docgroup homogen-name='secure' homogen-type='method'><doc><text><p>Marks the string as secure, which will clear the memory area +  before freeing the string.</p> + </text><group><seealso/><text><p><ref resolved='predef::Object.secure'>Object.secure()</ref></p> + </text></group></doc> + <method name='secure'> + <arguments><argument name='str'><type><string/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup>   <docgroup homogen-name='sillycaps' homogen-type='method'><doc><text><p>Convert the first character in each word (separated by spaces) in    <ref resolved='predef::String.sillycaps.str'>str</ref> to upper case, and return the new string.</p>   </text></doc>   <method name='sillycaps'>   <arguments><argument name='str'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup>   <docgroup homogen-name='soundex' homogen-type='method'><doc><text><p>Returns the soundex value of <ref resolved='predef::String.soundex.word'>word</ref> according to    the original Soundex algorithm, patented by Margaret O´Dell    and Robert C. Russel in 1918. The method is based on the phonetic    classification of sounds by how they are made. It was only intended    for hashing of english surnames, and even at that it isn't that    much of a help.</p>   </text></doc>   <method name='soundex'>   <arguments><argument name='word'><type><string/></type></argument></arguments>   <returntype><string/></returntype>   </method>   </docgroup> -  + <docgroup homogen-name='status' homogen-type='method'><doc><text><p>Get string table statistics.</p> + </text><group><returns/><text><p>Returns a string with an ASCII table containing +  the current string table statistics.</p> + </text></group><group><note/><text><p>Currently returns the empty string (<expr>""</expr>) +  if <ref resolved='predef::String.status.verbose'>verbose</ref> is zero.</p> + </text></group><group><note/><text><p>The formatting and contents of the result +  may vary between different versions of Pike.</p> + </text></group></doc> + <method name='status'> + <arguments><argument name='verbose'><type><int/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='string2hex' homogen-type='method'><doc><text><p>Convert a string of binary data to a hexadecimal string.</p> + </text><group><param name='flags'/><text><p>The binary or of the following flags:</p> + <int><group><value>1</value><text><p>Use upper case characters.</p> + </text></group><group><value>2</value><text><p>The input is in little-endian byte order.</p> + </text></group></int> + </text></group><group><seealso/><text><p><ref resolved='predef::String.hex2string'>hex2string()</ref></p> + </text></group></doc> + <method name='string2hex'> + <arguments><argument name='data'><type><string/></type></argument><argument name='flags'><type><or><void/><int><min>0</min><max/></int></or></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='trim' homogen-type='method'><doc><text><p>Trim leading and trailing white spaces characters (space, tab, +  newline, carriage return, form feed, vertical tab and all the +  white spaces defined in Unicode) from the string <ref resolved='predef::String.trim.s'>s</ref>.</p> + </text></doc> + <method name='trim'> + <arguments><argument name='s'><type><string/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='trim_whites' homogen-type='method'><doc><text><p>Trim leading and trailing spaces and tabs from the string <ref resolved='predef::String.trim_whites.s'>s</ref>.</p> + </text></doc> + <method name='trim_whites'> + <arguments><argument name='s'><type><string/></type></argument></arguments> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='width' homogen-type='method'><doc><text><p>Returns the width of a string.</p> + </text><group><returns/><text><p>Three return values are currently possible:</p> + <int><group><value>8</value><text><p>The string <ref resolved='predef::String.width.s'>s</ref> only contains characters &lt;= 255.</p> + </text></group><group><value>16</value><text><p>The string <ref resolved='predef::String.width.s'>s</ref> only contains characters &lt;= 65535.</p> + </text></group><group><value>32</value><text><p>The string <ref resolved='predef::String.width.s'>s</ref> contains characters &gt;= 65536.</p> + </text></group></int> + </text></group><group><note/><text><p>It is possible that a future version of Pike may return +  further values. In particular the width <expr>7</expr> seems +  like it could be useful.</p> + </text></group></doc> + <method name='width'> + <arguments><argument name='s'><type><string/></type></argument></arguments> + <returntype><or><int><min>8</min><max>8</max></int><int><min>16</min><max>16</max></int><int><min>32</min><max>32</max></int></or></returntype> + </method> + </docgroup>   <class name='Buffer'>   <doc><text><p>A buffer, used for building strings. It's    conceptually similar to a string, but you can only <ref resolved='predef::String.Buffer.add'>add</ref>    strings to it, and you can only <ref resolved='predef::String.Buffer.get'>get</ref> the value from it once.</p>   <p> There is a reason for those seemingly rather odd limitations,    it makes it possible to do some optimizations that really speed    things up.</p>   <p> You do not need to use this class unless you add very many    strings together, or very large strings.</p>   </text><group><example/><text><p>For the fastest possible operation, write your code like this:</p>
autodoc.git/autodoc.xml:131515:   </method>   </docgroup>   <docgroup homogen-name='writeable' homogen-type='method'><doc><text><p>returns 1 if the memory is writeable, 0 if not</p>   </text></doc>   <method name='writeable'>   <arguments/>   <returntype><int><min>0</min><max>1</max></int></returntype>   </method>   </docgroup>   </class> + <class name='TM'> + <doc><text><p>A wrapper for the system struct tm time keeping structure. +  This can be used as a (very) lightweight alternative to Calendar.</p> + </text></doc> + <docgroup homogen-name='asctime' homogen-type='method'><doc><text><p>Return a string representing the time. Mostly useful for debug +  purposes, the exact format is very locale (see +  <ref>Gettext.setlocale</ref>) and OS dependent.</p> + </text></doc> + <method name='asctime'> + <arguments/> + <returntype><string/></returntype> + </method> + </docgroup> + <docgroup homogen-name='cast' homogen-type='method'><doc><text><p>Casted to an integer <ref resolved='predef::System.TM.unix_time'>unix_time</ref> will be returned.</p> + <p> Casting to a string will call <ref resolved='predef::System.TM.asctime'>asctime</ref>.</p> + </text></doc> + <method name='cast'> + <arguments><argument name='to'><type><string/></type></argument></arguments> + <returntype><or><int/><string/></or></returntype> + </method> + </docgroup> + <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Construct a new TM, all fields will be set to 0.</p> + </text></doc> + <method name='create'> + <arguments/> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new <ref resolved='predef::System.TM'>TM</ref> initialized from a unix time_t. +  The timezone will always be UTC when using this function.</p> + </text></doc> + <method name='create'> + <arguments><argument name='t'><type><or><int/><object resolved='predef::Gmp.mpz'>Gmp.mpz</object></or></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='create' homogen-type='method'><doc><text><p>Construct a new time using the given values. +  Slightly faster than setting them individually.</p> + </text></doc> + <method name='create'> + <arguments><argument name='year'><type><int/></type></argument><argument name='mon'><type><int><min>0</min><max>11</max></int></type></argument><argument name='mday'><type><int><min>1</min><max>31</max></int></type></argument><argument name='hour'><type><int><min>0</min><max>24</max></int></type></argument><argument name='min'><type><int><min>0</min><max>59</max></int></type></argument><argument name='sec'><type><int><min>0</min><max>59</max></int></type></argument><argument name='timezone'><type><or><string/><void/></or></type></argument></arguments> + <returntype><void/></returntype> + </method> + </docgroup> + <docgroup homogen-name='gmtime' homogen-type='method'><doc><text><p>Initialize the struct tm to the UTC time for the specified +  unix time_t.</p> + </text></doc> + <method name='gmtime'> + <arguments><argument name='time'><type><int/></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='gmtime' homogen-type='method'><doc><text><p>Initialize the struct tm to the UTC time for the specified +  unix time_t.</p> + </text></doc> + <method name='gmtime'> + <arguments><argument name='time'><type><object resolved='predef::Gmp.mpz'>Gmp.mpz</object></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='gmtoff' homogen-type='variable'><doc><text><p>The offset from GMT for the time in this tm-struct</p> + </text></doc> + <variable name='gmtoff'><type><int/></type></variable> + </docgroup> + <docgroup homogen-type='variable'><doc><text><p>The various fields in the structure. Note that setting these +  might cause other fields to be recalculated, as an example, +  adding 1000 to the hour field would advance the 'mday', 'mon' +  and possibly 'year' fields.</p> + <p> When read the fields are always normalized.</p> + <p> Unlike the system struct tm the 'year' field is not year-1900, +  instead it is the actual year.</p> + </text></doc> + <variable name='sec'><type><int><min>0</min><max>60</max></int></type></variable> + <variable name='min'><type><int><min>0</min><max>59</max></int></type></variable> + <variable name='hour'><type><int><min>0</min><max>59</max></int></type></variable> + <variable name='mday'><type><int><min>1</min><max>31</max></int></type></variable> + <variable name='mon'><type><int><min>0</min><max>11</max></int></type></variable> + <variable name='year'><type><int/></type></variable> + </docgroup> + <docgroup homogen-name='isdst' homogen-type='variable'><doc><text><p>True if daylight-saving is in effect. If this field is -1 +  (the default) it (and the timezone info) will be updated +  automatically using the timezone rules.</p> + </text></doc> + <variable name='isdst'><type><int/></type></variable> + </docgroup> + <docgroup homogen-name='localtime' homogen-type='method'><doc><text><p>Initialize the struct tm to the local time for the specified +  unix time_t.</p> + </text></doc> + <method name='localtime'> + <arguments><argument name='time'><type><int/></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='strftime' homogen-type='method'><doc><group><seealso/><text><p><ref resolved='predef::System.TM.strftime'>strftime</ref>, <ref>Gettext.setlocale</ref></p> + </text></group></doc> + <method name='strftime'> + <arguments><argument name='format'><type><string><min>1</min><max>255</max></string></type></argument></arguments> + <returntype><string><min>1</min><max>255</max></string></returntype> + </method> + </docgroup> + <docgroup homogen-name='strptime' homogen-type='method'><doc><group><note/><text><p>The <expr>format</expr> and <expr>data</expr> are reversed.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::System.TM.strptime'>strptime</ref></p> + </text></group></doc> + <method name='strptime'> + <arguments><argument name='format'><type><string><min>1</min><max>255</max></string></type></argument><argument name='data'><type><string><min>1</min><max>255</max></string></type></argument></arguments> + <returntype><int><min>0</min><max>1</max></int></returntype> + </method> + </docgroup> + <docgroup homogen-name='unix_time' homogen-type='method'><doc><text><p>Return the unix time corresponding to this time_t. If no time +  can be parsed from the structure -1 is returned.</p> + </text></doc> + <method name='unix_time'> + <arguments/> + <returntype><int/></returntype> + </method> + </docgroup> + <docgroup homogen-name='wday' homogen-type='variable'><doc><text><p>The day of the week, sunday is 0, saturday is 6. +  This is calculated from the other fields and can not be changed directly.</p> + </text></doc> + <variable name='wday'><type><int/></type></variable> + </docgroup> + <docgroup homogen-name='yday' homogen-type='variable'><doc><text><p>The day of the year, from 0 (the first day) to 365 +  This is calculated from the other fields and can not be changed directly.</p> + </text></doc> + <variable name='yday'><type><int/></type></variable> + </docgroup> + <docgroup homogen-name='zone' homogen-type='variable'><doc><text><p>The timezone of this structure</p> + </text></doc> + <variable name='zone'><type><string/></type></variable> + </docgroup> + </class>   <module name='Wnotify'>   <doc><text><p>An interface to Windows filesystem change information.</p>   </text></doc>   <docgroup homogen-name='FILE_NOTIFY_CHANGE_ATTRIBUTES' homogen-type='constant'>   <constant name='FILE_NOTIFY_CHANGE_ATTRIBUTES'/>   </docgroup>   <docgroup homogen-name='FILE_NOTIFY_CHANGE_DIR_NAME' homogen-type='constant'>   <constant name='FILE_NOTIFY_CHANGE_DIR_NAME'/>   </docgroup>   <docgroup homogen-name='FILE_NOTIFY_CHANGE_FILE_NAME' homogen-type='constant'>
autodoc.git/autodoc.xml:132305:   </text><group><param name='flags'/><text><p>A bit mask of flags affecting generation of the backtrace.</p>   <p> Currently a single flag is defined:</p>   <int><group><value>1</value><text><p>Return <ref>LiveBacktraceFrame</ref>s. This flag causes the frame    objects to track changes (as long as they are in use), and    makes eg local variables for functions available for    inspection or change.</p>   <p> Note that since these values are "live", they may change or    dissapear at any time unless the corresponding thread has    been halted or similar.</p>   </text></group></int> - </text></group><group><returns/><text><p>The result has the same format as for <ref>predef::backtrace()</ref>.</p> - </text></group><group><seealso/><text><p><ref>predef::backtrace()</ref></p> + </text></group><group><returns/><text><p>The result has the same format as for <ref resolved='predef::backtrace'>predef::backtrace()</ref>.</p> + </text></group><group><seealso/><text><p><ref resolved='predef::backtrace'>predef::backtrace()</ref></p>   </text></group></doc>   <method name='backtrace'>   <arguments><argument name='flags'><type><or><int/><void/></or></type></argument></arguments>   <returntype><array><valuetype><mixed/></valuetype></array></returntype>   </method>   </docgroup>   <docgroup homogen-name='create' homogen-type='method'><doc><text><p>This function creates a new thread which will run simultaneously    to the rest of the program. The new thread will call the function    <ref resolved='predef::Thread.Thread.create.f'>f</ref> with the arguments <ref resolved='predef::Thread.Thread.create.args'>args</ref>. When <ref resolved='predef::Thread.Thread.create.f'>f</ref> returns the thread will cease    to exist.</p>
autodoc.git/autodoc.xml:142327:   <docgroup homogen-name='block_size' homogen-type='method'><doc><group><returns/><text><p>The block size of the cipher (<expr>1</expr> for stream ciphers).</p>   <p> Defaults to just returning <expr>global::block_size()</expr>.</p>   </text></group></doc>   <method name='block_size'>   <arguments/>   <returntype><int><min>0</min><max/></int></returntype>   </method>   </docgroup>   <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>Encrypts or decrypts data, using the current key. Neither the    input nor output data is automatically memory scrubbed, -  unless <ref>String.secure</ref> has been called on them.</p> +  unless <ref resolved='predef::String.secure'>String.secure</ref> has been called on them.</p>   </text><group><param name='data'/><text><p>For block ciphers, data must be an integral number of blocks.</p>   </text></group><group><returns/><text><p>The encrypted or decrypted data.</p>   </text></group></doc>   <method name='crypt'>   <arguments><argument name='data'><type><string><min>0</min><max>255</max></string></type></argument></arguments>   <returntype><string><min>0</min><max>255</max></string></returntype>   </method>   </docgroup>   <docgroup homogen-name='key_size' homogen-type='method'><doc><group><returns/><text><p>The actual key size for this cipher.</p>   <p> Defaults to just returning <expr>global::key_size()</expr>.</p>