a1c588 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | <?xml version='1.0' encoding='utf-8'?>
|
805c6f | 2018-12-18 | Henrik Grubbström (Grubba) | | <manual time-stamp='2018-12-18' version='Pike v7.5.7'>
|
a1c588 | 1995-08-09 | Fredrik Hübinette (Hubbe) | | <dir name='./ignored'>
<file name='./ignored/ignored'>
<chapter number='1' title='ignored'>
<autodoc>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | <namespace name=''>
<doc><text><p>Symbols implicitly inherited from the virtual base class.</p>
<p> These symbols exist mainly to simplify implementation of
the corresponding lfuns.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='lfun::'>lfun::</ref></p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></group></doc>
<docgroup homogen-name='_indices' homogen-type='method'><doc><text><p>Builtin function to list the identifiers of an object.
|
5bfef5 | 2003-04-01 | Martin Nilsson | | This is useful when <ref resolved='lfun::_indices'>lfun::_indices</ref> has been overloaded.</p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text><group><seealso/><text><p><ref resolved='::_values'>::_values, ::`-></ref></p>
</text></group></doc>
<method name='_indices'>
<arguments/>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_values' homogen-type='method'><doc><text><p>Builtin function to list the values of the identifiers of an
|
5bfef5 | 2003-04-01 | Martin Nilsson | | object. This is useful when <ref resolved='lfun::_values'>lfun::_values</ref> has been overloaded.</p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text><group><seealso/><text><p><ref resolved='::_indices'>::_indices, ::`-></ref></p>
</text></group></doc>
<method name='_values'>
<arguments/>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`->' homogen-type='method'>><doc><text><p>Builtin arrow operator.</p>
<p> This function indexes the current object with the string <ref resolved='::`->.index'>>index</ref>.
This is useful when the arrow operator has been overloaded.</p>
</text><group><seealso/><text><p><ref resolved='::`->='>>::`->=()</ref></p>
</text></group></doc>
<method name='`->'>>
<arguments><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`->=' homogen-type='method'>><doc><text><p>Builtin arrow set operator.</p>
<p> This function indexes the current object with the string <ref resolved='::`->=.index'>>index</ref>,
and sets it to <ref resolved='::`->=.value'>>value</ref>.
This is useful when the arrow set operator has been overloaded.</p>
</text><group><seealso/><text><p><ref resolved='::`->'>>::`->()</ref></p>
</text></group></doc>
<method name='`->='>>
<arguments><argument name='index'><type><string/></type></argument><argument name='value'><type><mixed/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
</namespace>
|
8e38c4 | 2002-12-30 | Henrik Grubbström (Grubba) | | <namespace name='0.6'>
|
a407f5 | 2003-04-01 | Martin Nilsson | | <doc><text><p>Pike 0.6 compatibility.</p>
<p> The symbols in this namespace will appear in
programs that use <tt>#pike 0.6</tt> or lower.</p>
</text><group><seealso/><text><p><ref resolved='7.0::'>7.0::</ref></p>
</text></group></doc>
<docgroup homogen-name='aggregate' homogen-type='method'><doc><text><p>More lax types than in later versions.</p>
</text></doc>
<method name='aggregate'>
<arguments><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><array><valuetype><mixed/></valuetype></array></returntype>
</method>
</docgroup>
|
8e38c4 | 2002-12-30 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.0::'>7.0::</classname></import>
</docgroup>
<docgroup homogen-name='' homogen-type='inherit'>
<inherit name=''><classname resolved='7.0::'>7.0::</classname></inherit>
</docgroup>
|
a407f5 | 2003-04-01 | Martin Nilsson | | <module name='Array'>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.0::'>7.0::</classname></import>
</docgroup>
<docgroup homogen-name='Array' homogen-type='inherit'>
<inherit name='Array'><classname resolved='predef::Array'>Array</classname></inherit>
</docgroup>
<docgroup homogen-name='map' homogen-type='method'><doc><text><p>Much simplified type compared to later versions of map.</p>
</text></doc>
<method name='map'>
<arguments><argument name='x'><type><array/></type></argument><argument name='fun'><type><or><int/><string/><function/></or></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><array/></returntype>
</method>
</docgroup>
</module>
|
8e38c4 | 2002-12-30 | Henrik Grubbström (Grubba) | | </namespace>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | <namespace name='7.0'>
|
d32fa9 | 2002-12-21 | Henrik Grubbström (Grubba) | | <doc><text><p>Pike 7.0 compatibility.</p>
<p> The symbols in this namespace will appear in
programs that use <tt>#pike 7.0</tt> or lower.</p>
</text><group><seealso/><text><p><ref resolved='7.2::'>7.2::</ref></p>
</text></group></doc>
<docgroup homogen-name='_typeof' homogen-type='method'><doc><text><p>Get the runtime type of a value (Pike 7.0 compatibility).</p>
</text><group><returns/><text><p>Returns the type of <ref resolved='7.0::_typeof.x'>x</ref> as a string.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::_typeof'>predef::_typeof()</ref></p>
|
d32fa9 | 2002-12-21 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='_typeof'>
<arguments><argument name='x'><type><mixed/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='file_stat' homogen-type='method'><doc><text><p>Stat a file (Pike 7.0 compatibility).</p>
</text><group><returns/><text><p>Returns an array with the following content:</p>
|
4241d5 | 2002-12-23 | Henrik Grubbström (Grubba) | | <array><group><elem><type><int/></type><index>mode</index></elem><text><p>Access mode.</p>
</text></group><group><elem><type><int/></type><index>size</index></elem><text><p>Size in bytes, or filetype indicator.</p>
</text></group><group><elem><type><int/></type><index>atime</index></elem><text><p>Last access time.</p>
</text></group><group><elem><type><int/></type><index>mtime</index></elem><text><p>Last modification time.</p>
</text></group><group><elem><type><int/></type><index>ctime</index></elem><text><p>Last change time.</p>
</text></group><group><elem><type><int/></type><index>uid</index></elem><text><p>User id.</p>
</text></group><group><elem><type><int/></type><index>gid</index></elem><text><p>Group id.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group></array><p>See <ref resolved='predef::file_stat'>predef::file_stat()</ref> for a full description of the array.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::file_stat'>predef::file_stat()</ref></p>
|
d32fa9 | 2002-12-21 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='file_stat'>
<arguments><argument name='path'><type><string/></type></argument><argument name='symlink'><type><or><void/><int/></or></type></argument></arguments>
<returntype><array><valuetype><int/></valuetype></array></returntype>
</method>
</docgroup>
<docgroup homogen-name='hash' homogen-type='method'><doc><text><p>Calculate a hash of a string (Pike 7.0 compatibility).</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> This function is now available as <ref resolved='predef::hash_7_0'>predef::hash_7_0()</ref>.</p>
</text><group><seealso/><text><p><ref resolved='predef::hash_7_0'>predef::hash_7_0()</ref>, <ref resolved='predef::hash'>predef::hash()</ref></p>
|
d32fa9 | 2002-12-21 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='hash'>
<arguments><argument name='s'><type><string/></type></argument><argument name='f'><type><or><int/><void/></or></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.2::'>7.1::</classname></import>
</docgroup>
|
8e38c4 | 2002-12-30 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='' homogen-type='inherit'>
<inherit name=''><classname resolved='7.2::'>7.2::</classname></inherit>
</docgroup>
|
d32fa9 | 2002-12-21 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='m_delete' homogen-type='method'><doc><text><p>Delete an entry <ref resolved='7.0::m_delete.x'>x</ref> from a mapping <ref resolved='7.0::m_delete.m'>m</ref> (Pike 7.0 compatibility).</p>
</text><group><returns/><text><p>Returns <ref resolved='7.0::m_delete.m'>m</ref>.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::m_delete'>predef::m_delete()</ref></p>
|
d32fa9 | 2002-12-21 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='m_delete'>
<arguments><argument name='m'><type><mapping/></type></argument><argument name='x'><type><mixed/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
</docgroup>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | <module name='Calendar'>
<doc><text><p>This module implements calendar calculations, and base classes
for time units. </p>
<p> This module exists only for backward compatibility with Pike 7.0.</p>
</text></doc>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.0::'>7.0::</classname></import>
</docgroup>
<module name='Gregorian'>
<doc><text><p>time units:
<ref>Year</ref>, <ref>Month</ref>, <ref>Week</ref>, <ref>Day</ref></p>
</text></doc>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='datetime' homogen-type='method'><doc><text><p>Replacement for <ref resolved='predef::localtime'>localtime()</ref>.</p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></doc>
<method name='datetime'>
<arguments><argument name='unix_time'><type><or><int/><void/></or></type></argument><argument name='skip_extra'><type><or><int/><void/></or></type></argument></arguments>
<returntype><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='datetime_name' homogen-type='method'><doc><text><p>Replacement for <ref resolved='predef::ctime'>ctime()</ref>.</p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></doc>
<method name='datetime_name'>
<arguments><argument name='unix_time'><type><or><int/><void/></or></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='datetime_short_name' homogen-type='method'><doc><text><p>Replacement for ctime.</p>
</text></doc>
<method name='datetime_short_name'>
<arguments><argument name='unix_time'><type><or><int/><void/></or></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.0::'>7.0::</classname></import>
</docgroup>
<docgroup homogen-name='parse' homogen-type='method'><doc><text><p>parse a date, create relevant object
<ref resolved='7.0::Calendar.Gregorian.parse.fmt'>fmt</ref> is in the format "abc%xdef..."
where abc and def is matched, and %x is
one of those time units:
%Y absolute year
%y year (70-99 is 1970-1999, 0-69 is 2000-2069)
%M month (number, name or short name) (needs %y)
%W week (needs %y)
%D date (needs %y, %m)
%a day (needs %y)
%e weekday (needs %y, %w)
%h hour (needs %d, %D or %W)
%m minute (needs %h)
%s second (needs %s)</p>
</text></doc>
<method name='parse'>
<arguments><argument name='fmt'><type><string/></type></argument><argument name='arg'><type><string/></type></argument></arguments>
<returntype><object resolved='7.0::Calendar.Gregorian.parse'/></returntype>
</method>
</docgroup>
<class name='Year'>
<doc><text><p>A <ref>Calendar.time_unit</ref>. </p>
<p> Lesser units: <ref>Month</ref>, <ref>Week</ref>, <ref>Day</ref>
Greater units: none</p>
</text></doc>
<docgroup homogen-name='_TimeUnit' homogen-type='inherit'>
<inherit name='_TimeUnit'><classname resolved='7.0::Calendar._TimeUnit'>_TimeUnit</classname></inherit>
</docgroup>
</class>
</module>
<module name='Stardate'>
<doc><text><p>time unit: TNGDate</p>
</text></doc>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.0::'>7.0::</classname></import>
</docgroup>
<class name='TNGDate'>
<doc><text><p>Implements ST:TNG stardates.
Can be used as create argument to Day.</p>
</text></doc>
<docgroup homogen-name='_TimeUnit' homogen-type='inherit'>
<inherit name='_TimeUnit'><classname resolved='7.0::Calendar._TimeUnit'>Calendar._TimeUnit</classname></inherit>
</docgroup>
</class>
</module>
<class name='_TimeUnit'>
<doc><text><p>class time_unit</p>
</text></doc>
<docgroup homogen-type='method'><doc><text><p><ref resolved='7.0::Calendar._TimeUnit.next'>next()</ref> and <ref resolved='7.0::Calendar._TimeUnit.prev'>prev()</ref> give the logical next and previous object.
The <ref resolved='7.0::Calendar._TimeUnit.`+'>`+()</ref> operator gives that logical relative object,
ie <expr>my_day+14</expr> gives 14 days ahead.
<ref resolved='7.0::Calendar._TimeUnit.`-'>`-()</ref> works the same way, but can also take an object
of the same type and give the difference as an integer.</p>
</text></doc>
<method name='next'>
<arguments/>
<returntype><object resolved='7.0::Calendar._TimeUnit.next'/></returntype>
</method>
<method name='prev'>
<arguments/>
<returntype><object resolved='7.0::Calendar._TimeUnit.next'/></returntype>
</method>
<method name='`+'>
<arguments><argument name='n'><type><int/></type></argument></arguments>
<returntype><object resolved='7.0::Calendar._TimeUnit.next'/></returntype>
</method>
<method name='`-'>
<arguments><argument name='n'><type><int/></type></argument></arguments>
<returntype><object resolved='7.0::Calendar._TimeUnit.next'/></returntype>
</method>
<method name='`-'>
<arguments><argument name='x'><type><object resolved='7.0::Calendar._TimeUnit.next'/></type></argument></arguments>
<returntype><object resolved='7.0::Calendar._TimeUnit.next'/></returntype>
</method>
</docgroup>
<docgroup homogen-name='greater' homogen-type='method'><doc><text><p>Gives a list of methods to get greater (longer) time units
|
716caf | 2003-04-01 | Martin Nilsson | | from this object. For a month, this gives back <expr>({"year"})</expr>,
thus the method <expr>month->year()</expr> gives the year object.</p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></doc>
<method name='greater'>
<arguments/>
<returntype><array><valuetype><string/></valuetype></array></returntype>
</method>
</docgroup>
<docgroup homogen-name='lesser' homogen-type='method'><doc><text><p>Gives a list of methods to get lesser (shorter) time units.
|
716caf | 2003-04-01 | Martin Nilsson | | ie, for a month, this gives back <expr>({"day"})</expr>
and the method <expr>day(mixed n)</expr> gives back that
day object. The method <expr>days()</expr> gives back a
list of possible argument values to the method <expr>day</expr>.
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | Concurrently, <expr>Array.map(o->days(),o->day)</expr> gives
|
716caf | 2003-04-01 | Martin Nilsson | | a list of day objects in the object <expr>o</expr>.</p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | <p> Ie: <pre>
array(string) lesser() - gives back a list of possible xxx's.
object xxxs() - gives back a list of possible n's.
object xxx(mixed n) - gives back xxx n
object xxx(object(Xxx) o) - gives back the corresponing xxx
</pre></p>
<p> The list of n's (as returned from xxxs) are always in order.</p>
<p> There are two n's with special meaning, 0 and -1.
0 always gives the first xxx, equal to
my_obj->xxx(my_obj->xxxs()[0]), and -1 gives the last,
equal to my_obj->xxx(my_obj->xxxs()[-1]).</p>
<p> To get all xxxs in the object, do something like
<expr>Array.map(my_obj->xxxs(),my_obj->xxx)</expr>.</p>
<p> xxx(object) may return zero, if there was no correspondning xxx.</p>
</text></doc>
<method name='lesser'>
<arguments/>
<returntype><array><valuetype><string/></valuetype></array></returntype>
</method>
</docgroup>
</class>
</module>
</namespace>
<namespace name='7.2'>
|
9e3d76 | 2002-12-21 | Henrik Grubbström (Grubba) | | <doc><text><p>Pike 7.2 compatibility.</p>
<p> The symbols in this namespace will appear in
|
5bfef5 | 2003-04-01 | Martin Nilsson | | programs that use <expr>#pike 7.2</expr> or lower.</p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></doc>
<docgroup homogen-name='clone' homogen-type='method'><doc><text><p>Alternate name for the function <ref resolved='7.2::new'>new()</ref> (Pike 7.2 compatibility).</p>
<p> This function was removed in Pike 7.3, use
<expr>((program)<ref resolved='7.2::clone.prog'>prog</ref>)(@<ref resolved='7.2::clone.args'>args</ref>)</expr>
instead.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><deprecated/></group><group><seealso/><text><p><ref resolved='predef::destruct'>destruct()</ref>, <ref resolved='predef::compile_string'>compile_string()</ref>, <ref resolved='predef::compile_file'>compile_file()</ref>, <ref resolved='7.2::new'>new()</ref></p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='clone'>
<arguments><argument name='prog'><type><or><string/><program/></or></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><object resolved='7.2::clone'/></returntype>
</method>
</docgroup>
<docgroup homogen-name='default_yp_domain' homogen-type='method'><doc><text><p>Get the default YP domain (Pike 7.2 compatibility).
This function was removed in Pike 7.3, use
|
eedb30 | 2002-12-30 | Martin Nilsson | | <ref resolved='predef::Yp.default_domain'>Yp.default_domain()</ref> instead.</p>
</text><group><deprecated><name><ref resolved='predef::Yp.default_domain'>Yp.default_domain</ref></name></deprecated></group><group><seealso/><text><p><ref>YP.default_domain()</ref></p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='default_yp_domain'>
<arguments/>
<returntype><string/></returntype>
</method>
</docgroup>
|
9e3d76 | 2002-12-21 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='dirname' homogen-type='method'><doc><text><p>Remove the last segment from <ref resolved='7.2::dirname.path'>path</ref>.</p>
<p> This implementation differs from <ref resolved='predef::dirname'>predef::dirname()</ref>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | in that it will return <expr>""</expr> for the input <expr>"/"</expr>
|
9e3d76 | 2002-12-21 | Henrik Grubbström (Grubba) | | while <ref resolved='predef::dirname'>predef::dirname()</ref> will return <ref>"/"</ref>.</p>
</text><group><seealso/><text><p><ref resolved='predef::dirname'>predef::dirname()</ref></p>
</text></group></doc>
<method name='dirname'>
<arguments><argument name='path'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='' homogen-type='import'>
|
eedb30 | 2002-12-30 | Martin Nilsson | | <import name=''><classname resolved='7.4::'>7.3::</classname></import>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </docgroup>
|
8e38c4 | 2002-12-30 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='' homogen-type='inherit'>
|
eedb30 | 2002-12-30 | Martin Nilsson | | <inherit name=''><classname resolved='7.4::'>7.4::</classname></inherit>
|
8e38c4 | 2002-12-30 | Henrik Grubbström (Grubba) | | </docgroup>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='new' homogen-type='method'><doc><text><p>Instantiate a program (Pike 7.2 compatibility).</p>
<p> A new instance of the class <ref resolved='7.2::new.prog'>prog</ref> will be created.
All global variables in the new object be initialized, and
|
5bfef5 | 2003-04-01 | Martin Nilsson | | then <ref resolved='lfun::create'>lfun::create()</ref> will be called with <ref resolved='7.2::new.args'>args</ref> as arguments.</p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | <p> This function was removed in Pike 7.3, use
<expr>((program)<ref resolved='7.2::new.prog'>prog</ref>)(@<ref resolved='7.2::new.args'>args</ref>)</expr>
instead.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><deprecated/></group><group><seealso/><text><p><ref resolved='predef::destruct'>destruct()</ref>, <ref resolved='predef::compile_string'>compile_string()</ref>, <ref resolved='predef::compile_file'>compile_file()</ref>, <ref resolved='7.2::clone'>clone()</ref></p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='new'>
<arguments><argument name='prog'><type><or><string/><program/></or></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><object resolved='7.2::new'/></returntype>
</method>
</docgroup>
<docgroup homogen-name='sleep' homogen-type='method'><doc><text><p>High-resolution sleep (Pike 7.2 compatibility).</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> Sleep <ref resolved='7.2::sleep.t'>t</ref> seconds. This function was renamed to <ref resolved='predef::delay'>delay()</ref>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | in Pike 7.3.</p>
</text><group><note/><text><p>This function will busy-wait if the sleep-interval is short.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><deprecated><name><ref resolved='predef::delay'>delay</ref></name></deprecated></group><group><seealso/><text><p><ref resolved='predef::sleep'>predef::sleep()</ref>, <ref resolved='predef::delay'>delay()</ref></p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='sleep'>
<arguments><argument name='t'><type><or><float/><int/></or></type></argument><argument name='abort'><type><or><void/><int/></or></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<module name='LR'>
<module name='Grammar_parser'>
<doc><text><p>This module generates an LR parser from a grammar specified according
to the following grammar:</p>
<p> <pre>
directives : directive ;
directives : directives directive ;
directive : declaration ;
directive : rule ;
declaration : "%token" terminals ";" ;
rule : nonterminal ":" symbols ";" ;
rule : nonterminal ":" symbols action ";" ;
symbols : symbol ;
symbols : symbols symbol ;
terminals : terminal ;
terminals : terminals terminal ;
symbol : nonterminal ;
symbol : "string" ;
action : "{" "identifier" "}" ;
nonterminal : "identifier" ;
terminal : "string";
</pre></p>
</text></doc>
<docgroup homogen-name='error' homogen-type='variable'><doc><text><p>Error code from the parsing.</p>
</text></doc>
<variable name='error'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.2::'>7.2::</classname></import>
</docgroup>
<docgroup homogen-name='LR' homogen-type='import'>
<import name='LR'><classname resolved='7.2::LR'>LR</classname></import>
</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 Grammar_parser.error and
return_value->error.</p>
</text></group></doc>
<method name='make_parser'>
<arguments><argument name='str'><type><string/></type></argument><argument name='m'><type><or><object resolved='7.2::LR.Grammar_parser.make_parser'/><void/></or></type></argument></arguments>
<returntype><object resolved='7.2::LR.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='7.2::LR.Grammar_parser.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='7.2::LR.Grammar_parser.make_parser_from_file'/><void/></or></type></argument></arguments>
<returntype><or><int/><object resolved='7.2::LR.parser'>parser</object></or></returntype>
</method>
</docgroup>
</module>
<class name='item'>
<doc><text><p>An LR(0) item, a partially parsed rule.</p>
</text></doc>
<docgroup homogen-name='counter' homogen-type='variable'><doc><text><p>Depth counter (used when compiling).</p>
</text></doc>
<variable name='counter'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='direct_lookahead' homogen-type='variable'><doc><text><p>Look-ahead set for this item.</p>
</text></doc>
<variable name='direct_lookahead'><type><multiset><indextype><string/></indextype></multiset></type></variable>
</docgroup>
<docgroup homogen-name='error_lookahead' homogen-type='variable'><doc><text><p>Look-ahead set used for detecting conflicts</p>
</text></doc>
<variable name='error_lookahead'><type><multiset><indextype><string/></indextype></multiset></type></variable>
</docgroup>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.2::'>7.2::</classname></import>
</docgroup>
<docgroup homogen-name='LR' homogen-type='import'>
<import name='LR'><classname resolved='7.2::LR'>LR</classname></import>
</docgroup>
<docgroup homogen-name='item_id' homogen-type='variable'><doc><text><p>Used to identify the item.
Equal to r->number + offset.</p>
</text></doc>
<variable name='item_id'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='master_item' homogen-type='variable'><doc><text><p>Item representing this one (used for shifts).</p>
</text></doc>
<variable name='master_item'><type><object resolved='7.2::LR.item'/></type></variable>
</docgroup>
<docgroup homogen-name='next_state' homogen-type='variable'><doc><text><p>The state we will get if we shift according to this rule</p>
</text></doc>
<variable name='next_state'><type><object resolved='7.2::LR.item'/></type></variable>
</docgroup>
<docgroup homogen-name='number' homogen-type='variable'><doc><text><p>Item identification number (used when compiling).</p>
</text></doc>
<variable name='number'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='offset' homogen-type='variable'><doc><text><p>How long into the rule the parsing has come.</p>
</text></doc>
<variable name='offset'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='r' homogen-type='variable'><doc><text><p>The rule</p>
</text></doc>
<variable name='r'><type><object resolved='7.2::LR.rule'>rule</object></type></variable>
</docgroup>
<docgroup homogen-name='relation' homogen-type='variable'><doc><text><p>Relation to other items (used when compiling).</p>
</text></doc>
<variable name='relation'><type><multiset><indextype><object resolved='7.2::LR.item'/></indextype></multiset></type></variable>
</docgroup>
</class>
<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>
{add_rule, set_priority, set_associativity}*
set_symbol_to_string
compile
{parse}*
</pre></p>
</text></doc>
<docgroup homogen-name='add_rule' homogen-type='method'><doc><text><p>Add a rule to the grammar.</p>
</text><group><param name='r'/><text><p>Rule to add.</p>
</text></group></doc>
<method name='add_rule'>
<arguments><argument name='r'><type><object resolved='7.2::LR.rule'>rule</object></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='cast' homogen-type='method'><doc><text><p>Implements casting.</p>
</text><group><param name='type'/><text><p>Type to cast to.</p>
</text></group></doc>
<method name='cast'>
<arguments><argument name='type'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='cast_to_string' homogen-type='method'><doc><text><p>Pretty-prints the current grammar to a string.</p>
</text></doc>
<method name='cast_to_string'>
<arguments/>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='compile' homogen-type='method'><doc><text><p>Compiles the grammar into a parser, so that parse() can be called.</p>
</text></doc>
<method name='compile'>
<arguments/>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='error' homogen-type='variable'><doc><text><p>Error code</p>
</text></doc>
<variable name='error'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='grammar' homogen-type='variable'><doc><text><p>The grammar itself.</p>
</text></doc>
<variable name='grammar'><type><mapping><indextype><or><int/><string/></or></indextype><valuetype><array><valuetype><object resolved='7.2::LR.rule'>rule</object></valuetype></array></valuetype></mapping></type></variable>
</docgroup>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.2::'>7.2::</classname></import>
</docgroup>
<docgroup homogen-name='Array' homogen-type='import'>
|
eedb30 | 2002-12-30 | Martin Nilsson | | <import name='Array'><classname resolved='predef::Array'>Array</classname></import>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </docgroup>
<docgroup homogen-name='LR' homogen-type='import'>
<import name='LR'><classname resolved='7.2::LR'>LR</classname></import>
</docgroup>
<docgroup homogen-name='item_to_string' homogen-type='method'><doc><text><p>Pretty-prints an item to a string.</p>
</text><group><param name='i'/><text><p>Item to pretty-print.</p>
</text></group></doc>
<method name='item_to_string'>
<arguments><argument name='i'><type><object resolved='7.2::LR.item'>item</object></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='known_states' homogen-type='variable'><doc><text><p>LR0 states that are already known to the compiler.</p>
</text></doc>
<variable name='known_states'><type><mapping><indextype><string/></indextype><valuetype><object resolved='7.2::LR.parser.kernel'>kernel</object></valuetype></mapping></type></variable>
</docgroup>
<docgroup homogen-name='parse' homogen-type='method'><doc><text><p>Parse the input according to the compiled grammar.
The last value reduced is returned.</p>
</text><group><note/><text><p>The parser must have been compiled (with compile())
prior to calling this function.</p>
</text></group><group><bugs/><text><p>Errors should be throw()n.</p>
</text></group><group><param name='scanner'/><text><p>The scanner function. It returns the next symbol from the input.
It should either return a string (terminal) or an array with
a string (terminal) and a mixed (value).
EOF is indicated with the empty string.</p>
</text></group><group><param name='action_object'/><text><p>Object used to resolve those actions that have been specified as
strings.</p>
</text></group></doc>
<method name='parse'>
<arguments><argument name='scanner'><type><or><object resolved='7.2::LR.parser.parse'/><function><argtype><void/></argtype><returntype><or><string/><array><valuetype><or><string/><mixed/></or></valuetype></array></or></returntype></function></or></type></argument><argument name='action_object'><type><or><void/><object resolved='7.2::LR.parser.parse'/></or></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='rule_to_string' homogen-type='method'><doc><text><p>Pretty-prints a rule to a string.</p>
</text><group><param name='r'/><text><p>Rule to print.</p>
</text></group></doc>
<method name='rule_to_string'>
<arguments><argument name='r'><type><object resolved='7.2::LR.rule'>rule</object></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='s_q' homogen-type='variable'><doc><text><p>Contains all states used.
In the queue-part are the states that remain to be compiled.</p>
</text></doc>
<variable name='s_q'><type><object resolved='7.2::LR.parser.state_queue'>state_queue</object></type></variable>
</docgroup>
<docgroup homogen-name='set_associativity' homogen-type='method'><doc><text><p>Sets the associativity of a terminal.</p>
</text><group><param name='terminal'/><text><p>Terminal to set the associativity for.</p>
</text></group><group><param name='assoc'/><text><p>Associativity; negative - left, positive - right, zero - no associativity.</p>
</text></group></doc>
<method name='set_associativity'>
<arguments><argument name='terminal'><type><string/></type></argument><argument name='assoc'><type><int/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='set_priority' homogen-type='method'><doc><text><p>Sets the priority of a terminal.</p>
</text><group><param name='terminal'/><text><p>Terminal to set the priority for.</p>
</text></group><group><param name='pri_val'/><text><p>Priority; higher = prefer this terminal.</p>
</text></group></doc>
<method name='set_priority'>
<arguments><argument name='terminal'><type><string/></type></argument><argument name='pri_val'><type><int/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='set_symbol_to_string' homogen-type='method'><doc><text><p>Sets the symbol to string conversion function.
The conversion function is used by the various *_to_string functions
to make comprehensible output.</p>
</text><group><param name='s_to_s'/><text><p>Symbol to string conversion function.
If zero or not specified, use the built-in function.</p>
</text></group></doc>
<method name='set_symbol_to_string'>
<arguments><argument name='s_to_s'><type><or><void/><function><argtype><or><int/><string/></or></argtype><returntype><string/></returntype></function></or></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='start_state' homogen-type='variable'><doc><text><p>The initial LR0 state.</p>
</text></doc>
<variable name='start_state'><type><object resolved='7.2::LR.parser.kernel'>kernel</object></type></variable>
</docgroup>
<docgroup homogen-name='state_to_string' homogen-type='method'><doc><text><p>Pretty-prints a state to a string.</p>
</text><group><param name='state'/><text><p>State to pretty-print.</p>
</text></group></doc>
<method name='state_to_string'>
<arguments><argument name='state'><type><object resolved='7.2::LR.parser.kernel'>kernel</object></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='verbose' homogen-type='variable'><doc><text><p>Verbosity level</p>
<int><group><value>0</value><text><p>None</p>
</text></group><group><value>1</value><text><p>Some</p>
</text></group></int>
</text></doc>
<variable name='verbose'><type><int/></type></variable>
</docgroup>
<class name='kernel'>
<doc><text><p>Implements an LR(1) state</p>
</text></doc>
<docgroup homogen-name='action' homogen-type='variable'><doc><text><p>The action table for this state</p>
<p> <pre>
object(kernel) SHIFT to this state on this symbol.
object(rule) REDUCE according to this rule on this symbol.
</pre></p>
</text></doc>
<variable name='action'><type><mapping><indextype><or><int/><string/></or></indextype><valuetype><or><object resolved='7.2::LR.parser.kernel'>kernel</object><object resolved='7.2::LR.rule'>rule</object></or></valuetype></mapping></type></variable>
</docgroup>
<docgroup homogen-name='add_item' homogen-type='method'><doc><text><p>Add an item to the state.</p>
</text></doc>
<method name='add_item'>
<arguments><argument name='i'><type><object resolved='7.2::LR.item'>item</object></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='closure' homogen-type='method'><doc><text><p>Make the closure of this state.</p>
</text><group><param name='nonterminal'/><text><p>Nonterminal to make the closure on.</p>
</text></group></doc>
<method name='closure'>
<arguments><argument name='nonterminal'><type><int/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='closure_set' homogen-type='variable'><doc><text><p>The symbols that closure has been called on.</p>
</text></doc>
<variable name='closure_set'><type><multiset/></type></variable>
</docgroup>
<docgroup homogen-name='do_goto' homogen-type='method'><doc><text><p>Generates the state reached when doing goto on the specified symbol.
i.e. it compiles the LR(0) state.</p>
</text><group><param name='symbol'/><text><p>Symbol to make goto on.</p>
</text></group></doc>
<method name='do_goto'>
<arguments><argument name='symbol'><type><or><int/><string/></or></type></argument></arguments>
<returntype><object resolved='7.2::LR.parser.kernel'>kernel</object></returntype>
</method>
</docgroup>
<docgroup homogen-name='goto_set' homogen-type='method'><doc><text><p>Make the goto-set of this state.</p>
</text></doc>
<method name='goto_set'>
<arguments/>
<returntype><multiset><indextype><or><int/><string/></or></indextype></multiset></returntype>
</method>
</docgroup>
<docgroup homogen-name='item_id_to_item' homogen-type='variable'><doc><text><p>Used to lookup items given rule and offset</p>
</text></doc>
<variable name='item_id_to_item'><type><mapping><indextype><int/></indextype><valuetype><object resolved='7.2::LR.item'>item</object></valuetype></mapping></type></variable>
</docgroup>
<docgroup homogen-name='items' homogen-type='variable'><doc><text><p>Contains the items in this state.</p>
</text></doc>
<variable name='items'><type><array><valuetype><object resolved='7.2::LR.item'>item</object></valuetype></array></type></variable>
</docgroup>
<docgroup homogen-name='rules' homogen-type='variable'><doc><text><p>Used to check if a rule already has been added when doing closures.</p>
</text></doc>
<variable name='rules'><type><multiset><indextype><object resolved='7.2::LR.rule'>rule</object></indextype></multiset></type></variable>
</docgroup>
<docgroup homogen-name='symbol_items' homogen-type='variable'><doc><text><p>Contains the items whose next symbol is this non-terminal.</p>
</text></doc>
<variable name='symbol_items'><type><mapping><indextype><int/></indextype><valuetype><multiset><indextype><object resolved='7.2::LR.item'>item</object></indextype></multiset></valuetype></mapping></type></variable>
</docgroup>
</class>
<class name='state_queue'>
<doc><text><p>This is a queue, which keeps the elements even after they are retrieved.</p>
</text></doc>
<docgroup homogen-name='arr' homogen-type='variable'><doc><text><p>The queue itself.</p>
</text></doc>
<variable name='arr'><type><array><valuetype><object resolved='7.2::LR.parser.kernel'>kernel</object></valuetype></array></type></variable>
</docgroup>
<docgroup homogen-name='head' homogen-type='variable'><doc><text><p>Index of the head of the queue.</p>
</text></doc>
<variable name='head'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='next' homogen-type='method'><doc><text><p>Return the next state from the queue.</p>
</text></doc>
<method name='next'>
<arguments/>
<returntype><or><int/><object resolved='7.2::LR.parser.kernel'>kernel</object></or></returntype>
</method>
</docgroup>
<docgroup homogen-name='push' homogen-type='method'><doc><text><p>Pushes the state on the queue.</p>
</text><group><param name='state'/><text><p>State to push.</p>
</text></group></doc>
<method name='push'>
<arguments><argument name='state'><type><object resolved='7.2::LR.parser.kernel'>kernel</object></type></argument></arguments>
<returntype><object resolved='7.2::LR.parser.kernel'>kernel</object></returntype>
</method>
</docgroup>
<docgroup homogen-name='tail' homogen-type='variable'><doc><text><p>Index of the tail of the queue.</p>
</text></doc>
<variable name='tail'><type><int/></type></variable>
</docgroup>
</class>
</class>
<class name='priority'>
<doc><text><p>Specifies the priority and associativity of a rule.</p>
</text></doc>
<docgroup homogen-name='assoc' homogen-type='variable'><doc><text><p>Associativity</p>
<int><group><value>-1</value><text><p>Left</p>
</text></group><group><value>0</value><text><p>None</p>
</text></group><group><value>1</value><text><p>Right</p>
</text></group></int>
</text></doc>
<variable name='assoc'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a new priority object.</p>
</text><group><param name='p'/><text><p>Priority.</p>
</text></group><group><param name='a'/><text><p>Associativity.</p>
</text></group></doc>
<method name='create'>
<arguments><argument name='p'><type><int/></type></argument><argument name='a'><type><int/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.2::'>7.2::</classname></import>
</docgroup>
<docgroup homogen-name='value' homogen-type='variable'><doc><text><p>Priority value</p>
</text></doc>
<variable name='value'><type><int/></type></variable>
</docgroup>
</class>
<class name='rule'>
<doc><text><p>This object is used to represent a BNF-rule in the LR parser.</p>
</text></doc>
<docgroup homogen-name='action' homogen-type='variable'><doc><text><p>Action to do when reducing this rule.
function - call this function.
string - call this function by name in the object given to the parser.
The function is called with arguments corresponding to the values of
the elements of the rule. The return value of the function will be
the value of this non-terminal. The default rule is to return the first
argument.</p>
</text></doc>
<variable name='action'><type><or><function/><string/></or></type></variable>
</docgroup>
<docgroup homogen-name='create' homogen-type='method'><doc><text><p>Create a BNF rule.</p>
</text><group><example/><text><p>The rule</p>
<p> rule : nonterminal ":" symbols ";" { add_rule };</p>
<p> might be created as</p>
<p> rule(4, ({ 9, ";", 5, ";" }), "add_rule");</p>
<p> where 4 corresponds to the nonterminal "rule", 9 to "nonterminal"
and 5 to "symbols", and the function "add_rule" is too be called
when this rule is reduced.</p>
</text></group><group><param name='nt'/><text><p>Non-terminal to reduce to.</p>
</text></group><group><param name='r'/><text><p>Symbol sequence that reduces to nt.</p>
</text></group><group><param name='a'/><text><p>Action to do when reducing according to this rule.
function - Call this function.
string - Call this function by name in the object given to the parser.
The function is called with arguments corresponding to the values of
the elements of the rule. The return value of the function will become
the value of this non-terminal. The default rule is to return the first
argument.</p>
</text></group></doc>
<method name='create'>
<arguments><argument name='nt'><type><int/></type></argument><argument name='r'><type><array><valuetype><or><string/><int/></or></valuetype></array></type></argument><argument name='a'><type><or><function/><string/><void/></or></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='has_tokens' homogen-type='variable'><doc><text><p>This rule contains tokens</p>
</text></doc>
<variable name='has_tokens'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='7.2::'>7.2::</classname></import>
</docgroup>
<docgroup homogen-name='nonterminal' homogen-type='variable'><doc><text><p>Non-terminal this rule reduces to.</p>
</text></doc>
<variable name='nonterminal'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='num_nonnullables' homogen-type='variable'><doc><text><p>This rule has this many non-nullable symbols at the moment.</p>
</text></doc>
<variable name='num_nonnullables'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='number' homogen-type='variable'><doc><text><p>Sequence number of this rule (used for conflict resolving)
Also used to identify the rule.</p>
</text></doc>
<variable name='number'><type><int/></type></variable>
</docgroup>
<docgroup homogen-name='pri' homogen-type='variable'><doc><text><p>Priority and associativity of this rule.</p>
</text></doc>
<variable name='pri'><type><object resolved='7.2::LR.rule'/></type></variable>
</docgroup>
<docgroup homogen-name='symbols' homogen-type='variable'><doc><text><p>The actual rule</p>
</text></doc>
<variable name='symbols'><type><array><valuetype><or><string/><int/></or></valuetype></array></type></variable>
</docgroup>
</class>
</module>
<module name='String'>
<docgroup homogen-name='capitalize' homogen-type='method'><doc><text><p>Convert the first character in <ref resolved='7.2::String.capitalize.str'>str</ref> to upper case, and return the
new string.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::lower_case'>lower_case()</ref>, <ref resolved='predef::upper_case'>upper_case()</ref></p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='capitalize'>
<arguments><argument name='str'><type><string/></type></argument></arguments>
<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>This function counts the number of times the <ref resolved='7.2::String.count.needle'>needle</ref>
can be found in <ref resolved='7.2::String.count.haystack'>haystack</ref>.</p>
</text><group><note/><text><p>Intersections between needles are not counted, ie
<tt>count("....","..")</tt> is <tt>2</tt>.</p>
</text></group></doc>
<method name='count'>
<arguments><argument name='haystack'><type><string/></type></argument><argument name='needle'><type><string/></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>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </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>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='fuzzymatch'>
<arguments><argument name='a'><type><string/></type></argument><argument name='b'><type><string/></type></argument></arguments>
<returntype><int/></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.
If the separator is omitted, the default is <tt>"and"</tt>.
If the words are numbers they are converted to strings first.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::`*'>`*()</ref></p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </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='7.2::'>7.2::</classname></import>
</docgroup>
<docgroup homogen-name='sillycaps' homogen-type='method'><doc><text><p>Convert the first character in each word (separated by spaces) in
<ref resolved='7.2::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='strmult' homogen-type='method'><doc><text><p>This function multiplies <ref resolved='7.2::String.strmult.str'>str</ref> by <ref resolved='7.2::String.strmult.num'>num</ref>. The return value is the same
as appending <ref resolved='7.2::String.strmult.str'>str</ref> to an empty string <ref resolved='7.2::String.strmult.num'>num</ref> times.</p>
</text><group><note/><text><p>This function is obsolete, since this functionality has been incorporated
|
5bfef5 | 2003-04-01 | Martin Nilsson | | into <ref resolved='predef::`*'>`*()</ref>.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`*'>`*()</ref></p>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='strmult'>
<arguments><argument name='str'><type><string/></type></argument><argument name='num'><type><int/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='trim_all_whites' homogen-type='method'><doc><text><p>Trim leading and trailing white spaces characters (<tt>" \t\r\n"</tt>) from
the string <ref resolved='7.2::String.trim_all_whites.s'>s</ref>.</p>
</text></doc>
<method name='trim_all_whites'>
<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='7.2::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 in bits (8, 16 or 32) of the widest character
in <ref resolved='7.2::String.width.s'>s</ref>.</p>
</text></doc>
<method name='width'>
<arguments><argument name='s'><type><string/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
<class name='String_buffer'>
<doc><text><p>A helper class to optimize iterative string build-up for speed. Can help up
performance noticably when dealing with buildup of huge strings by reducing
the time needed for rehashing the string every time it grows.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><deprecated><name><ref resolved='predef::String.Buffer'>String.Buffer</ref></name></deprecated></group></doc>
|
673610 | 2002-12-20 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='append' homogen-type='method'><doc><text><p>Append the string <ref resolved='7.2::String.String_buffer.append.s'>s</ref> to the buffer.</p>
</text></doc>
<method name='append'>
<arguments><argument name='s'><type><string/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='cast' homogen-type='method'>
<method name='cast'>
<arguments><argument name='to'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='flush' homogen-type='method'><doc><text><p>Clear the buffer.</p>
</text></doc>
<method name='flush'>
<arguments/>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='get_buffer' homogen-type='method'><doc><text><p>Get the contents of the buffer.</p>
</text></doc>
<method name='get_buffer'>
<arguments/>
<returntype><string/></returntype>
</method>
</docgroup>
</class>
</module>
</namespace>
|
eedb30 | 2002-12-30 | Martin Nilsson | | <namespace name='7.4'>
<doc><text><p>Pike 7.4 compatibility.</p>
<p> The symbols in this namespace will appear in
programs that use <tt>#pike 7.4</tt> or lower.</p>
</text></doc>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname>7.5::</classname></import>
</docgroup>
<docgroup homogen-name='' homogen-type='inherit'>
<inherit name=''><classname resolved='predef::'>predef::</classname></inherit>
</docgroup>
|
7ea081 | 2003-01-13 | Martin Nilsson | | <docgroup homogen-name='rusage' homogen-type='method'><doc><text><p>Return resource usage. An error is thrown if it isn't supported
or if the system fails to return any information.</p>
</text><group><returns/><text><p>Returns an array of ints describing how much resources the interpreter
process has used so far. This array will have at least 29 elements, of
which those values not available on this system will be zero.</p>
<p> The elements are as follows:</p>
<array><group><elem><type><int/></type><index>user_time</index></elem><text><p>Time in milliseconds spent in user code.</p>
</text></group><group><elem><type><int/></type><index>system_time</index></elem><text><p>Time in milliseconds spent in system calls.</p>
</text></group><group><elem><type><int/></type><index>maxrss</index></elem><text><p>Maximum used resident size in kilobytes.</p>
</text></group><group><elem><type><int/></type><index>ixrss</index></elem><text><p>Quote from GNU libc: An integral value expressed in
kilobytes times ticks of execution, which indicates the
amount of memory used by text that was shared with other
processes.</p>
</text></group><group><elem><type><int/></type><index>idrss</index></elem><text><p>Quote from GNU libc: An integral value expressed the same
way, which is the amount of unshared memory used for data.</p>
</text></group><group><elem><type><int/></type><index>isrss</index></elem><text><p>Quote from GNU libc: An integral value expressed the same
way, which is the amount of unshared memory used for stack
space.</p>
</text></group><group><elem><type><int/></type><index>minor_page_faults</index></elem><text><p>Minor page faults, i.e. TLB misses which required no disk I/O.</p>
</text></group><group><elem><type><int/></type><index>major_page_faults</index></elem><text><p>Major page faults, i.e. paging with disk I/O required.</p>
</text></group><group><elem><type><int/></type><index>swaps</index></elem><text><p>Number of times the process has been swapped out entirely.</p>
</text></group><group><elem><type><int/></type><index>block_input_op</index></elem><text><p>Number of block input operations.</p>
</text></group><group><elem><type><int/></type><index>block_output_op</index></elem><text><p>Number of block output operations.</p>
</text></group><group><elem><type><int/></type><index>messages_sent</index></elem><text><p>Number of IPC messsages sent.</p>
</text></group><group><elem><type><int/></type><index>messages_received</index></elem><text><p>Number of IPC messsages received.</p>
</text></group><group><elem><type><int/></type><index>signals_received</index></elem><text><p>Number of signals received.</p>
</text></group><group><elem><type><int/></type><index>voluntary_context_switches</index></elem><text><p>Number of voluntary context switches (usually to wait for
some service).</p>
</text></group><group><elem><type><int/></type><index>involuntary_context_switches</index></elem><text><p>Number of preemptions, i.e. context switches due to expired
time slices, or when processes with higher priority were
scheduled.</p>
</text></group><group><elem><type><int/></type><index>sysc</index></elem><text><p>Number of system calls.</p>
</text></group><group><elem><type><int/></type><index>ioch</index></elem><text><p>Number of characters read and written.</p>
</text></group><group><elem><type><int/></type><index>rtime</index></elem><text><p>Elapsed real time (ms).</p>
</text></group><group><elem><type><int/></type><index>ttime</index></elem><text><p>Elapsed system trap (system call) time (ms).</p>
</text></group><group><elem><type><int/></type><index>tftime</index></elem><text><p>Text page fault sleep time (ms).</p>
</text></group><group><elem><type><int/></type><index>dftime</index></elem><text><p>Data page fault sleep time (ms).</p>
</text></group><group><elem><type><int/></type><index>kftime</index></elem><text><p>Kernel page fault sleep time (ms).</p>
</text></group><group><elem><type><int/></type><index>ltime</index></elem><text><p>User lock wait sleep time (ms).</p>
</text></group><group><elem><type><int/></type><index>slptime</index></elem><text><p>Other sleep time (ms).</p>
</text></group><group><elem><type><int/></type><index>wtime</index></elem><text><p>Wait CPU (latency) time (ms).</p>
</text></group><group><elem><type><int/></type><index>stoptime</index></elem><text><p>Time spent in stopped (suspended) state.</p>
</text></group><group><elem><type><int/></type><index>brksize</index></elem><text><p>Heap size.</p>
</text></group><group><elem><type><int/></type><index>stksize</index></elem><text><p>Stack size.</p>
</text></group></array><p>The values will not be further explained here; read your system manual
for more information.</p>
</text></group><group><note/><text><p>All values may not be present on all systems.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><deprecated><name><ref resolved='predef::System.getrusage'>System.getrusage</ref></name></deprecated></group><group><seealso/><text><p><ref resolved='predef::time'>time()</ref>, <ref resolved='predef::System.getrusage'>System.getrusage()</ref></p>
|
7ea081 | 2003-01-13 | Martin Nilsson | | </text></group></doc>
<method name='rusage'>
<arguments/>
<returntype><array><valuetype><int/></valuetype></array></returntype>
</method>
</docgroup>
|
615825 | 2003-02-07 | Martin Nilsson | | <module name='SSL'>
<class name='cipher'>
|
b14460 | 2003-02-08 | Martin Nilsson | | <doc><text><p>Encryption and MAC algorithms used in SSL.</p>
</text><group><deprecated><name><ref resolved='predef::SSL.Cipher'>SSL.Cipher</ref></name></deprecated></group></doc>
|
615825 | 2003-02-07 | Martin Nilsson | | <docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='predef::'>predef::</classname></import>
</docgroup>
|
805c6f | 2018-12-18 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='"constants"' homogen-type='inherit'>
<inherit name='"constants"'><classname resolved='7.4::SSL.constants'>"constants"</classname></inherit>
|
615825 | 2003-02-07 | Martin Nilsson | | </docgroup>
</class>
<class name='constants'>
<doc><text><p>Protocol constants</p>
</text><group><deprecated><name><ref resolved='predef::SSL.Constants'>SSL.Constants</ref></name></deprecated></group></doc>
<docgroup homogen-name='' homogen-type='import'>
<import name=''><classname resolved='predef::'>predef::</classname></import>
</docgroup>
</class>
</module>
|
eedb30 | 2002-12-30 | Martin Nilsson | | </namespace>
|
bfefa2 | 2001-07-17 | Martin Nilsson | | <appendix name='Image.Color colors'>
<doc>
<text>
|
69d6de | 2001-07-30 | Martin Nilsson | | <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()->dark()->dark()->dark()
from the color object itself, i.e. Image.Color.mintcream->neon()->dark()->dark()->dark().</p>
|
0897f7 | 2001-09-17 | Martin Nilsson | | <p><image file='predef.APPENDIX566709207.1.png' height='120' width='348'>colors.c.18.png</image><br/>
<image file='predef.APPENDIX566709207.2.png' height='120' width='348'>colors.c.19.png</image><br/>
<image file='predef.APPENDIX566709207.3.png' height='120' width='348'>colors.c.20.png</image><br/>
<image file='predef.APPENDIX566709207.4.png' height='120' width='348'>colors.c.21.png</image><br/>
<image file='predef.APPENDIX566709207.5.png' height='120' width='348'>colors.c.22.png</image><br/>
<image file='predef.APPENDIX566709207.6.png' height='120' width='348'>colors.c.23.png</image><br/>
<image file='predef.APPENDIX566709207.7.png' height='120' width='348'>colors.c.24.png</image><br/>
<image file='predef.APPENDIX566709207.8.png' height='120' width='348'>colors.c.25.png</image><br/>
<image file='predef.APPENDIX566709207.9.png' height='120' width='348'>colors.c.26.png</image><br/>
<image file='predef.APPENDIX566709207.10.png' height='120' width='348'>colors.c.27.png</image><br/>
<image file='predef.APPENDIX566709207.11.png' height='120' width='348'>colors.c.28.png</image><br/>
<image file='predef.APPENDIX566709207.12.png' height='120' width='348'>colors.c.29.png</image><br/>
<image file='predef.APPENDIX566709207.13.png' height='120' width='348'>colors.c.30.png</image><br/>
<image file='predef.APPENDIX566709207.14.png' height='120' width='348'>colors.c.31.png</image><br/>
<image file='predef.APPENDIX566709207.15.png' height='120' width='348'>colors.c.32.png</image><br/>
<image file='predef.APPENDIX566709207.16.png' height='120' width='348'>colors.c.33.png</image><br/>
<image file='predef.APPENDIX566709207.17.png' height='120' width='348'>colors.c.34.png</image><br/>
<image file='predef.APPENDIX566709207.18.png' height='120' width='348'>colors.c.35.png</image><br/>
<image file='predef.APPENDIX566709207.19.png' height='120' width='348'>colors.c.36.png</image><br/>
<image file='predef.APPENDIX566709207.20.png' height='120' width='348'>colors.c.37.png</image><br/>
<image file='predef.APPENDIX566709207.21.png' height='120' width='348'>colors.c.38.png</image><br/>
<image file='predef.APPENDIX566709207.22.png' height='120' width='348'>colors.c.39.png</image><br/>
<image file='predef.APPENDIX566709207.23.png' height='120' width='348'>colors.c.40.png</image><br/>
<image file='predef.APPENDIX566709207.24.png' height='120' width='348'>colors.c.41.png</image><br/>
<image file='predef.APPENDIX566709207.25.png' height='120' width='348'>colors.c.42.png</image><br/>
<image file='predef.APPENDIX566709207.26.png' height='120' width='348'>colors.c.43.png</image><br/>
<image file='predef.APPENDIX566709207.27.png' height='120' width='348'>colors.c.44.png</image><br/>
<image file='predef.APPENDIX566709207.28.png' height='120' width='348'>colors.c.45.png</image><br/>
<image file='predef.APPENDIX566709207.29.png' height='120' width='348'>colors.c.46.png</image><br/>
<image file='predef.APPENDIX566709207.30.png' height='120' width='348'>colors.c.47.png</image><br/>
<image file='predef.APPENDIX566709207.31.png' height='120' width='348'>colors.c.48.png</image><br/>
<image file='predef.APPENDIX566709207.32.png' height='120' width='348'>colors.c.49.png</image><br/>
<image file='predef.APPENDIX566709207.33.png' height='120' width='348'>colors.c.50.png</image><br/>
<image file='predef.APPENDIX566709207.34.png' height='120' width='348'>colors.c.51.png</image><br/>
<image file='predef.APPENDIX566709207.35.png' height='120' width='348'>colors.c.52.png</image><br/>
<image file='predef.APPENDIX566709207.36.png' height='120' width='348'>colors.c.53.png</image><br/>
<image file='predef.APPENDIX566709207.37.png' height='120' width='348'>colors.c.54.png</image><br/>
<image file='predef.APPENDIX566709207.38.png' height='120' width='348'>colors.c.55.png</image><br/>
<image file='predef.APPENDIX566709207.39.png' height='120' width='348'>colors.c.56.png</image><br/>
<image file='predef.APPENDIX566709207.40.png' height='120' width='348'>colors.c.57.png</image><br/>
<image file='predef.APPENDIX566709207.41.png' height='120' width='348'>colors.c.58.png</image><br/>
<image file='predef.APPENDIX566709207.42.png' height='120' width='348'>colors.c.59.png</image><br/>
<image file='predef.APPENDIX566709207.43.png' height='120' width='348'>colors.c.60.png</image><br/>
<image file='predef.APPENDIX566709207.44.png' height='120' width='348'>colors.c.61.png</image><br/>
<image file='predef.APPENDIX566709207.45.png' height='120' width='348'>colors.c.62.png</image><br/>
<image file='predef.APPENDIX566709207.46.png' height='120' width='348'>colors.c.63.png</image><br/>
<image file='predef.APPENDIX566709207.47.png' height='120' width='348'>colors.c.64.png</image><br/>
<image file='predef.APPENDIX566709207.48.png' height='120' width='348'>colors.c.65.png</image><br/>
<image file='predef.APPENDIX566709207.49.png' height='120' width='348'>colors.c.66.png</image><br/>
<image file='predef.APPENDIX566709207.50.png' height='120' width='348'>colors.c.67.png</image><br/>
<image file='predef.APPENDIX566709207.51.png' height='120' width='348'>colors.c.68.png</image><br/>
<image file='predef.APPENDIX566709207.52.png' height='120' width='348'>colors.c.69.png</image><br/>
<image file='predef.APPENDIX566709207.53.png' height='120' width='348'>colors.c.70.png</image><br/>
<image file='predef.APPENDIX566709207.54.png' height='120' width='348'>colors.c.71.png</image><br/>
<image file='predef.APPENDIX566709207.55.png' height='120' width='348'>colors.c.72.png</image><br/>
<image file='predef.APPENDIX566709207.56.png' height='120' width='348'>colors.c.73.png</image><br/>
<image file='predef.APPENDIX566709207.57.png' height='120' width='348'>colors.c.74.png</image><br/></p>
<p/>
|
bfefa2 | 2001-07-17 | Martin Nilsson | | </text>
</doc>
</appendix>
<appendix name='Image.Layer modes'>
<doc>
<text>
<p>
<dl compact='compact'>
<dt><i>The variables in the expression:</i></dt>
<dt>L</dt><dd><i>The active layer</i></dd>
<dt>S</dt><dd><i>The source layer (the sum of the layers below)</i></dd>
<dt>D</dt><dd><i>The destintion layer (the result)</i></dd>
<dt>Xrgb</dt><dd><i>Layer red (<b>Xr</b>), green (<b>Xg</b>) or blue channel (<b>Xb</b>) </i></dd>
<dt>Xhsv</dt><dd><i>Layer hue (<b>Xh</b>), saturation (<b>Xs</b>) or value channel (<b>Xv</b>) (virtual channels)</i></dd>
<dt>Xhls</dt><dd><i>Layer hue (<b>Xh</b>), lightness channel (<b>Xl</b>) or saturation (<b>Xs</b>) (virtual channels)</i></dd>
<dt>aX</dt><dd><i>Layer alpha, channel in layer alpha</i></dd>
</dl>
<i>All channels are calculated separately, if nothing else is specified.</i>
|
805c6f | 2018-12-18 | Henrik Grubbström (Grubba) | | <table cellpadding='1' cellspacing='0'><tr><td align='left' colspan='2'><b>top layer</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.1.jpeg' height='80' width='480'>layers.c.0.jpeg</image></td><td align='left' valign='center'/></tr>
<tr><td align='left' colspan='2'><b>bottom layer</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.2.jpeg' height='80' width='480'>layers.c.1.jpeg</image></td><td align='left' valign='center'/></tr>
<tr><td align='left' colspan='2'><b>normal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.3.jpeg' height='80' width='480'>layers.c.2.jpeg</image></td><td align='left' valign='center'>D=L applied with alpha: D=(L*aL+S*(1-aL)*aS) / (aL+(1-aL)*aS), aD=(aL+(1-aL)*aS)</td></tr>
<tr><td> </td></tr><tr><td align='left' colspan='2'><b>add</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.4.jpeg' height='80' width='480'>layers.c.3.jpeg</image></td><td align='left' valign='center'>D=L+S applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>subtract</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.5.jpeg' height='80' width='480'>layers.c.4.jpeg</image></td><td align='left' valign='center'>D=S-L applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>multiply</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.6.jpeg' height='80' width='480'>layers.c.5.jpeg</image></td><td align='left' valign='center'>D=S*L applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>divide</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.7.jpeg' height='80' width='480'>layers.c.6.jpeg</image></td><td align='left' valign='center'>D=S/L applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>negdivide</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.8.jpeg' height='80' width='480'>layers.c.7.jpeg</image></td><td align='left' valign='center'>D=1.0-S/L applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>modulo</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.9.jpeg' height='80' width='480'>layers.c.8.jpeg</image></td><td align='left' valign='center'>D=S%L applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>invsubtract</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.10.jpeg' height='80' width='480'>layers.c.9.jpeg</image></td><td align='left' valign='center'>D=L-S applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>invdivide</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.11.jpeg' height='80' width='480'>layers.c.10.jpeg</image></td><td align='left' valign='center'>D=L/S applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>invmodulo</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.12.jpeg' height='80' width='480'>layers.c.11.jpeg</image></td><td align='left' valign='center'>D=L%S applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>imultiply</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.13.jpeg' height='80' width='480'>layers.c.12.jpeg</image></td><td align='left' valign='center'>D=(1-L)*S applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>idivide</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.14.jpeg' height='80' width='480'>layers.c.13.jpeg</image></td><td align='left' valign='center'>D=S/(1-L) applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>invidivide</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.15.jpeg' height='80' width='480'>layers.c.14.jpeg</image></td><td align='left' valign='center'>D=L/(1-S) applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>difference</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.16.jpeg' height='80' width='480'>layers.c.15.jpeg</image></td><td align='left' valign='center'>D=abs(L-S) applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>max</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.17.jpeg' height='80' width='480'>layers.c.16.jpeg</image></td><td align='left' valign='center'>D=max(L,S) applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>min</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.18.jpeg' height='80' width='480'>layers.c.17.jpeg</image></td><td align='left' valign='center'>D=min(L,S) applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>bitwise_and</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.19.jpeg' height='80' width='480'>layers.c.18.jpeg</image></td><td align='left' valign='center'>D=L&amp;amp;S applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>bitwise_or</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.20.jpeg' height='80' width='480'>layers.c.19.jpeg</image></td><td align='left' valign='center'>D=L|S applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>bitwise_xor</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.21.jpeg' height='80' width='480'>layers.c.20.jpeg</image></td><td align='left' valign='center'>D=L^S applied with alpha, aD=aS</td></tr>
<tr><td> </td></tr><tr><td align='left' colspan='2'><b>replace</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.22.jpeg' height='80' width='480'>layers.c.21.jpeg</image></td><td align='left' valign='center'>D=(L*aL+S*(1-aL)*aS) / (aL+(1-aL)*aS), aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>red</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.23.jpeg' height='80' width='480'>layers.c.22.jpeg</image></td><td align='left' valign='center'>Dr=(Lr*aLr+Sr*(1-aLr)*aSr) / (aLr+(1-aLr)*aSr), Dgb=Sgb, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>green</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.24.jpeg' height='80' width='480'>layers.c.23.jpeg</image></td><td align='left' valign='center'>Dg=(Lg*aLg+Sg*(1-aLg)*aSg) / (aLg+(1-aLg)*aSg), Drb=Srb, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>blue</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.25.jpeg' height='80' width='480'>layers.c.24.jpeg</image></td><td align='left' valign='center'>Db=(Lb*aLb+Sb*(1-aLb)*aSb) / (aLb+(1-aLb)*aSb), Drg=Srg, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hardlight</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.26.jpeg' height='80' width='480'>layers.c.25.jpeg</image></td><td align='left' valign='center'>Like photoshop hardlight layer mode, aD=aS</td></tr>
<tr><td> </td></tr><tr><td align='left' colspan='2'><b>replace_hsv</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.27.jpeg' height='80' width='480'>layers.c.26.jpeg</image></td><td align='left' valign='center'>Dhsv=Lhsv apply with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hue</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.28.jpeg' height='80' width='480'>layers.c.27.jpeg</image></td><td align='left' valign='center'>Dh=Lh apply with alpha, Dsv=Lsv, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>saturation</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.29.jpeg' height='80' width='480'>layers.c.28.jpeg</image></td><td align='left' valign='center'>Ds=Ls apply with alpha, Dhv=Lhv, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>value</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.30.jpeg' height='80' width='480'>layers.c.29.jpeg</image></td><td align='left' valign='center'>Dv=Lv apply with alpha, Dhs=Lhs, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>color</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.31.jpeg' height='80' width='480'>layers.c.30.jpeg</image></td><td align='left' valign='center'>Dhs=Lhs apply with alpha, Dv=Lv, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>value_mul</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.32.jpeg' height='80' width='480'>layers.c.31.jpeg</image></td><td align='left' valign='center'>Dv=Lv*Sv apply with alpha, Dhs=Lhs, aD=aS</td></tr>
<tr><td> </td></tr><tr><td align='left' colspan='2'><b>darken</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.33.jpeg' height='80' width='480'>layers.c.32.jpeg</image></td><td align='left' valign='center'>Dv=min(Lv,Sv) apply with alpha, Dhs=Lhs, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>lighten</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.34.jpeg' height='80' width='480'>layers.c.33.jpeg</image></td><td align='left' valign='center'>Dv=max(Lv,Sv) apply with alpha, Dhs=Lhs, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>saturate</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.35.jpeg' height='80' width='480'>layers.c.34.jpeg</image></td><td align='left' valign='center'>Ds=max(Ls,Ss) apply with alpha, Dhv=Lhv, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>desaturate</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.36.jpeg' height='80' width='480'>layers.c.35.jpeg</image></td><td align='left' valign='center'>Ds=min(Ls,Ss) apply with alpha, Dhv=Lhv, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_replace</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.37.jpeg' height='80' width='480'>layers.c.36.jpeg</image></td><td align='left' valign='center'>Dhls=Lhls apply with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_hue</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.38.jpeg' height='80' width='480'>layers.c.37.jpeg</image></td><td align='left' valign='center'>Dh=Lh apply with alpha, Dsv=Lsv, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_saturation</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.39.jpeg' height='80' width='480'>layers.c.38.jpeg</image></td><td align='left' valign='center'>Ds=Ls apply with alpha, Dhv=Lhv, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_lightness</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.40.jpeg' height='80' width='480'>layers.c.39.jpeg</image></td><td align='left' valign='center'>Dl=Ll apply with alpha, Dhs=Lhs, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_color</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.41.jpeg' height='80' width='480'>layers.c.40.jpeg</image></td><td align='left' valign='center'>Dhs=Lhs apply with alpha, Dl=Ll, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_lightness_mul</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.42.jpeg' height='80' width='480'>layers.c.41.jpeg</image></td><td align='left' valign='center'>Dl=Ll*Sl apply with alpha, Dhs=Lhs, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_darken</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.43.jpeg' height='80' width='480'>layers.c.42.jpeg</image></td><td align='left' valign='center'>Dl=min(Ll,Sl) apply with alpha, Dhs=Lhs, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_lighten</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.44.jpeg' height='80' width='480'>layers.c.43.jpeg</image></td><td align='left' valign='center'>Dl=max(Ll,Sl) apply with alpha, Dhs=Lhs, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_saturate</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.45.jpeg' height='80' width='480'>layers.c.44.jpeg</image></td><td align='left' valign='center'>Ds=max(Ls,Ss) apply with alpha, Dhl=Lhl, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>hls_desaturate</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.46.jpeg' height='80' width='480'>layers.c.45.jpeg</image></td><td align='left' valign='center'>Ds=min(Ls,Ss) apply with alpha, Dhl=Lhl, aD=aS</td></tr>
<tr><td> </td></tr><tr><td align='left' colspan='2'><b>dissolve</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.47.jpeg' height='80' width='480'>layers.c.46.jpeg</image></td><td align='left' valign='center'>i=random 0 or 1, D=i?L:S, aD=i+aS</td></tr>
<tr><td align='left' colspan='2'><b>behind</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.48.jpeg' height='80' width='480'>layers.c.47.jpeg</image></td><td align='left' valign='center'>D=(S*aS+L*(1-aS)*aL) / (aS+(1-aS)*aL), aD=(aS+(1-aS)*aL); simply swap S and L</td></tr>
<tr><td align='left' colspan='2'><b>erase</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.49.jpeg' height='80' width='480'>layers.c.48.jpeg</image></td><td align='left' valign='center'>D=S, aD=aS*(1-aL)</td></tr>
<tr><td> </td></tr><tr><td align='left' colspan='2'><b>screen</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.50.jpeg' height='80' width='480'>layers.c.49.jpeg</image></td><td align='left' valign='center'>1-(1-S)*(1-L) applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>overlay</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.51.jpeg' height='80' width='480'>layers.c.50.jpeg</image></td><td align='left' valign='center'>(1-(1-a)*(1-b)-a*b)*a+a*b applied with alpha, aD=aS</td></tr>
<tr><td align='left' colspan='2'><b>burn_alpha</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.52.jpeg' height='80' width='480'>layers.c.51.jpeg</image></td><td align='left' valign='center'>aD=aL+aS applied with alpha, D=L+S; experimental, may change or be removed</td></tr>
<tr><td> </td></tr><tr><td align='left' colspan='2'><b>equal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.53.jpeg' height='80' width='480'>layers.c.52.jpeg</image></td><td align='left' valign='center'>each channel D=max if L==S, 0 otherwise, apply with alpha</td></tr>
<tr><td align='left' colspan='2'><b>not_equal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.54.jpeg' height='80' width='480'>layers.c.53.jpeg</image></td><td align='left' valign='center'>each channel D=max if L!=S, 0 otherwise, apply with alpha</td></tr>
<tr><td align='left' colspan='2'><b>less</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.55.jpeg' height='80' width='480'>layers.c.54.jpeg</image></td><td align='left' valign='center'>each channel D=max if L&amp;lt;S, 0 otherwise, apply with alpha</td></tr>
<tr><td align='left' colspan='2'><b>more</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.56.jpeg' height='80' width='480'>layers.c.55.jpeg</image></td><td align='left' valign='center'>each channel D=max if L&amp;gt;S, 0 otherwise, apply with alpha</td></tr>
<tr><td align='left' colspan='2'><b>less_or_equal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.57.jpeg' height='80' width='480'>layers.c.56.jpeg</image></td><td align='left' valign='center'>each channel D=max if L&amp;lt;=S, 0 otherwise, apply with alpha</td></tr>
<tr><td align='left' colspan='2'><b>more_or_equal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.58.jpeg' height='80' width='480'>layers.c.57.jpeg</image></td><td align='left' valign='center'>each channel D=max if L&amp;gt;=S, 0 otherwise, apply with alpha</td></tr>
<tr><td> </td></tr><tr><td align='left' colspan='2'><b>logic_equal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.59.jpeg' height='80' width='480'>layers.c.58.jpeg</image></td><td align='left' valign='center'>logic: D=white and opaque if L==S, black and transparent otherwise</td></tr>
<tr><td align='left' colspan='2'><b>logic_not_equal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.60.jpeg' height='80' width='480'>layers.c.59.jpeg</image></td><td align='left' valign='center'>logic: D=white and opaque if any L!=S, black and transparent otherwise</td></tr>
<tr><td align='left' colspan='2'><b>logic_strict_less</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.61.jpeg' height='80' width='480'>layers.c.60.jpeg</image></td><td align='left' valign='center'>logic: D=white and opaque if all L&amp;lt;S, black and transparent otherwise</td></tr>
<tr><td align='left' colspan='2'><b>logic_strict_more</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.62.jpeg' height='80' width='480'>layers.c.61.jpeg</image></td><td align='left' valign='center'>logic: D=white and opaque if all L&amp;gt;S, black and transparent otherwise</td></tr>
<tr><td align='left' colspan='2'><b>logic_strict_less_equal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.63.jpeg' height='80' width='480'>layers.c.62.jpeg</image></td><td align='left' valign='center'>logic: D=white and opaque if all L&amp;lt;=L, black and transparent otherwise</td></tr>
<tr><td align='left' colspan='2'><b>logic_strict_more_equal</b></td></tr><tr><td align='right'><image file='predef.APPENDIX324279123.64.jpeg' height='80' width='480'>layers.c.63.jpeg</image></td><td align='left' valign='center'>logic: D=white and opaque if all L&amp;gt;=L, black and transparent otherwise</td></tr>
|
be393a | 2001-07-27 | Martin Nilsson | | </table></p>
|
bfefa2 | 2001-07-17 | Martin Nilsson | | </text>
</doc>
</appendix>
|
3b2198 | 2003-04-01 | Martin Nilsson | | <namespace name='cpp'>
|
f53724 | 2001-07-28 | Martin Nilsson | | <docgroup homogen-name='__AUTO_BIGNUM__' homogen-type='constant'><doc><text><p>This define is defined when automatic bignum conversion is enabled.
When enabled all integers will automatically be converted to
bignums when they get bigger than what can be represented by
an integer, hampering performance slightly instead of crashing
the program.</p>
</text></doc>
<constant name='__AUTO_BIGNUM__'/>
</docgroup>
<docgroup homogen-name='__BUILD__' homogen-type='constant'><doc><text><p>This constant contains the build number of the current Pike version,
represented as an integer. If another Pike version is emulated,
this constant remains unaltered.</p>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='cpp::.__REAL_MINOR__'>__REAL_MINOR__</ref></p>
|
f53724 | 2001-07-28 | Martin Nilsson | | </text></group></doc>
<constant name='__BUILD__'/>
</docgroup>
<docgroup homogen-name='__DATE__' homogen-type='constant'><doc><text><p>This define contains the current date at the time of compilation,
e.g. "Jul 28 2001".</p>
</text></doc>
<constant name='__DATE__'/>
</docgroup>
<docgroup homogen-name='__FILE__' homogen-type='constant'><doc><text><p>This define contains the file path and name of the source file.</p>
</text></doc>
<constant name='__FILE__'/>
</docgroup>
<docgroup homogen-name='__LINE__' homogen-type='constant'><doc><text><p>This define contains the current line number, represented as an
integer, in the source file.</p>
</text></doc>
<constant name='__LINE__'/>
</docgroup>
<docgroup homogen-name='__MAJOR__' homogen-type='constant'><doc><text><p>This define contains the major part of the current Pike version,
represented as an integer. If another Pike version is emulated,
this define is updated accordingly.</p>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='cpp::.__REAL_MAJOR__'>__REAL_MAJOR__</ref></p>
|
f53724 | 2001-07-28 | Martin Nilsson | | </text></group></doc>
<constant name='__MAJOR__'/>
</docgroup>
<docgroup homogen-name='__MINOR__' homogen-type='constant'><doc><text><p>This define contains the minor part of the current Pike version,
represented as an integer. If another Pike version is emulated,
this define is updated accordingly.</p>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='cpp::.__REAL_MINOR__'>__REAL_MINOR__</ref></p>
|
f53724 | 2001-07-28 | Martin Nilsson | | </text></group></doc>
<constant name='__MINOR__'/>
</docgroup>
<docgroup homogen-name='__NT__' homogen-type='constant'><doc><text><p>This define is defined when the Pike is running on a Microsoft Windows OS,
not just Microsoft Windows NT, as the name implies.</p>
</text></doc>
<constant name='__NT__'/>
</docgroup>
<docgroup homogen-name='__PIKE__' homogen-type='constant'><doc><text><p>This define is always true.</p>
</text></doc>
<constant name='__PIKE__'/>
</docgroup>
<docgroup homogen-name='__REAL_BUILD__' homogen-type='constant'><doc><text><p>This define always contains the minor part of the version of the
current Pike, represented as an integer.</p>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='cpp::.__BUILD__'>__BUILD__</ref></p>
|
f53724 | 2001-07-28 | Martin Nilsson | | </text></group></doc>
<constant name='__REAL_BUILD__'/>
</docgroup>
<docgroup homogen-name='__REAL_MAJOR__' homogen-type='constant'><doc><text><p>This define always contains the major part of the version of the
current Pike, represented as an integer.</p>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='cpp::.__MAJOR__'>__MAJOR__</ref></p>
|
f53724 | 2001-07-28 | Martin Nilsson | | </text></group></doc>
<constant name='__REAL_MAJOR__'/>
</docgroup>
<docgroup homogen-name='__REAL_MINOR__' homogen-type='constant'><doc><text><p>This define always contains the minor part of the version of the
current Pike, represented as an integer.</p>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='cpp::.__MINOR__'>__MINOR__</ref></p>
|
f53724 | 2001-07-28 | Martin Nilsson | | </text></group></doc>
<constant name='__REAL_MINOR__'/>
</docgroup>
<docgroup homogen-name='__REAL_VERSION__' homogen-type='constant'><doc><text><p>This define always contains the version of the current Pike,
represented as a float.</p>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='cpp::.__VERSION__'>__VERSION__</ref></p>
|
f53724 | 2001-07-28 | Martin Nilsson | | </text></group></doc>
<constant name='__REAL_VERSION__'/>
</docgroup>
<docgroup homogen-name='__TIME__' homogen-type='constant'><doc><text><p>This define contains the current time at the time of compilation,
e.g. "12:20:51".</p>
</text></doc>
<constant name='__TIME__'/>
</docgroup>
<docgroup homogen-name='__VERSION__' homogen-type='constant'><doc><text><p>This define contains the current Pike version as a float. If
another Pike version is emulated, this define is updated
accordingly.</p>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='cpp::.__REAL_VERSION__'>__REAL_VERSION__</ref></p>
|
f53724 | 2001-07-28 | Martin Nilsson | | </text></group></doc>
<constant name='__VERSION__'/>
</docgroup>
<docgroup homogen-name='__amigaos__' homogen-type='constant'><doc><text><p>This define is defined when the Pike is running on Amiga OS.</p>
</text></doc>
<constant name='__amigaos__'/>
</docgroup>
|
3b2198 | 2003-04-01 | Martin Nilsson | | </namespace>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <namespace name='lfun'>
<doc><text><p>Callback functions used to overload various builtin functions.</p>
<p> The functions can be grouped into a few sets:</p>
<ul><group><item/><text><p>Object initialization and destruction.</p>
<p> <ref resolved='lfun::__INIT'>__INIT()</ref>, <ref resolved='lfun::create'>create()</ref>, <ref resolved='lfun::destroy'>destroy()</ref></p>
</text></group><group><item/><text><p>Unary operator overloading.</p>
<p> <ref resolved='lfun::`~'>`~()</ref>, <ref resolved='lfun::`!'>`!()</ref>,
<ref resolved='lfun::_values'>_values()</ref>, <ref resolved='lfun::cast'>cast()</ref>,
<ref resolved='lfun::_sizeof'>_sizeof()</ref>, <ref resolved='lfun::_indices'>_indices()</ref>,
<ref resolved='lfun::__hash'>__hash()</ref></p>
</text></group><group><item/><text><p>Binary assymetric operator overloading.</p>
<p> <ref resolved='lfun::`+'>`+()</ref>, <ref resolved='lfun::``+'>``+()</ref>,
<ref resolved='lfun::`-'>`-()</ref>, <ref resolved='lfun::``-'>``-()</ref>,
<ref resolved='lfun::`&'>&`&()</ref>, <ref resolved='lfun::``&'>&``&()</ref>,
<ref resolved='lfun::`|'>`|()</ref>, <ref resolved='lfun::``|'>``|()</ref>,
<ref resolved='lfun::`^'>`^()</ref>, <ref resolved='lfun::``^'>``^()</ref>,
<ref resolved='lfun::`<<'><<`<<()</ref>, <ref resolved='lfun::``<<'><<``<<()</ref>,
<ref resolved='lfun::`>>'>>>`>>()</ref>, <ref resolved='lfun::``>>'>>>``>>()</ref>,
<ref resolved='lfun::`*'>`*()</ref>, <ref resolved='lfun::``*'>``*()</ref>,
<ref resolved='lfun::`/'>`/()</ref>, <ref resolved='lfun::``/'>``/()</ref>,
<ref resolved='lfun::`%'>`%()</ref>, <ref resolved='lfun::``%'>``%()</ref></p>
</text></group><group><item/><text><p>Binary symetric operator overloading.</p>
<p> The optimizer will make assumptions about the relations
between these functions.</p>
<p> <ref resolved='lfun::`=='>`==()</ref>, <ref resolved='lfun::_equal'>_equal()</ref>, <ref resolved='lfun::`<'><`<()</ref>, <ref resolved='lfun::`>'>>`>()</ref></p>
</text></group><group><item/><text><p>Other binary operator overloading.</p>
<p> <ref resolved='lfun::`[]'>`[]()</ref>, <ref resolved='lfun::`[]='>`[]=()</ref>, <ref resolved='lfun::`->'>>`->()</ref>,
<ref resolved='lfun::`->='>>`->=()</ref>, <ref resolved='lfun::`+='>`+=()</ref>, <ref resolved='lfun::`()'>`()()</ref></p>
</text></group><group><item/><text><p>Overloading of other builtin functions.</p>
<p> <ref resolved='lfun::_is_type'>_is_type()</ref>, <ref resolved='lfun::_sprintf'>_sprintf()</ref>, <ref resolved='lfun::_m_delete'>_m_delete()</ref>,
<ref resolved='lfun::_get_iterator'>_get_iterator()</ref></p>
</text></group></ul>
</text><group><note/><text><p>Although these functions are called from outside the object
they exist in, they will still be used even if they are
|
84ea4e | 2003-04-07 | Martin Nilsson | | declared <expr>static</expr>. It is infact recommended to declare
them <expr>static</expr>, since that will hinder them being used
|
5bfef5 | 2003-04-01 | Martin Nilsson | | for other purposes.</p>
</text></group><group><seealso/><text><p><ref resolved='::'>::</ref></p>
</text></group></doc>
<docgroup homogen-name='__INIT' homogen-type='method'><doc><text><p>Global variable initialization.</p>
<p> This function is called just before <ref resolved='lfun::create'>lfun::create()</ref> when
an object is instanciated.</p>
</text><group><note/><text><p>This function is generated automatically by the compiler,
and can not be overloaded.</p>
</text></group><group><seealso/><text><p><ref resolved='lfun::create'>lfun::create()</ref></p>
</text></group></doc>
<method name='__INIT'>
<arguments/>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='__hash' homogen-type='method'><doc><text><p>Hashing callback.</p>
<p> This function gets called by various mapping operations when the
|
4a990c | 2003-04-28 | Martin Stjernholm | | object is used as index in a mapping. It should return an
integer that corresponds to the object in such a way that all
values which <ref resolved='lfun::`=='>lfun::`==</ref> considers equal to the object gets the
same hash value.</p>
</text><group><note/><text><p>The function <ref resolved='predef::hash'>predef::hash</ref> does not return hash values that
are compatible with this one.</p>
</text></group><group><seealso/><text><p><ref resolved='lfun::`=='>lfun::`==</ref></p>
</text></group></doc>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <method name='__hash'>
<arguments/>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_equal' homogen-type='method'><doc><text><p>Equal callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::equal'>predef::equal()</ref>, <ref resolved='lfun::`=='>lfun::`==()</ref></p>
</text></group></doc>
<method name='_equal'>
<arguments><argument name='arg'><type><mixed/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
|
a8b400 | 2003-04-18 | Martin Stjernholm | | <docgroup homogen-name='_get_iterator' homogen-type='method'><doc><text><p>Iterator creation callback. The returned <ref>Iterator</ref> instance
works as a cursor that references a specific item contained (in
some arbitrary sense) in this one.</p>
</text><group><seealso/><text><p><ref>Iterator</ref>, <ref>get_iterator</ref>, <ref>predef::foreach()</ref></p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group></doc>
<method name='_get_iterator'>
<arguments/>
|
a8b400 | 2003-04-18 | Martin Stjernholm | | <returntype><object>Iterator</object></returntype>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </method>
</docgroup>
<docgroup homogen-name='_indices' homogen-type='method'><doc><text><p>Indices operator callback.</p>
</text><group><returns/><text><p>Expected to return an array with the valid indices in the object.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::indices'>predef::indices()</ref>, <ref resolved='lfun::_values'>lfun::_values()</ref></p>
</text></group></doc>
<method name='_indices'>
<arguments/>
<returntype><array/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_is_type' homogen-type='method'><doc><text><p>Type comparison callback.</p>
<p> Called by the cast operator to determine if an object
simulates a basic type.</p>
</text><group><param name='basic_type'/><text><p>One of:</p>
<string><group><value>"array"</value><value>"float"</value><value>"function"</value><value>"int"</value><value>"mapping"</value><value>"multiset"</value><value>"object"</value><value>"program"</value><value>"string"</value><value>"type"</value><value>"void"</value><value>"zero"</value></group></string><p>The following five shouldn't occurr, but are here for completeness:</p>
<string><group><value>"lvalue"</value><value>"mapping_data"</value><value>"object storage"</value><value>"pike_frame"</value><value>"unknown"</value></group></string>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text></group><group><returns/><text><p>Expected to return <expr>1</expr> if the object is to be regarded as a
|
5bfef5 | 2003-04-01 | Martin Nilsson | | simulation of the type specified by <ref resolved='lfun::_is_type.basic_type'>basic_type</ref>.</p>
</text></group><group><note/><text><p>The argument is currently a string with the name
of the type, but might in the future be a value of the type type.</p>
</text></group></doc>
<method name='_is_type'>
<arguments><argument name='basic_type'><type><string/></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='_m_delete' homogen-type='method'><doc><text><p>Mapping delete callback.</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>
|
9810c5 | 2003-04-10 | Martin Nilsson | | <docgroup homogen-name='_random' homogen-type='method'><doc><text><p>Called by <ref>random</ref>. Typical uses is when the object implements
a ADT, then a call to this lfun should return a random member of
the ADT or range implied by the ADT.</p>
</text><group><seealso/><text><p><ref resolved='predef::random'>predef::random()</ref></p>
</text></group></doc>
<method name='_random'>
<arguments/>
<returntype><mixed/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='_sizeof' homogen-type='method'><doc><text><p>Sizeof operator callback.</p>
<p> Called by <ref>sizeof()</ref> to determine the number of elements
in an object. If this function is not present, the number
of public symbols in the object will be returned.</p>
</text><group><returns/><text><p>Expected to return the number of valid indices in the object.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::sizeof'>predef::sizeof()</ref></p>
</text></group></doc>
<method name='_sizeof'>
<arguments/>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_sprintf' homogen-type='method'><doc><text><p>Sprintf callback.</p>
<p> This method is called by <ref resolved='predef::sprintf'>predef::sprintf()</ref> to print objects. If it is
not present, printing of the object will not be supported for any
conversion-type except for the <tt>%O</tt>-conversion-type, which
|
84ea4e | 2003-04-07 | Martin Nilsson | | will output <expr>"object"</expr>.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><param name='conversion_type'/><text><p>One of:</p>
<int><group><value>'b'</value><text><p>Signed binary integer.</p>
</text></group><group><value>'d'</value><text><p>Signed decimal integer.</p>
</text></group><group><value>'u'</value><text><p>Unsigned decimal integer.</p>
</text></group><group><value>'o'</value><text><p>Signed octal integer.</p>
</text></group><group><value>'x'</value><text><p>Lowercase signed hexadecimal integer.</p>
</text></group><group><value>'X'</value><text><p>Uppercase signed hexadecimal integer.</p>
</text></group><group><value>'c'</value><text><p>Character. If a fieldsize has been specified this will output
the low-order bytes of the integer in network byte order.</p>
</text></group><group><value>'f'</value><text><p>Float.</p>
</text></group><group><value>'g'</value><text><p>Heuristically chosen representation of float.</p>
</text></group><group><value>'G'</value><text><p>Like <tt>%g</tt>, but uses uppercase <tt>E</tt> for exponent.</p>
</text></group><group><value>'e'</value><text><p>Exponential notation float.</p>
</text></group><group><value>'E'</value><text><p>Like <tt>%e</tt>, but uses uppercase <tt>E</tt> for exponent.</p>
</text></group><group><value>'s'</value><text><p>String.</p>
</text></group><group><value>'O'</value><text><p>Any value (debug style).</p>
</text></group><group><value>'t'</value><text><p>Type of the argument.</p>
</text></group></int>
</text></group><group><param name='params'/><text><p>Conversion parameters. The following parameters may be supplied:</p>
<mapping><group><member><type><int/></type><index>"precision"</index></member><text><p>Precision.</p>
</text></group><group><member><type><int/></type><index>"width"</index></member><text><p>Field width.</p>
</text></group><group><member><type><int><min>1</min><max>1</max></int></type><index>"flag_left"</index></member><text><p>Indicates that the output should be left-aligned.</p>
</text></group><group><member><type><int/></type><index>"indent"</index></member><text><p>Indentation level in <tt>%O</tt>-mode.</p>
</text></group></mapping>
</text></group><group><returns/><text><p>Is expected to return a string describing the object formatted
according to <ref resolved='lfun::_sprintf.conversion_type'>conversion_type</ref>.</p>
</text></group><group><note/><text><p><ref resolved='lfun::_sprintf'>_sprintf()</ref> is currently not called for the following
conversion-types:</p>
<int><group><value>'F'</value><text><p>Binary IEEE representation of float (<tt>%4F</tt> gives
single precision, <tt>%8F</tt> gives double precision.)</p>
</text></group></int>
</text></group><group><seealso/><text><p><ref resolved='predef::sprintf'>predef::sprintf()</ref></p>
</text></group></doc>
<method name='_sprintf'>
<arguments><argument name='conversion_type'><type><int/></type></argument><argument name='params'><type><or><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping><void/></or></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_values' homogen-type='method'><doc><text><p>Values operator callback.</p>
</text><group><returns/><text><p>Expected to return an array with the values corresponding to
the indices returned by <ref resolved='lfun::_indices'>lfun::_indices()</ref>.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::values'>predef::values()</ref>, <ref resolved='lfun::_indices'>lfun::_indices()</ref></p>
</text></group></doc>
<method name='_values'>
<arguments/>
<returntype><array/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`!' homogen-type='method'><doc><text><p>Not operator callback.</p>
</text><group><returns/><text><p>Returns non-zero if the object should be evaluated as false,
|
84ea4e | 2003-04-07 | Martin Nilsson | | and <expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::`!'>predef::`!()</ref></p>
</text></group></doc>
<method name='`!'>
<arguments/>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`%' homogen-type='method'><doc><text><p>Left associative modulo operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``%'>lfun::``%()</ref>, <ref resolved='predef::`%'>predef::`%()</ref></p>
</text></group></doc>
<method name='`%'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`&' homogen-type='method'>&<doc><text><p>Left associative and operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``&'>&lfun::``&()</ref>, <ref resolved='predef::`&'>&predef::`&()</ref></p>
</text></group></doc>
<method name='`&'>&
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`()' homogen-type='method'><doc><text><p>Function call operator callback.</p>
</text><group><seealso/><text><p><ref>predef::`()</ref></p>
</text></group></doc>
<method name='`()'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`*' homogen-type='method'><doc><text><p>Left associative multiplication operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``*'>lfun::``*()</ref>, <ref resolved='predef::`*'>predef::`*()</ref></p>
</text></group></doc>
<method name='`*'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`+' homogen-type='method'><doc><text><p>Left associative addition operator callback.</p>
|
5f589b | 2003-04-18 | Martin Stjernholm | | </text><group><seealso/><text><p><ref resolved='lfun::``+'>lfun::``+()</ref>, <ref resolved='lfun::`+='>lfun::`+=()</ref>, <ref resolved='predef::`+'>predef::`+()</ref></p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group></doc>
<method name='`+'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`+=' homogen-type='method'><doc><text><p>Self increment operator callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::`+'>predef::`+()</ref>, <ref resolved='lfun::`+'>lfun::`+()</ref></p>
</text></group></doc>
<method name='`+='>
<arguments><argument name='arg'><type><zero/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
|
5f589b | 2003-04-18 | Martin Stjernholm | | <docgroup homogen-name='`+=' homogen-type='method'><doc><text><p>Left associative addition operator callback that destructively
assigns the result of the addition to this object. It should
always return this object.</p>
</text><group><note/><text><p>This function should only be implemented if <ref resolved='lfun::`+'>lfun::`+()</ref> also
is. It should only work as a more optimized alternative to that
one, for the case when it's safe to change the object
destructively.</p>
</text></group><group><note/><text><p>This function is not an lfun for the <expr>+=</expr> operator. It's
only the safety to do a destructive change that decides whether
this function or <ref resolved='lfun::`+'>lfun::`+()</ref> will be called; both the
<expr>+</expr> operator and the <expr>+=</expr> operator can call either
one.</p>
</text></group><group><seealso/><text><p><ref resolved='lfun::`+'>lfun::`+()</ref>, <ref resolved='predef::`+'>predef::`+()</ref></p>
</text></group></doc>
<method name='`+='>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><object>this_program</object></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='`-' homogen-type='method'><doc><text><p>Left associative subtraction operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``-'>lfun::``-()</ref>, <ref resolved='predef::`-'>predef::`-()</ref></p>
</text></group></doc>
<method name='`-'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`->' homogen-type='method'>><doc><text><p>Arrow index operator callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::`->'>>predef::`->()</ref></p>
</text></group></doc>
<method name='`->'>>
<arguments><argument name='arg'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`->=' homogen-type='method'>><doc><text><p>Arrow index assign operator callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::`->='>>predef::`->=()</ref>, <ref resolved='lfun::`[]='>lfun::`[]=()</ref></p>
</text></group></doc>
<method name='`->='>>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><zero/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`/' homogen-type='method'><doc><text><p>Left associative division operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``/'>lfun::``/()</ref>, <ref resolved='predef::`/'>predef::`/()</ref></p>
</text></group></doc>
<method name='`/'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`<' homogen-type='method'><<doc><text><p>Less than operator callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::`<'><predef::`<()</ref></p>
</text></group></doc>
<method name='`<'><
<arguments><argument name='arg'><type><mixed/></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`<<' homogen-type='method'><<<doc><text><p>Left associative left shift operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``<<'><<lfun::``<<()</ref>, <ref resolved='predef::`<<'><<predef::`<<()</ref></p>
</text></group></doc>
<method name='`<<'><<
<arguments><argument name='arg'><type><zero/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`==' homogen-type='method'><doc><text><p>Equality operator callback.</p>
|
4a990c | 2003-04-28 | Martin Stjernholm | | </text><group><note/><text><p>If this is implemented it might be necessary to implement
<ref resolved='lfun::__hash'>lfun::__hash</ref> too. Otherwise mappings might hold several
objects as indices which are duplicates according to this
function. Various other functions that use hashing also might
not work correctly, e.g. <ref>Array.uniq</ref>.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`=='>predef::`==()</ref>, <ref resolved='lfun::__hash'>lfun::__hash</ref></p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group></doc>
<method name='`=='>
<arguments><argument name='arg'><type><mixed/></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`>' homogen-type='method'>><doc><text><p>Greater than operator callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::`>'>>predef::`>()</ref></p>
</text></group></doc>
<method name='`>'>>
<arguments><argument name='arg'><type><mixed/></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`>>' homogen-type='method'>>><doc><text><p>Left associative right shift operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``>>'>>>lfun::``>>()</ref>, <ref resolved='predef::`>>'>>>predef::`>>()</ref></p>
</text></group></doc>
<method name='`>>'>>>
<arguments><argument name='arg'><type><zero/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`[]' homogen-type='method'><doc><text><p>Index/range operator callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::`[]'>predef::`[]()</ref></p>
</text></group></doc>
<method name='`[]'>
<arguments><argument name='arg1'><type><zero/></type></argument><argument name='arg2'><type><or><zero/><void/></or></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`[]=' homogen-type='method'><doc><text><p>Index assignment operator callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::`[]='>predef::`[]=()</ref>, <ref resolved='lfun::`->='>>lfun::`->=()</ref></p>
</text></group></doc>
<method name='`[]='>
<arguments><argument name='arg1'><type><zero/></type></argument><argument name='arg2'><type><zero/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`^' homogen-type='method'><doc><text><p>Left associative exclusive or operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``^'>lfun::``^()</ref>, <ref resolved='predef::`^'>predef::`^()</ref></p>
</text></group></doc>
<method name='`^'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``%' homogen-type='method'><doc><text><p>Right associative modulo operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`%'>lfun::`%()</ref>, <ref resolved='predef::`%'>predef::`%()</ref></p>
</text></group></doc>
<method name='``%'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``&' homogen-type='method'>&<doc><text><p>Right associative and operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`&'>&lfun::`&()</ref>, <ref resolved='predef::`&'>&predef::`&()</ref></p>
</text></group></doc>
<method name='``&'>&
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``*' homogen-type='method'><doc><text><p>Right associative multiplication operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`*'>lfun::`*()</ref>, <ref resolved='predef::`*'>predef::`*()</ref></p>
</text></group></doc>
<method name='``*'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``+' homogen-type='method'><doc><text><p>Right associative addition operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`+'>lfun::`+()</ref>, <ref resolved='predef::`+'>predef::`+()</ref></p>
</text></group></doc>
<method name='``+'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``-' homogen-type='method'><doc><text><p>Right associative subtraction operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`-'>lfun::`-()</ref>, <ref resolved='predef::`-'>predef::`-()</ref></p>
</text></group></doc>
<method name='``-'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``/' homogen-type='method'><doc><text><p>Right associative division operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`/'>lfun::`/()</ref>, <ref resolved='predef::`/'>predef::`/()</ref></p>
</text></group></doc>
<method name='``/'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``<<' homogen-type='method'><<<doc><text><p>Right associative left shift operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`<<'><<lfun::`<<()</ref>, <ref resolved='predef::`<<'><<predef::`<<()</ref></p>
</text></group></doc>
<method name='``<<'><<
<arguments><argument name='arg'><type><zero/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``>>' homogen-type='method'>>><doc><text><p>Right associative right shift operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`>>'>>>lfun::`>>()</ref>, <ref resolved='predef::`>>'>>>predef::`>>()</ref></p>
</text></group></doc>
<method name='``>>'>>>
<arguments><argument name='arg'><type><zero/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``^' homogen-type='method'><doc><text><p>Right associative exclusive or operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`^'>lfun::`^()</ref>, <ref resolved='predef::`^'>predef::`^()</ref></p>
</text></group></doc>
<method name='``^'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='``|' homogen-type='method'><doc><text><p>Right associative or operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::`|'>lfun::`|()</ref>, <ref resolved='predef::`|'>predef::`|()</ref></p>
</text></group></doc>
<method name='``|'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`|' homogen-type='method'><doc><text><p>Left associative or operator callback.</p>
</text><group><seealso/><text><p><ref resolved='lfun::``|'>lfun::``|()</ref>, <ref resolved='predef::`|'>predef::`|()</ref></p>
</text></group></doc>
<method name='`|'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`~' homogen-type='method'><doc><text><p>Inversion operator callback.</p>
</text><group><seealso/><text><p><ref resolved='predef::`~'>predef::`~()</ref></p>
</text></group></doc>
<method name='`~'>
<arguments/>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='cast' homogen-type='method'><doc><text><p>Cast operator callback.</p>
</text><group><param name='requested_type'/><text><p>Type to cast to.</p>
</text></group><group><returns/><text><p>Expected to return the object value-casted (converted) to
the type described by <ref resolved='lfun::cast.requested_type'>requested_type</ref>.</p>
</text></group><group><note/><text><p>The argument is currently a string with the name
of the type, but might in the future be a value of the type type.</p>
</text></group><group><note/><text><p>Currently casting between object types is a noop.</p>
</text></group><group><note/><text><p>If the returned value is not deemed to be of the requested type
a runtime error may be thrown.</p>
</text></group></doc>
<method name='cast'>
<arguments><argument name='requested_type'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='create' homogen-type='method'><doc><text><p>Object creation callback.</p>
<p> This function is called right after <ref resolved='lfun::__INIT'>lfun::__INIT()</ref>.</p>
<p> <ref resolved='lfun::create.args'>args</ref> will be the arguments passed when the program was called.</p>
</text><group><note/><text><p>In Pike 7.2 and later this function can be created implicitly
by the compiler using the new syntax:</p>
<code><text><p>class Foo(int foo) {
int bar;
}</p>
</text></code><p>In the above case an implicit <ref resolved='lfun::create'>lfun::create()</ref> will be created,
and it will be equvivalent to:</p>
<code><text><p>class Foo {
int foo;
int bar;
static void create(int foo)
{
local::foo = foo;
}
}</p>
</text></code>
</text></group><group><seealso/><text><p><ref resolved='lfun::__INIT'>lfun::__INIT()</ref>, <ref resolved='lfun::destroy'>lfun::destroy()</ref></p>
</text></group></doc>
<method name='create'>
<arguments><argument name='args'><type><varargs><zero/></varargs></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='destroy' homogen-type='method'><doc><text><p>Object destruction callback.</p>
<p> This function is called by <ref resolved='predef::destruct'>predef::destruct()</ref> right before
it will zero all the object variables, and destroy the object.</p>
</text><group><note/><text><p>Note that it will also be called on implicit destruct, eg
when there are no more references to the object, or when
the garbage-collector decides to destruct the object.</p>
</text></group><group><seealso/><text><p><ref resolved='lfun::create'>lfun::create()</ref>, <ref resolved='predef::destruct'>predef::destruct()</ref></p>
</text></group></doc>
<method name='destroy'>
<arguments/>
<returntype><void/></returntype>
</method>
</docgroup>
</namespace>
|
3b2198 | 2003-04-01 | Martin Nilsson | | <namespace name='predef'>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='UNDEFINED' homogen-type='constant'><doc><text><p>The undefined value; ie a zero for which <ref resolved='predef::zero_type'>zero_type()</ref> returns 1.</p>
</text></doc>
<constant name='UNDEFINED'/>
</docgroup>
|
9810c5 | 2003-04-10 | Martin Nilsson | | <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>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='__parse_pike_type' homogen-type='method'>
<method name='__parse_pike_type'>
<arguments><argument name='t'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
|
68af02 | 2001-11-02 | Martin Stjernholm | | <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 stop. It then waits until all threads actually *have* stopped,
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 OS the effective user and group applies 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
local variables. Also, it shouldn't be referenced from cyclic
memory structures, since those are only destructed by the periodic
gc. (This advice applies to mutex locks in general, for that
matter.)</p>
|
05bb31 | 2001-02-06 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='_disable_threads'>
<arguments/>
<returntype><object resolved='predef::_disable_threads'>_disable_threads</object></returntype>
</method>
</docgroup>
|
87e047 | 2001-03-12 | Fredrik Hübinette (Hubbe) | | <docgroup homogen-name='_do_call_outs' homogen-type='method'><doc><text><p>Do all pending call_outs.</p>
<p> This function runs all pending call_outs that should have been
run if Pike returned to the backend. It should not be used in
normal operation.</p>
<p> As a side-effect, this function sets the value returned by
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <ref resolved='predef::time'>time(1)</ref> to the current time.</p>
|
87e047 | 2001-03-12 | Fredrik Hübinette (Hubbe) | | </text><group><seealso/><text><p><ref resolved='predef::call_out'>call_out()</ref>, <ref resolved='predef::find_call_out'>find_call_out()</ref>, <ref resolved='predef::remove_call_out'>remove_call_out()</ref></p>
</text></group></doc>
<method name='_do_call_outs'>
<arguments/>
<returntype><void/></returntype>
</method>
|
c3eeb1 | 1996-12-15 | Fredrik Hübinette (Hubbe) | | </docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='_exit' homogen-type='method'><doc><text><p>This function does the same as <ref resolved='predef::exit'>exit</ref>, but doesn't bother to clean
up the Pike interpreter before exiting. This means that no destructors
will be called, caches will not be flushed, file locks might not be
released, and databases might not be closed properly.</p>
<p> Use with extreme caution.</p>
</text><group><seealso/><text><p><ref resolved='predef::exit'>exit()</ref></p>
</text></group></doc>
<method name='_exit'>
<arguments><argument name='returncode'><type><int/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_next' homogen-type='method'><doc><text><p>Find the next object/array/mapping/multiset/program or string.</p>
<p> All objects, arrays, mappings, multisets, programs and strings are
stored in linked lists inside Pike. This function returns the next
item on the corresponding list. It is mainly meant for debugging
the Pike runtime, but can also be used to control memory usage.</p>
</text><group><seealso/><text><p><ref resolved='predef::next_object'>next_object()</ref>, <ref resolved='predef::_prev'>_prev()</ref></p>
</text></group></doc>
<method name='_next'>
<arguments><argument name='x'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_prev' homogen-type='method'><doc><text><p>Find the previous object/array/mapping/multiset or program.</p>
<p> All objects, arrays, mappings, multisets and programs are
stored in linked lists inside Pike. This function returns the previous
item on the corresponding list. It is mainly meant for debugging
the Pike runtime, but can also be used to control memory usage.</p>
</text><group><note/><text><p>Unlike <ref resolved='predef::_next'>_next()</ref> this function does not work on strings.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::next_object'>next_object()</ref>, <ref resolved='predef::_next'>_next()</ref></p>
</text></group></doc>
<method name='_prev'>
<arguments><argument name='x'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_refs' homogen-type='method'><doc><text><p>Return the number of references <ref resolved='predef::_refs.o'>o</ref> has.</p>
<p> It is mainly meant for debugging the Pike runtime, but can also be
used to control memory usage.</p>
</text><group><note/><text><p>Note that the number of references will always be at least one since
the value is located on the stack when this function is executed.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::_next'>_next()</ref>, <ref resolved='predef::_prev'>_prev()</ref></p>
</text></group></doc>
<method name='_refs'>
<arguments><argument name='o'><type><or><string/><array/><mapping/><multiset/><function/><object resolved='predef::_refs'/><program/></or></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='_typeof' homogen-type='method'><doc><text><p>Return the runtime type of <ref resolved='predef::_typeof.x'>x</ref>.</p>
</text><group><seealso/><text><p><ref>typeof()</ref></p>
</text></group></doc>
<method name='_typeof'>
<arguments><argument name='x'><type><mixed/></type></argument></arguments>
<returntype><type><mixed/></type></returntype>
</method>
</docgroup>
<docgroup homogen-name='`!' homogen-type='method'><doc><text><p>Negation operator.</p>
</text><group><returns/><text><p>If <ref resolved='predef::`!.arg'>arg</ref> is an object that implements <ref resolved='lfun::`!'>lfun::`!()</ref>, that function
will be called.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> If <ref resolved='predef::`!.arg'>arg</ref> is <expr>0</expr> (zero), a destructed object, or a function in a
destructed object, <expr>1</expr> will be returned.</p>
<p> Otherwise <expr>0</expr> (zero) will be returned.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::`=='>`==()</ref>, <ref resolved='predef::`!='>`!=()</ref>, <ref resolved='lfun::`!'>lfun::`!()</ref></p>
</text></group></doc>
<method name='`!'>
<arguments><argument name='arg'><type><or><object resolved='predef::`!'/><function/></or></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
<method name='`!'>
<arguments><argument name='arg'><type><int><min>0</min><max>0</max></int></type></argument></arguments>
<returntype><int><min>1</min><max>1</max></int></returntype>
</method>
<method name='`!'>
<arguments><argument name='arg'><type><mixed/></type></argument></arguments>
<returntype><int><min>0</min><max>0</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`!=' homogen-type='method'><doc><text><p>Inequality operator.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><returns/><text><p>Returns <expr>0</expr> (zero) if all the arguments are equal, and
<expr>1</expr> otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> This is the inverse of <ref resolved='predef::`=='>`==()</ref>.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`=='>`==()</ref></p>
</text></group></doc>
<method name='`!='>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`%' homogen-type='method'><doc><text><p>Modulo operator.</p>
</text><group><returns/><text><p>If <ref resolved='predef::`%.arg1'>arg1</ref> is an object that implements <ref resolved='lfun::`%'>lfun::`%()</ref> then
that function will be called with <ref resolved='predef::`%.arg2'>arg2</ref> as the single argument.</p>
<p> If <ref resolved='predef::`%.arg2'>arg2</ref> is an object that implements <ref resolved='lfun::``%'>lfun::``%()</ref> then
that function will be called with <ref resolved='predef::`%.arg2'>arg2</ref> as the single argument.</p>
<p> Otherwise the result will be as follows:</p>
<mixed name='arg1'><group><type><or><string/><array/></or></type><text><p>If <ref resolved='predef::`%.arg2'>arg2</ref> is positive, the result will be the last
<expr>`%(<ref resolved='predef::sizeof'>sizeof</ref>(<ref resolved='predef::`%.arg1'>arg1</ref>), <ref resolved='predef::`%.arg2'>arg2</ref>)</expr> elements of <ref resolved='predef::`%.arg1'>arg1</ref>.
If <ref resolved='predef::`%.arg2'>arg2</ref> is negative, the result will be the first
<expr>`%(<ref resolved='predef::sizeof'>sizeof</ref>(<ref resolved='predef::`%.arg1'>arg1</ref>), -<ref resolved='predef::`%.arg2'>arg2</ref>)</expr> elements of <ref resolved='predef::`%.arg1'>arg1</ref>.</p>
</text></group><group><type><or><int/><float/></or></type><text><p>The result will be
<expr><ref resolved='predef::`%.arg1'>arg1</ref> - <ref resolved='predef::`%.arg2'>arg2</ref>*<ref resolved='predef::floor'>floor</ref>(<ref resolved='predef::`%.arg1'>arg1</ref>/<ref resolved='predef::`%.arg2'>arg2</ref>)</expr>.
The result will be a float if either <ref resolved='predef::`%.arg1'>arg1</ref> or <ref resolved='predef::`%.arg2'>arg2</ref> is
a float, and an int otherwise.</p>
</text></group></mixed><p>For numbers, this means that</p>
<ol><group><item/><text><p>a % b always has the same sign as b (typically b is positive;
array size, rsa modulo, etc, and a varies a lot more than b).</p>
</text></group><group><item/><text><p>The function f(x) = x % n behaves in a sane way; as x increases,
f(x) cycles through the values 0,1, ..., n-1, 0, .... Nothing
strange happens when you cross zero.</p>
</text></group><group><item/><text><p>The % operator implements the binary "mod" operation, as defined
by Donald Knuth (see the Art of Computer Programming, 1.2.4). It
should be noted that Pike treats %-by-0 as an error rather than
returning 0, though.</p>
</text></group><group><item/><text><p>/ and % are compatible, so that a = b*(a/b) + a%b for all a and b.</p>
</text></group></ol></text></group><group><seealso/><text><p><ref resolved='predef::`/'>`/</ref></p>
</text></group></doc>
<method name='`%'>
<arguments><argument name='arg1'><type><object resolved='predef::`%'/></type></argument><argument name='arg2'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`%'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><object resolved='predef::`%'/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`%'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`%'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`%'>
<arguments><argument name='arg1'><type><float/></type></argument><argument name='arg2'><type><or><float/><int/></or></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`%'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`%'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`&' homogen-type='method'>&<doc><text><p>Bitwise and/intersection operator.</p>
</text><group><returns/><text><p>If there's a single argument, that argument will be returned.</p>
<p> If there are more than two arguments, the result will be:
<expr>`&(`&(<ref resolved='predef::`&.arg1'>&arg1</ref>, <ref resolved='predef::`&.arg2'>&arg2</ref>), @<ref resolved='predef::`&.extras'>&extras</ref>)</expr>.</p>
<p> If <ref resolved='predef::`&.arg1'>&arg1</ref> is an object that has an <ref resolved='lfun::`&'>&lfun::`&()</ref>, that function
will be called with <ref resolved='predef::`&.arg2'>&arg2</ref> as the single argument.</p>
<p> If <ref resolved='predef::`&.arg2'>&arg2</ref> is an object that has an <ref resolved='lfun::``&'>&lfun::``&()</ref>, that function
will be called with <ref resolved='predef::`&.arg1'>&arg1</ref> as the single argument.</p>
<p> Otherwise the result will be as follows:</p>
<mixed name='arg1'><group><type><int/></type><text><p>The result will be the bitwise and of <ref resolved='predef::`&.arg1'>&arg1</ref> and <ref resolved='predef::`&.arg2'>&arg2</ref>.</p>
</text></group><group><type><or><array/><multiset/><mapping/></or></type><text><p>The result will be the elements of <ref resolved='predef::`&.arg1'>&arg1</ref> and <ref resolved='predef::`&.arg2'>&arg2</ref> that
occurr in both.</p>
</text></group><group><type><or><type><mixed/></type><program/></or></type><text><p>The result will be the type intersection of <ref resolved='predef::`&.arg1'>&arg1</ref> and <ref resolved='predef::`&.arg2'>&arg2</ref>.</p>
</text></group><group><type><string/></type><text><p>The result will be the string where the elements of <ref resolved='predef::`&.arg1'>&arg1</ref>
and <ref resolved='predef::`&.arg2'>&arg2</ref> have been pairwise bitwise anded.</p>
</text></group></mixed>
</text></group><group><seealso/><text><p><ref resolved='predef::`|'>`|()</ref>, <ref resolved='lfun::`&'>&lfun::`&()</ref>, <ref resolved='lfun::``&'>&lfun::``&()</ref></p>
</text></group></doc>
<method name='`&'>&
<arguments><argument name='arg1'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><object resolved='predef::`&'/>&</type></argument><argument name='arg2'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><object resolved='predef::`&'/>&</type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><multiset/></type></argument><argument name='arg2'><type><multiset/></type></argument></arguments>
<returntype><multiset/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><mapping/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><or><type><mixed/></type><program/></or></type></argument><argument name='arg2'><type><or><type><mixed/></type><program/></or></type></argument></arguments>
<returntype><type><mixed/></type></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><mapping/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><multiset/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><multiset/></type></argument><argument name='arg2'><type><mapping/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`&'>&
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`*' homogen-type='method'><doc><text><p>Multiplication operator.</p>
</text><group><returns/><text><p>If there's only a single argument, that argument will be returned.</p>
<p> If the first argument is an object that implements <ref resolved='lfun::`*'>lfun::`*()</ref>,
that function will be called with the rest of the arguments.</p>
<p> If there are more than two arguments, the result will be
<expr>`*(`*(<ref resolved='predef::`*.arg1'>arg1</ref>, <ref resolved='predef::`*.arg2'>arg2</ref>), @<ref resolved='predef::`*.extras'>extras</ref>)</expr>.</p>
<p> If <ref resolved='predef::`*.arg2'>arg2</ref> is an object that implements <ref resolved='lfun::``*'>lfun::``*()</ref>, that
function will be called with <ref resolved='predef::`*.arg1'>arg1</ref> as the single argument.</p>
<p> Otherwise the result will be as follows:</p>
<mixed name='arg1'><group><type><array/></type><text><mixed name='arg2'><group><type><or><int/><float/></or></type><text><p>The result will be <ref resolved='predef::`*.arg1'>arg1</ref> concatenated <ref resolved='predef::`*.arg2'>arg2</ref> times.</p>
</text></group><group><type><or><string/><array/></or></type><text><p>The result will be the elements of <ref resolved='predef::`*.arg1'>arg1</ref> concatenated with
<ref resolved='predef::`*.arg2'>arg2</ref> interspersed.</p>
</text></group></mixed></text></group><group><type><string/></type><text><p>The result will be <ref resolved='predef::`*.arg1'>arg1</ref> concatenated <ref resolved='predef::`*.arg2'>arg2</ref> times.</p>
</text></group><group><type><or><int/><float/></or></type><text><p>The result will be <expr><ref resolved='predef::`*.arg1'>arg1</ref> * <ref resolved='predef::`*.arg2'>arg2</ref></expr>, and will be a
float if either <ref resolved='predef::`*.arg1'>arg1</ref> or <ref resolved='predef::`*.arg2'>arg2</ref> is a float.</p>
</text></group></mixed>
</text></group><group><note/><text><p>In Pike 7.0 and earlier the multiplication order was unspecified.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`+'>`+()</ref>, <ref resolved='predef::`-'>`-()</ref>, <ref resolved='predef::`/'>`/()</ref>, <ref resolved='lfun::`*'>lfun::`*()</ref>, <ref resolved='lfun::``*'>lfun::``*()</ref></p>
</text></group></doc>
<method name='`*'>
<arguments><argument name='arg1'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><object resolved='predef::`*'/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><object resolved='predef::`*'/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='arg2'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><array><valuetype><array/></valuetype></array></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><float/></type></argument><argument name='arg2'><type><or><int/><float/></or></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`*'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`+' homogen-type='method'><doc><text><p>Addition operator.</p>
</text><group><returns/><text><p>If there's only a single argument, that argument will be returned.</p>
|
5f589b | 2003-04-18 | Martin Stjernholm | | <p> If <ref resolved='predef::`+.arg1'>arg1</ref> is an object with only one reference and an
<ref resolved='lfun::`+='>lfun::`+=()</ref>, that function will be called with the rest of
the arguments, and its result is returned.</p>
<p> Otherwise, if <ref resolved='predef::`+.arg1'>arg1</ref> is an object with an <ref resolved='lfun::`+'>lfun::`+()</ref>, that
function will be called with the rest of the arguments, and its
result is returned.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> Otherwise if any of the other arguments is an object that has
an <ref resolved='lfun::``+'>lfun::``+()</ref> the first such function will be called
|
5f589b | 2003-04-18 | Martin Stjernholm | | with the arguments leading up to it, and <ref resolved='predef::`+'>`+()</ref> is then called
recursively with the result and the rest of the arguments.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> If there are two arguments the result will be:</p>
<mixed name='arg1'><group><type><string/></type><text><p><ref resolved='predef::`+.arg2'>arg2</ref> will be converted to a string, and the result the
strings concatenated.</p>
</text></group><group><type><or><int/><float/></or></type><text><mixed name='arg2'><group><type><string/></type><text><p><ref resolved='predef::`+.arg1'>arg1</ref> will be converted to string, and the result the
strings concatenated.</p>
</text></group><group><type><or><int/><float/></or></type><text><p>The result will be <expr><ref resolved='predef::`+.arg1'>arg1</ref> + <ref resolved='predef::`+.arg2'>arg2</ref></expr>, and will
be a float if either <ref resolved='predef::`+.arg1'>arg1</ref> or <ref resolved='predef::`+.arg2'>arg2</ref> is a float.</p>
</text></group></mixed></text></group><group><type><array/></type><text><p>The arrays will be concatenated.</p>
</text></group><group><type><mapping/></type><text><p>The mappings will be joined.</p>
</text></group><group><type><multiset/></type><text><p>The multisets will be added.</p>
</text></group></mixed><p>Otherwise if there are more than 2 arguments the result will be:
<expr>`+(`+(<ref resolved='predef::`+.arg1'>arg1</ref>, <ref resolved='predef::`+.arg2'>arg2</ref>), @<ref resolved='predef::`+.extras'>extras</ref>)</expr></p>
</text></group><group><note/><text><p>In Pike 7.0 and earlier the addition order was unspecified.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> If <ref resolved='predef::`+.arg1'>arg1</ref> is <expr>UNDEFINED</expr> it will behave as the empty
|
5bfef5 | 2003-04-01 | Martin Nilsson | | array/mapping/multiset if needed. This behaviour was new
in Pike 7.0.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`-'>`-()</ref>, <ref resolved='lfun::`+'>lfun::`+()</ref>, <ref resolved='lfun::``+'>lfun::``+()</ref></p>
</text></group></doc>
<method name='`+'>
<arguments><argument name='arg1'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><object resolved='predef::`+'/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><or><string/><int/><float/></or></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><or><int/><float/></or></type></argument><argument name='arg2'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><float/></type></argument><argument name='arg2'><type><or><int/><float/></or></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><or><int/><float/></or></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><mapping/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><multiset/></type></argument><argument name='arg2'><type><multiset/></type></argument></arguments>
<returntype><multiset/></returntype>
</method>
<method name='`+'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`-' homogen-type='method'><doc><text><p>Negation/subtraction operator.</p>
</text><group><returns/><text><p>If there's only a single argument, that argument will be returned
negated. If <ref resolved='predef::`-.arg1'>arg1</ref> was an object, <expr><ref resolved='predef::`-.arg1'>arg1</ref>::`-()</expr> will be called
without arguments.</p>
<p> If there are more than two arguments the result will be:
<expr>`-(`-(<ref resolved='predef::`-.arg1'>arg1</ref>, <ref resolved='predef::`-.arg2'>arg2</ref>), @<ref resolved='predef::`-.extras'>extras</ref>)</expr>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> If <ref resolved='predef::`-.arg1'>arg1</ref> is an object that overloads <expr>`-()</expr>, that function will
|
5bfef5 | 2003-04-01 | Martin Nilsson | | be called with <ref resolved='predef::`-.arg2'>arg2</ref> as the single argument.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> If <ref resolved='predef::`-.arg2'>arg2</ref> is an object that overloads <expr>``-()</expr>, that function will
|
5bfef5 | 2003-04-01 | Martin Nilsson | | be called with <ref resolved='predef::`-.arg1'>arg1</ref> as the single argument.</p>
<p> Otherwise the result will be as follows:</p>
<mixed name='arg1'><group><type><mapping/></type><text><mixed name='arg2'><group><type><array/></type><text><p>The result will be <ref resolved='predef::`-.arg1'>arg1</ref> with all occurrances of
<ref resolved='predef::`-.arg2'>arg2</ref> removed.</p>
</text></group><group><type><or><multiset/><mapping/></or></type><text><p>The result will be <ref resolved='predef::`-.arg1'>arg1</ref> with all occurrences of
<expr><ref resolved='predef::indices'>indices</ref>(<ref resolved='predef::`-.arg2'>arg2</ref>)</expr> removed.</p>
</text></group></mixed></text></group><group><type><or><array/><multiset/></or></type><text><p>The result will be the elements of <ref resolved='predef::`-.arg1'>arg1</ref> that are not in <ref resolved='predef::`-.arg2'>arg2</ref>.</p>
</text></group><group><type><or><float/><int/></or></type><text><p>The result will be <expr><ref resolved='predef::`-.arg1'>arg1</ref> - <ref resolved='predef::`-.arg2'>arg2</ref></expr>, and will be a float
if either <ref resolved='predef::`-.arg1'>arg1</ref> or <ref resolved='predef::`-.arg2'>arg2</ref> is a float.</p>
</text></group><group><type><string/></type><text><p>Result will be the string <ref resolved='predef::`-.arg1'>arg1</ref> with all occurrances of the
substring <ref resolved='predef::`-.arg2'>arg2</ref> removed.</p>
</text></group></mixed>
</text></group><group><note/><text><p>In Pike 7.0 and earlier the subtraction order was unspecified.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`+'>`+()</ref></p>
</text></group></doc>
<method name='`-'>
<arguments><argument name='arg1'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><object resolved='predef::`-'/></type></argument><argument name='arg2'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><multiset/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><mapping/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><multiset/></type></argument><argument name='arg2'><type><multiset/></type></argument></arguments>
<returntype><multiset/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><float/></type></argument><argument name='arg2'><type><or><int/><float/></or></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`-'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`->' homogen-type='method'>><doc><text><p>Arrow index operator.</p>
<p> This function behaves much like <ref resolved='predef::`[]'>`[]()</ref>, just that the index is always
a string.</p>
</text><group><returns/><text><p>If <ref resolved='predef::`->.arg'>>arg</ref> is an object that implements <ref resolved='lfun::`->'>>lfun::`->()</ref>, that function
will be called with <ref resolved='predef::`->.index'>>index</ref> as the single argument.</p>
<p> Otherwise the result will be as follows:</p>
<mixed name='arg'><group><type><object resolved='predef::`->'/>></type><text><p>The non-static (ie public) symbol named <ref resolved='predef::`->.index'>>index</ref> will be looked up
in <ref resolved='predef::`->.arg'>>arg</ref>.</p>
</text></group><group><type><int/></type><text><p>The bignum function named <ref resolved='predef::`->.index'>>index</ref> will be looked up in <ref resolved='predef::`->.arg'>>arg</ref>.</p>
</text></group><group><type><array/></type><text><p>An array of all elements in <ref resolved='predef::`->.arg'>>arg</ref> arrow indexed with <ref resolved='predef::`->.index'>>index</ref>
will be returned.</p>
</text></group><group><type><mapping/></type><text><p>If <ref resolved='predef::`->.index'>>index</ref> exists in <ref resolved='predef::`->.arg'>>arg</ref> the corresponding value will be
|
84ea4e | 2003-04-07 | Martin Nilsson | | returned. Otherwise <expr>UNDEFINED</expr> will be returned.</p>
</text></group><group><type><multiset/></type><text><p>If <ref resolved='predef::`->.index'>>index</ref> exists in <ref resolved='predef::`->.arg'>>arg</ref>, <expr>1</expr> will be returned.
Otherwise <expr>UNDEFINED</expr> will be returned.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><type><program/></type><text><p>The non-static (ie public) constant symbol <ref resolved='predef::`->.index'>>index</ref> will be
looked up in <ref resolved='predef::`->.arg'>>arg</ref>.</p>
</text></group></mixed>
</text></group><group><seealso/><text><p><ref resolved='predef::`[]'>`[]()</ref>, <ref resolved='lfun::`->'>>lfun::`->()</ref>, <ref resolved='::`->'>>::`->()</ref></p>
</text></group></doc>
<method name='`->'>>
<arguments><argument name='arg'><type><object resolved='predef::`->'/>></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`->'>>
<arguments><argument name='arg'><type><int/></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`->'>>
<arguments><argument name='arg'><type><array/></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`->'>>
<arguments><argument name='arg'><type><mapping/></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`->'>>
<arguments><argument name='arg'><type><multiset/></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
<method name='`->'>>
<arguments><argument name='arg'><type><program/></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`->=' homogen-type='method'>><doc><text><p>Arrow assign operator.</p>
<p> This function behaves much like <ref resolved='predef::`[]='>`[]=()</ref>, just that the index is always
a string.</p>
<p> If <ref resolved='predef::`->=.arg'>>arg</ref> is an object that implements <ref resolved='lfun::`->='>>lfun::`->=()</ref>, that function
will be called with <ref resolved='predef::`->=.index'>>index</ref> and <ref resolved='predef::`->=.val'>>val</ref> as the arguments.</p>
<mixed name='arg'><group><type><object resolved='predef::`->='/>></type><text><p>The non-static (ie public) variable named <ref resolved='predef::`->=.index'>>index</ref> will be looked up
in <ref resolved='predef::`->=.arg'>>arg</ref>, and assigned <ref resolved='predef::`->=.val'>>val</ref>.</p>
</text></group><group><type><or><array/><mapping/></or></type><text><p>Index <ref resolved='predef::`->=.index'>>index</ref> in <ref resolved='predef::`->=.arg'>>arg</ref> will be assigned <ref resolved='predef::`->=.val'>>val</ref>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text></group><group><type><multiset/></type><text><p>If <ref resolved='predef::`->=.val'>>val</ref> is <expr>0</expr> (zero), one occurrance of <ref resolved='predef::`->=.index'>>index</ref> in
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <ref resolved='predef::`->=.arg'>>arg</ref> will be removed. Otherwise <ref resolved='predef::`->=.index'>>index</ref> will be added
to <ref resolved='predef::`->=.arg'>>arg</ref> if it is not already there.</p>
</text></group></mixed>
</text><group><returns/><text><p><ref resolved='predef::`->=.val'>>val</ref> will be returned.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`[]='>`[]=()</ref>, <ref resolved='lfun::`->='>>lfun::`->=()</ref></p>
</text></group></doc>
<method name='`->='>>
<arguments><argument name='arg'><type><object resolved='predef::`->='/>></type></argument><argument name='index'><type><string/></type></argument><argument name='val'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`->='>>
<arguments><argument name='arg'><type><mapping/></type></argument><argument name='index'><type><string/></type></argument><argument name='val'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`->='>>
<arguments><argument name='arg'><type><multiset/></type></argument><argument name='index'><type><string/></type></argument><argument name='val'><type><int><min>0</min><max>1</max></int></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`/' homogen-type='method'><doc><text><p>Division operator.</p>
</text><group><returns/><text><p>If there are more than two arguments, the result will be
<expr>`/(`/(<ref resolved='predef::`/.arg1'>arg1</ref>, <ref resolved='predef::`/.arg2'>arg2</ref>), @<ref resolved='predef::`/.extras'>extras</ref>)</expr>.</p>
<p> If <ref resolved='predef::`/.arg1'>arg1</ref> is an object that implements <ref resolved='lfun::`/'>lfun::`/()</ref>, that
function will be called with <ref resolved='predef::`/.arg2'>arg2</ref> as the single argument.</p>
<p> If <ref resolved='predef::`/.arg2'>arg2</ref> is an object that implements <ref resolved='lfun::``/'>lfun::``/()</ref>, that
function will be called with <ref resolved='predef::`/.arg1'>arg1</ref> as the single argument.</p>
<p> Otherwise the result will be as follows:</p>
<mixed name='arg1'><group><type><string/></type><text><mixed name='arg2'><group><type><or><int/><float/></or></type><text><p>The result will be and array of <ref resolved='predef::`/.arg1'>arg1</ref> split in segments
of length <ref resolved='predef::`/.arg2'>arg2</ref>. If <ref resolved='predef::`/.arg2'>arg2</ref> is negative the splitting
will start from the end of <ref resolved='predef::`/.arg1'>arg1</ref>.</p>
</text></group><group><type><string/></type><text><p>The result will be an array of <ref resolved='predef::`/.arg1'>arg1</ref> split at each
occurrence of <ref resolved='predef::`/.arg2'>arg2</ref>. Note that the segments that
matched against <ref resolved='predef::`/.arg2'>arg2</ref> will not be in the result.</p>
</text></group></mixed></text></group><group><type><array/></type><text><mixed name='arg2'><group><type><or><int/><float/></or></type><text><p>The result will be and array of <ref resolved='predef::`/.arg1'>arg1</ref> split in segments
of length <ref resolved='predef::`/.arg2'>arg2</ref>. If <ref resolved='predef::`/.arg2'>arg2</ref> is negative the splitting
will start from the end of <ref resolved='predef::`/.arg1'>arg1</ref>.</p>
</text></group><group><type><array/></type><text><p>The result will be an array of <ref resolved='predef::`/.arg1'>arg1</ref> split at each
occurrence of <ref resolved='predef::`/.arg2'>arg2</ref>. Note that the elements that
matched against <ref resolved='predef::`/.arg2'>arg2</ref> will not be in the result.</p>
</text></group></mixed></text></group><group><type><or><float/><int/></or></type><text><p>The result will be <expr><ref resolved='predef::`/.arg1'>arg1</ref> / <ref resolved='predef::`/.arg2'>arg2</ref></expr>. If both arguments
are int, the result will be truncated to an int. Otherwise the
result will be a float.</p>
</text></group></mixed></text></group><group><note/><text><p>Unlike in some languages, the function f(x) = x/n (x and n integers)
behaves in a well-defined way and is always rounded down. When you
increase x, f(x) will increase with one for each n:th increment. For
all x, (x + n) / n = x/n + 1; crossing
zero is not special. This also means that / and % are compatible, so
that a = b*(a/b) + a%b for all a and b.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`%'>`%</ref></p>
</text></group></doc>
<method name='`/'>
<arguments><argument name='arg1'><type><object resolved='predef::`/'/></type></argument><argument name='arg2'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><object resolved='predef::`/'/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><array><valuetype><string/></valuetype></array></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><array><valuetype><string/></valuetype></array></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><array><valuetype><array/></valuetype></array></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><array><valuetype><array/></valuetype></array></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><string/></type></argument></arguments>
<returntype><array><valuetype><string/></valuetype></array></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><array><valuetype><array/></valuetype></array></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><float/></type></argument><argument name='arg2'><type><or><int/><float/></or></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`/'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`<' homogen-type='method'><<doc><text><p>Less than operator.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><returns/><text><p>Returns <expr>1</expr> if the arguments are strictly increasing, and
<expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::`<='><`<=()</ref>, <ref resolved='predef::`>'>>`>()</ref>, <ref resolved='predef::`>='>>`>=()</ref></p>
</text></group></doc>
<method name='`<'><
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`<<' homogen-type='method'><<<doc><text><p>Left shift operator.</p>
<p> If <ref resolved='predef::`<<.arg1'><<arg1</ref> is an object that implements <ref resolved='lfun::`<<'><<lfun::`<<()</ref>, that
function will be called with <ref resolved='predef::`<<.arg2'><<arg2</ref> as the single argument.</p>
<p> If <ref resolved='predef::`<<.arg2'><<arg2</ref> is an object that implements <ref resolved='lfun::``<<'><<lfun::``<<()</ref>, that
function will be called with <ref resolved='predef::`<<.arg1'><<arg1</ref> as the single argument.</p>
<p> Otherwise <ref resolved='predef::`<<.arg1'><<arg1</ref> will be shifted <ref resolved='predef::`<<.arg2'><<arg2</ref> bits left.</p>
</text><group><seealso/><text><p><ref resolved='predef::`>>'>>>`>>()</ref></p>
</text></group></doc>
<method name='`<<'><<
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`<<'><<
<arguments><argument name='arg1'><type><object resolved='predef::`<<'/><<</type></argument><argument name='arg2'><type><or><int/><object resolved='predef::`<<'/><<</or></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`<<'><<
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><object resolved='predef::`<<'/><<</type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`<=' homogen-type='method'><<doc><text><p>Less or equal operator.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><returns/><text><p>Returns <expr>1</expr> if the arguments are not strictly decreasing, and
<expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> This is the inverse of <ref resolved='predef::`>'>>`>()</ref>.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`<'><`<()</ref>, <ref resolved='predef::`>'>>`>()</ref>, <ref resolved='predef::`>='>>`>=()</ref></p>
</text></group></doc>
<method name='`<='><
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`==' homogen-type='method'><doc><text><p>Equality operator.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><returns/><text><p>Returns <expr>1</expr> if all the arguments are equal, and
<expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::`!='>`!=()</ref></p>
</text></group></doc>
<method name='`=='>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`>' homogen-type='method'>><doc><text><p>Greater than operator.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><returns/><text><p>Returns <expr>1</expr> if the arguments are strictly decreasing, and
<expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::`<'><`<()</ref>, <ref resolved='predef::`<='><`<=()</ref>, <ref resolved='predef::`>='>>`>=()</ref></p>
</text></group></doc>
<method name='`>'>>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`>=' homogen-type='method'>><doc><text><p>Greater or equal operator.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><returns/><text><p>Returns <expr>1</expr> if the arguments are not strictly increasing, and
<expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> This is the inverse of <ref resolved='predef::`<'><`<()</ref>.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`<='><`<=()</ref>, <ref resolved='predef::`>'>>`>()</ref>, <ref resolved='predef::`<'><`<()</ref></p>
</text></group></doc>
<method name='`>='>>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`>>' homogen-type='method'>>><doc><text><p>Right shift operator.</p>
<p> If <ref resolved='predef::`>>.arg1'>>>arg1</ref> is an object that implements <ref resolved='lfun::`>>'>>>lfun::`>>()</ref>, that
function will be called with <ref resolved='predef::`>>.arg2'>>>arg2</ref> as the single argument.</p>
<p> If <ref resolved='predef::`>>.arg2'>>>arg2</ref> is an object that implements <ref resolved='lfun::``>>'>>>lfun::``>>()</ref>, that
function will be called with <ref resolved='predef::`>>.arg1'>>>arg1</ref> as the single argument.</p>
<p> Otherwise <ref resolved='predef::`>>.arg1'>>>arg1</ref> will be shifted <ref resolved='predef::`>>.arg2'>>>arg2</ref> bits right.</p>
</text><group><seealso/><text><p><ref resolved='predef::`<<'><<`<<()</ref></p>
</text></group></doc>
<method name='`>>'>>>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`>>'>>>
<arguments><argument name='arg1'><type><object resolved='predef::`>>'/>>></type></argument><argument name='arg2'><type><or><int/><object resolved='predef::`>>'/>>></or></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`>>'>>>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><object resolved='predef::`>>'/>>></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`[]' homogen-type='method'><doc><text><p>Index and range operator.</p>
</text><group><returns/><text><p>If <ref resolved='predef::`[].arg'>arg</ref> is an object that implements <ref resolved='lfun::`[]'>lfun::`[]()</ref>, that function
will be called with the rest of the arguments.</p>
<p> If there are 2 arguments the result will be as follows:</p>
<mixed name='arg'><group><type><object resolved='predef::`[]'/></type><text><p>The non-static (ie public) symbol named <ref resolved='predef::`[].index'>index</ref> will be looked up
in <ref resolved='predef::`[].arg'>arg</ref>.</p>
</text></group><group><type><int/></type><text><p>The bignum function named <ref resolved='predef::`[].index'>index</ref> will be looked up in <ref resolved='predef::`[].arg'>arg</ref>.</p>
</text></group><group><type><array/></type><text><p>If <ref resolved='predef::`[].index'>index</ref> is an int, index number <ref resolved='predef::`[].index'>index</ref> of <ref resolved='predef::`[].arg'>arg</ref> will be
returned. Otherwise an array of all elements in <ref resolved='predef::`[].arg'>arg</ref> indexed
with <ref resolved='predef::`[].index'>index</ref> will be returned.</p>
</text></group><group><type><mapping/></type><text><p>If <ref resolved='predef::`[].index'>index</ref> exists in <ref resolved='predef::`[].arg'>arg</ref> the corresponding value will be
|
84ea4e | 2003-04-07 | Martin Nilsson | | returned. Otherwise <expr>UNDEFINED</expr> will be returned.</p>
</text></group><group><type><multiset/></type><text><p>If <ref resolved='predef::`[].index'>index</ref> exists in <ref resolved='predef::`[].arg'>arg</ref>, <expr>1</expr> will be returned.
Otherwise <expr>UNDEFINED</expr> will be returned.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><type><string/></type><text><p>The character (int) at index <ref resolved='predef::`[].index'>index</ref> in <ref resolved='predef::`[].arg'>arg</ref> will be returned.</p>
</text></group><group><type><program/></type><text><p>The non-static (ie public) constant symbol <ref resolved='predef::`[].index'>index</ref> will be
looked up in <ref resolved='predef::`[].arg'>arg</ref>.</p>
</text></group></mixed><p>Otherwise if there are 3 arguments the result will be as follows:</p>
<mixed name='arg'><group><type><string/></type><text><p>A string with the characters between <ref resolved='predef::`[].start'>start</ref> and <ref resolved='predef::`[].end'>end</ref> (inclusive)
in <ref resolved='predef::`[].arg'>arg</ref> will be returned.</p>
</text></group><group><type><array/></type><text><p>An array with the elements between <ref resolved='predef::`[].start'>start</ref> and <ref resolved='predef::`[].end'>end</ref> (inclusive)
in <ref resolved='predef::`[].arg'>arg</ref> will be returned.</p>
</text></group></mixed>
</text></group><group><seealso/><text><p><ref resolved='predef::`->'>>`->()</ref>, <ref resolved='lfun::`[]'>lfun::`[]()</ref></p>
</text></group></doc>
<method name='`[]'>
<arguments><argument name='arg'><type><object resolved='predef::`[]'/></type></argument><argument name='index'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><object resolved='predef::`[]'/></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><int/></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><array/></type></argument><argument name='index'><type><int/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><array/></type></argument><argument name='index'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><mapping/></type></argument><argument name='index'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><multiset/></type></argument><argument name='index'><type><mixed/></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><string/></type></argument><argument name='index'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><program/></type></argument><argument name='index'><type><string/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><object resolved='predef::`[]'/></type></argument><argument name='start'><type><mixed/></type></argument><argument name='end'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><string/></type></argument><argument name='start'><type><int/></type></argument><argument name='end'><type><int/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`[]'>
<arguments><argument name='arg'><type><array/></type></argument><argument name='start'><type><int/></type></argument><argument name='end'><type><int/></type></argument></arguments>
<returntype><array/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`[]=' homogen-type='method'><doc><text><p>Index assign operator.</p>
<p> If <ref resolved='predef::`[]=.arg'>arg</ref> is an object that implements <ref resolved='lfun::`[]='>lfun::`[]=()</ref>, that function
will be called with <ref resolved='predef::`[]=.index'>index</ref> and <ref resolved='predef::`[]=.val'>val</ref> as the arguments.</p>
<mixed name='arg'><group><type><object resolved='predef::`[]='/></type><text><p>The non-static (ie public) variable named <ref resolved='predef::`[]=.index'>index</ref> will be looked up
in <ref resolved='predef::`[]=.arg'>arg</ref>, and assigned <ref resolved='predef::`[]=.val'>val</ref>.</p>
</text></group><group><type><or><array/><mapping/></or></type><text><p>Index <ref resolved='predef::`[]=.index'>index</ref> in <ref resolved='predef::`[]=.arg'>arg</ref> will be assigned <ref resolved='predef::`[]=.val'>val</ref>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text></group><group><type><multiset/></type><text><p>If <ref resolved='predef::`[]=.val'>val</ref> is <expr>0</expr> (zero), one occurrance of <ref resolved='predef::`[]=.index'>index</ref> in
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <ref resolved='predef::`[]=.arg'>arg</ref> will be removed. Otherwise <ref resolved='predef::`[]=.index'>index</ref> will be added
to <ref resolved='predef::`[]=.arg'>arg</ref> if it is not already there.</p>
</text></group></mixed>
</text><group><returns/><text><p><ref resolved='predef::`[]=.val'>val</ref> will be returned.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::`->='>>`->=()</ref>, <ref resolved='lfun::`[]='>lfun::`[]=()</ref></p>
</text></group></doc>
<method name='`[]='>
<arguments><argument name='arg'><type><object resolved='predef::`[]='/></type></argument><argument name='index'><type><mixed/></type></argument><argument name='val'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]='>
<arguments><argument name='arg'><type><object resolved='predef::`[]='/></type></argument><argument name='index'><type><string/></type></argument><argument name='val'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]='>
<arguments><argument name='arg'><type><array/></type></argument><argument name='index'><type><int/></type></argument><argument name='val'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]='>
<arguments><argument name='arg'><type><mapping/></type></argument><argument name='index'><type><mixed/></type></argument><argument name='val'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`[]='>
<arguments><argument name='arg'><type><multiset/></type></argument><argument name='index'><type><mixed/></type></argument><argument name='val'><type><int><min>0</min><max>1</max></int></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></returntype>
</method>
</docgroup>
<docgroup homogen-name='`^' homogen-type='method'><doc><text><p>Exclusive or operator.</p>
</text><group><returns/><text><p>If there's a single argument, that argument will be returned.</p>
<p> If there are more than two arguments, the result will be:
<expr>`^(`^(<ref resolved='predef::`^.arg1'>arg1</ref>, <ref resolved='predef::`^.arg2'>arg2</ref>), @<ref resolved='predef::`^.extras'>extras</ref>)</expr>.</p>
<p> If <ref resolved='predef::`^.arg1'>arg1</ref> is an object that has an <ref resolved='lfun::`^'>lfun::`^()</ref>, that function
will be called with <ref resolved='predef::`^.arg2'>arg2</ref> as the single argument.</p>
<p> If <ref resolved='predef::`^.arg2'>arg2</ref> is an object that has an <ref resolved='lfun::``^'>lfun::``^()</ref>, that function
will be called with <ref resolved='predef::`^.arg1'>arg1</ref> as the single argument.</p>
<p> Otherwise the result will be as follows:</p>
<mixed name='arg1'><group><type><int/></type><text><p>The result will be the bitwise xor of <ref resolved='predef::`^.arg1'>arg1</ref> and <ref resolved='predef::`^.arg2'>arg2</ref>.</p>
</text></group><group><type><or><mapping/><multiset/><array/></or></type><text><p>The result will be the elements of <ref resolved='predef::`^.arg1'>arg1</ref> and <ref resolved='predef::`^.arg2'>arg2</ref> that
only occurr in one of them.</p>
</text></group><group><type><string/></type><text><p>The result will be the pairwise bitwise xor of <ref resolved='predef::`^.arg1'>arg1</ref> and <ref resolved='predef::`^.arg2'>arg2</ref>.</p>
</text></group><group><type><or><type><mixed/></type><program/></or></type><text><p>The result will be the result of
<expr>(<ref resolved='predef::`^.arg1'>arg1</ref>&~<ref resolved='predef::`^.arg2'>arg2</ref>)|(~<ref resolved='predef::`^.arg1'>arg1</ref>&<ref resolved='predef::`^.arg2'>arg2</ref>)</expr>.</p>
</text></group></mixed>
</text></group><group><seealso/><text><p><ref resolved='predef::`&'>&`&()</ref>, <ref resolved='predef::`|'>`|()</ref>, <ref resolved='lfun::`^'>lfun::`^()</ref>, <ref resolved='lfun::``^'>lfun::``^()</ref></p>
</text></group></doc>
<method name='`^'>
<arguments><argument name='arg1'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><object resolved='predef::`^'/></type></argument><argument name='arg2'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><object resolved='predef::`^'/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><mapping/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><multiset/></type></argument><argument name='arg2'><type><multiset/></type></argument></arguments>
<returntype><multiset/></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><or><program/><type><mixed/></type></or></type></argument><argument name='arg2'><type><or><program/><type><mixed/></type></or></type></argument></arguments>
<returntype><type><mixed/></type></returntype>
</method>
<method name='`^'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`|' homogen-type='method'><doc><text><p>Bitwise or/join operator.</p>
</text><group><returns/><text><p>If there's a single argument, that argument will be returned.</p>
<p> If there are more than two arguments, the result will be:
<expr>`|(`|(<ref resolved='predef::`|.arg1'>arg1</ref>, <ref resolved='predef::`|.arg2'>arg2</ref>), @<ref resolved='predef::`|.extras'>extras</ref>)</expr>.</p>
<p> If <ref resolved='predef::`|.arg1'>arg1</ref> is an object that has an <ref resolved='lfun::`|'>lfun::`|()</ref>, that function
will be called with <ref resolved='predef::`|.arg2'>arg2</ref> as the single argument.</p>
<p> If <ref resolved='predef::`|.arg2'>arg2</ref> is an object that has an <ref resolved='lfun::``|'>lfun::``|()</ref>, that function
will be called with <ref resolved='predef::`|.arg1'>arg1</ref> as the single argument.</p>
<p> Otherwise the result will be as follows:</p>
<mixed name='arg1'><group><type><int/></type><text><p>The result will be the binary or of <ref resolved='predef::`|.arg1'>arg1</ref> and <ref resolved='predef::`|.arg2'>arg2</ref>.</p>
</text></group><group><type><or><mapping/><multiset/></or></type><text><p>The result will be the join of <ref resolved='predef::`|.arg1'>arg1</ref> and <ref resolved='predef::`|.arg2'>arg2</ref>.</p>
</text></group><group><type><array/></type><text><p>The result will be the concatenation of <ref resolved='predef::`|.arg1'>arg1</ref> and <ref resolved='predef::`|.arg2'>arg2</ref>.</p>
</text></group><group><type><string/></type><text><p>The result will be the pairwise bitwose or of <ref resolved='predef::`|.arg1'>arg1</ref> and <ref resolved='predef::`|.arg2'>arg2</ref>.</p>
</text></group><group><type><or><type><mixed/></type><program/></or></type><text><p>The result will be the type join of <ref resolved='predef::`|.arg1'>arg1</ref> and <ref resolved='predef::`|.arg2'>arg2</ref>.</p>
</text></group></mixed>
</text></group><group><seealso/><text><p><ref resolved='predef::`&'>&`&()</ref>, <ref resolved='lfun::`|'>lfun::`|()</ref>, <ref resolved='lfun::``|'>lfun::``|()</ref></p>
</text></group></doc>
<method name='`|'>
<arguments><argument name='arg1'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><object resolved='predef::`|'/></type></argument><argument name='arg2'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><object resolved='predef::`|'/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><int/></type></argument><argument name='arg2'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><mapping/></type></argument><argument name='arg2'><type><mapping/></type></argument></arguments>
<returntype><mapping/></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><multiset/></type></argument><argument name='arg2'><type><multiset/></type></argument></arguments>
<returntype><multiset/></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><array/></type></argument><argument name='arg2'><type><array/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><string/></type></argument><argument name='arg2'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><or><program/><type><mixed/></type></or></type></argument><argument name='arg2'><type><or><program/><type><mixed/></type></or></type></argument></arguments>
<returntype><type><mixed/></type></returntype>
</method>
<method name='`|'>
<arguments><argument name='arg1'><type><mixed/></type></argument><argument name='arg2'><type><mixed/></type></argument><argument name='extras'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
<docgroup homogen-name='`~' homogen-type='method'><doc><text><p>Complement operator.</p>
</text><group><returns/><text><p>The result will be as follows:</p>
<mixed name='arg'><group><type><object resolved='predef::`~'/></type><text><p>If <ref resolved='predef::`~.arg'>arg</ref> implements <ref resolved='lfun::`~'>lfun::`~()</ref>, that function will be called.</p>
</text></group><group><type><int/></type><text><p>The bitwise inverse of <ref resolved='predef::`~.arg'>arg</ref> will be returned.</p>
</text></group><group><type><float/></type><text><p>The result will be <expr>-1.0 - <ref resolved='predef::`~.arg'>arg</ref></expr>.</p>
</text></group><group><type><or><type><mixed/></type><program/></or></type><text><p>The type inverse of <ref resolved='predef::`~.arg'>arg</ref> will be returned.</p>
</text></group><group><type><string/></type><text><p>If <ref resolved='predef::`~.arg'>arg</ref> only contains characters in the range 0 - 255 (8-bit),
a string containing the corresponding 8-bit inverses will be
returned.</p>
</text></group></mixed>
</text></group><group><seealso/><text><p><ref resolved='predef::`!'>`!()</ref>, <ref resolved='lfun::`~'>lfun::`~()</ref></p>
</text></group></doc>
<method name='`~'>
<arguments><argument name='arg'><type><object resolved='predef::`~'/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
<method name='`~'>
<arguments><argument name='arg'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='`~'>
<arguments><argument name='arg'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='`~'>
<arguments><argument name='arg'><type><or><type><mixed/></type><program/></or></type></argument></arguments>
<returntype><type><mixed/></type></returntype>
</method>
<method name='`~'>
<arguments><argument name='arg'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='abs' homogen-type='method'><doc><text><p>Return the absolute value for <ref resolved='predef::abs.f'>f</ref>. If <ref resolved='predef::abs.f'>f</ref> is
an object it must implement <ref resolved='lfun::`<'><lfun::`<</ref> and
unary <ref resolved='lfun::`-'>lfun::`-</ref>.</p>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | </text></doc>
<method name='abs'>
<arguments><argument name='f'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
<method name='abs'>
<arguments><argument name='f'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <method name='abs'>
<arguments><argument name='f'><type><object resolved='predef::abs'/></type></argument></arguments>
<returntype><object resolved='predef::abs'/></returntype>
</method>
</docgroup>
<docgroup homogen-name='acos' homogen-type='method'><doc><text><p>Return the arcus cosine value for <ref resolved='predef::acos.f'>f</ref>.
The result will be in radians.</p>
</text><group><seealso/><text><p><ref resolved='predef::cos'>cos()</ref>, <ref resolved='predef::asin'>asin()</ref></p>
</text></group></doc>
<method name='acos'>
<arguments><argument name='f'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
</docgroup>
<docgroup homogen-name='add_constant' homogen-type='method'><doc><text><p>Add a new predefined constant.</p>
<p> This function is often used to add builtin functions.
All programs compiled after the <ref resolved='predef::add_constant'>add_constant()</ref> function has been
called can access <ref resolved='predef::add_constant.value'>value</ref> by the name <ref resolved='predef::add_constant.name'>name</ref>.</p>
<p> If there is a constant called <ref resolved='predef::add_constant.name'>name</ref> already, it will be replaced by
by the new definition. This will not affect already compiled programs.</p>
<p> Calling <ref resolved='predef::add_constant'>add_constant()</ref> without a value will remove that name from
the list of constants. As with replacing, this will not affect already
compiled programs.</p>
</text><group><seealso/><text><p><ref resolved='predef::all_constants'>all_constants()</ref></p>
</text></group></doc>
<method name='add_constant'>
<arguments><argument name='name'><type><string/></type></argument><argument name='value'><type><mixed/></type></argument></arguments>
<returntype><void/></returntype>
</method>
<method name='add_constant'>
<arguments><argument name='name'><type><string/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='aggregate' homogen-type='method'><doc><text><p>Construct an array with the arguments as indices.</p>
<p> This function could be written in Pike as:</p>
<code><text><p>array aggregate(mixed ... elems) { return elems; }</p>
</text></code>
</text><group><note/><text><p>Arrays are dynamically allocated there is no need to declare them
like <expr>int a[10]=allocate(10);</expr> (and it isn't possible either) like
in C, just <expr>array(int) a=allocate(10);</expr> will do.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::sizeof'>sizeof()</ref>, <ref resolved='predef::arrayp'>arrayp()</ref>, <ref resolved='predef::allocate'>allocate()</ref></p>
</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 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>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | </method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='aggregate_multiset' homogen-type='method'><doc><text><p>Construct a multiset.</p>
<p> Construct a multiset with the arguments as indices.
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>(< elem1, elem2, ... >)</expr></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>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | </text></group></doc>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <method name='aggregate_multiset'>
<arguments><argument name='elems'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><multiset/></returntype>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | </method>
</docgroup>
|
fd26b9 | 2003-03-13 | Martin Nilsson | | <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>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> If <ref resolved='predef::alarm.seconds'>seconds</ref> is <expr>0</expr> (zero), no new alarm will be scheduled.</p>
|
fd26b9 | 2003-03-13 | Martin Nilsson | | <p> Any previous alarms will in any case be canceled.</p>
</text><group><returns/><text><p>Returns the number of seconds remaining until any previously
scheduled alarm was due to be delivered, or zero if there was
no previously scheduled alarm.</p>
</text></group><group><note/><text><p>This function is only available on platforms that support
signals.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::ualarm'>ualarm()</ref>, <ref resolved='predef::signal'>signal()</ref>, <ref resolved='predef::call_out'>call_out()</ref></p>
</text></group></doc>
<method name='alarm'>
<arguments><argument name='seconds'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='all_constants' homogen-type='method'><doc><text><p>Returns a mapping containing all global constants, indexed on the name
of the constant, and with the value of the constant as value.</p>
</text><group><seealso/><text><p><ref resolved='predef::add_constant'>add_constant()</ref></p>
</text></group></doc>
<method name='all_constants'>
<arguments/>
<returntype><mapping><indextype><string/></indextype><valuetype><mixed/></valuetype></mapping></returntype>
</method>
</docgroup>
|
86217f | 2003-04-28 | Martin Stjernholm | | <docgroup homogen-name='allocate' homogen-type='method'><doc><text><p>Allocate an array of <ref resolved='predef::allocate.size'>size</ref> elements. If <ref resolved='predef::allocate.init'>init</ref> is specified
then each element is initialized by copying that value
recursively.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::sizeof'>sizeof()</ref>, <ref resolved='predef::aggregate'>aggregate()</ref>, <ref resolved='predef::arrayp'>arrayp()</ref></p>
</text></group></doc>
<method name='allocate'>
<arguments><argument name='size'><type><int/></type></argument></arguments>
<returntype><array/></returntype>
</method>
<method name='allocate'>
|
86217f | 2003-04-28 | Martin Stjernholm | | <arguments><argument name='size'><type><int/></type></argument><argument name='init'><type><mixed/></type></argument></arguments>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <returntype><array/></returntype>
</method>
</docgroup>
|
216eff | 2003-01-14 | Johan Sundström | | <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
|
960f23 | 2001-01-31 | Henrik Grubbström (Grubba) | | results in an array instead of assigning them to lvalues. This is often
useful for user-defined sscanf strings.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::sscanf'>sscanf()</ref>, <ref resolved='predef::`/'>`/()</ref></p>
|
960f23 | 2001-01-31 | Henrik Grubbström (Grubba) | | </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>
</method>
</docgroup>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <docgroup homogen-name='arrayp' homogen-type='method'><doc><text><p>Returns <expr>1</expr> if <ref resolved='predef::arrayp.arg'>arg</ref> is an array, <expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::intp'>intp()</ref>, <ref resolved='predef::programp'>programp()</ref>, <ref resolved='predef::mappingp'>mappingp()</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='arrayp'>
<arguments><argument name='arg'><type><mixed/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='asin' homogen-type='method'><doc><text><p>Return the arcus sine value for <ref resolved='predef::asin.f'>f</ref>.
The result will be in radians.</p>
</text><group><seealso/><text><p><ref resolved='predef::sin'>sin()</ref>, <ref resolved='predef::acos'>acos()</ref></p>
</text></group></doc>
<method name='asin'>
<arguments><argument name='f'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | |
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='atan' homogen-type='method'><doc><text><p>Returns the arcus tangent value for <ref resolved='predef::atan.f'>f</ref>.
The result will be in radians.</p>
</text><group><seealso/><text><p><ref resolved='predef::tan'>tan()</ref>, <ref resolved='predef::asin'>asin()</ref>, <ref resolved='predef::acos'>acos()</ref>, <ref resolved='predef::atan2'>atan2()</ref></p>
</text></group></doc>
<method name='atan'>
<arguments><argument name='f'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
</docgroup>
<docgroup homogen-name='atan2' homogen-type='method'><doc><text><p>Returns the arcus tangent value for <ref resolved='predef::atan2.f1'>f1</ref>/<ref resolved='predef::atan2.f2'>f2</ref>, and uses
the signs of <ref resolved='predef::atan2.f1'>f1</ref> and <ref resolved='predef::atan2.f2'>f2</ref> to determine the quadrant.
The result will be in radians.</p>
</text><group><seealso/><text><p><ref resolved='predef::tan'>tan()</ref>, <ref resolved='predef::asin'>asin()</ref>, <ref resolved='predef::acos'>acos()</ref>, <ref resolved='predef::atan'>atan()</ref></p>
</text></group></doc>
<method name='atan2'>
<arguments><argument name='f1'><type><float/></type></argument><argument name='f2'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
</docgroup>
|
fd26b9 | 2003-03-13 | Martin Nilsson | | <docgroup homogen-name='atexit' homogen-type='method'><doc><text><p>This function puts the <ref resolved='predef::atexit.callback'>callback</ref> in a queue of callbacks to
call when pike exits.</p>
</text><group><note/><text><p>Please note that <ref resolved='predef::atexit'>atexit</ref> callbacks are not called if Pike
exits abnormally.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::exit'>exit()</ref>, <ref resolved='predef::_exit'>_exit()</ref></p>
|
fd26b9 | 2003-03-13 | Martin Nilsson | | </text></group></doc>
<method name='atexit'>
<arguments><argument name='callback'><type><function/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='backtrace' homogen-type='method'><doc><text><p>FIXME: This documentation is not up to date!</p>
<p> Get a description of the current call stack.</p>
<p> The description is returned as an array with one entry for each call
frame on the stack.</p>
<p> Each entry has this 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 current call frame will be last in the array.</p>
</text><group><note/><text><p>Please note that the frame order may be reversed in a later version
(than 7.1) of Pike to accommodate for deferred backtraces.</p>
<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><seealso/><text><p><ref>catch()</ref>, <ref resolved='predef::throw'>throw()</ref></p>
</text></group></doc>
<method name='backtrace'>
<arguments/>
|
9810c5 | 2003-04-10 | Martin Nilsson | | <returntype><array><valuetype><object resolved='predef::Pike.BacktraceFrame'>Pike.BacktraceFrame</object></valuetype></array></returntype>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </method>
</docgroup>
|
515f02 | 2001-07-27 | Martin Nilsson | | <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='x'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <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>
|
47dc82 | 2002-12-07 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='call_function' homogen-type='method'><doc><text><p>Call a function.</p>
</text></doc>
<method name='call_function'>
<arguments><argument name='fun'><type><function/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
|
87e047 | 2001-03-12 | Fredrik Hübinette (Hubbe) | | <docgroup homogen-name='call_out' homogen-type='method'><doc><text><p>Make a delayed call to a function.</p>
<p> <ref resolved='predef::call_out'>call_out()</ref> places a call to the function <ref resolved='predef::call_out.f'>f</ref> with the argument
<ref resolved='predef::call_out.args'>args</ref> in a queue to be called in about <ref resolved='predef::call_out.delay'>delay</ref> seconds.</p>
</text><group><returns/><text><p>Returns a call_out identifier that identifies this call_out.
This value can be sent to eg <ref resolved='predef::find_call_out'>find_call_out()</ref> or <ref resolved='predef::remove_call_out'>remove_call_out()</ref>.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::remove_call_out'>remove_call_out()</ref>, <ref resolved='predef::find_call_out'>find_call_out()</ref>, <ref resolved='predef::call_out_info'>call_out_info()</ref></p>
</text></group></doc>
<method name='call_out'>
<arguments><argument name='f'><type><function/></type></argument><argument name='delay'><type><or><float/><int/></or></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
|
613072 | 1996-11-01 | Fredrik Hübinette (Hubbe) | | </docgroup>
|
87e047 | 2001-03-12 | Fredrik Hübinette (Hubbe) | | <docgroup homogen-name='call_out_info' homogen-type='method'><doc><text><p>Get info about all call_outs.</p>
<p> This function returns an array with one entry for each entry in the
call out queue. The first in the queue will be at index 0. Each index
contains an array that looks like this:</p>
<array><group><elem><type><int/></type><index>time_left</index></elem><text><p>Time remaining in seconds until the call_out is to be performed.</p>
</text></group><group><elem><type><object resolved='predef::call_out_info'/></type><index>caller</index></elem><text><p>The object that scheduled the call_out.</p>
</text></group><group><elem><type><function/></type><index>fun</index></elem><text><p>Function to be called.</p>
</text></group><group><elem><type><varargs><mixed/></varargs></type><index>args</index></elem><text><p>Arguments to the function.</p>
</text></group></array>
</text><group><seealso/><text><p><ref resolved='predef::call_out'>call_out()</ref>, <ref resolved='predef::find_call_out'>find_call_out()</ref>, <ref resolved='predef::remove_call_out'>remove_call_out()</ref></p>
</text></group></doc>
<method name='call_out_info'>
<arguments/>
<returntype><array><valuetype><array/></valuetype></array></returntype>
</method>
|
655966 | 1996-11-06 | Fredrik Hübinette (Hubbe) | | </docgroup>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <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>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </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>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><returns/><text><p>Returns <expr>1</expr> for success, <expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref resolved='predef::getcwd'>getcwd()</ref></p>
</text></group></doc>
<method name='cd'>
<arguments><argument name='s'><type><string/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | <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>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </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>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | </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><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <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 relative path to an absolute path and remove any
|
84ea4e | 2003-04-07 | Martin Nilsson | | <expr>"//"</expr>, <expr>"/.."</expr> or <expr>"/."</expr> to produce a
straightforward absolute path as result.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> <ref resolved='predef::combine_path_nt'>combine_path_nt()</ref> concatenates according to NT-filesystem conventions,
while <ref resolved='predef::combine_path_unix'>combine_path_unix()</ref> concatenates according to UNIX-style.</p>
<p> <ref resolved='predef::combine_path'>combine_path()</ref> is equvivalent to <ref resolved='predef::combine_path_unix'>combine_path_unix()</ref> on UNIX-like
operating systems, and equvivalent to <ref resolved='predef::combine_path_nt'>combine_path_nt()</ref> on NT-like
operating systems.</p>
</text><group><seealso/><text><p><ref resolved='predef::getcwd'>getcwd()</ref>, <ref resolved='predef::Stdio.append_path'>Stdio.append_path()</ref></p>
</text></group></doc>
<method name='combine_path'>
<arguments><argument name='absolute'><type><string/></type></argument><argument name='relative'><type><varargs><string/></varargs></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='combine_path_unix'>
<arguments><argument name='absolute'><type><string/></type></argument><argument name='relative'><type><varargs><string/></varargs></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='combine_path_nt'>
<arguments><argument name='absolute'><type><string/></type></argument><argument name='relative'><type><varargs><string/></varargs></type></argument></arguments>
<returntype><string/></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::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::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></p>
</text></group></doc>
<method name='compile'>
<arguments><argument name='source'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::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::compile'/><void/></or></type></argument></arguments>
<returntype><program/></returntype>
</method>
</docgroup>
|
515f02 | 2001-07-27 | Martin Nilsson | | <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>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::compile'>compile()</ref>, <ref resolved='predef::compile_string'>compile_string()</ref>, <ref resolved='predef::cpp'>cpp()</ref></p>
|
515f02 | 2001-07-27 | Martin Nilsson | | </text></group></doc>
<method name='compile_file'>
<arguments><argument name='filename'><type><string/></type></argument><argument name='handler'><type><or><object resolved='predef::compile_file'/><void/></or></type></argument><argument name='p'><type><or><void/><program/></or></type></argument><argument name='o'><type><or><void/><object resolved='predef::compile_file'/></or></type></argument></arguments>
<returntype><program/></returntype>
</method>
</docgroup>
|
0f0586 | 2001-10-28 | Martin Nilsson | | <docgroup homogen-name='compile_string' homogen-type='method'><doc><text><p>Compile the Pike code in the string <ref resolved='predef::compile_string.source'>source</ref> into a program.
|
716caf | 2003-04-01 | Martin Nilsson | | If <ref resolved='predef::compile_string.filename'>filename</ref> is not specified, it will default to <expr>"-"</expr>.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> Functionally equal to <expr><ref resolved='predef::compile'>compile</ref>(<ref resolved='predef::cpp'>cpp</ref>(<ref resolved='predef::compile_string.source'>source</ref>, <ref resolved='predef::compile_string.filename'>filename</ref>))</expr>.</p>
</text><group><seealso/><text><p><ref resolved='predef::compile'>compile()</ref>, <ref resolved='predef::cpp'>cpp()</ref>, <ref resolved='predef::compile_file'>compile_file()</ref></p>
|
515f02 | 2001-07-27 | Martin Nilsson | | </text></group></doc>
<method name='compile_string'>
<arguments><argument name='source'><type><string/></type></argument><argument name='filename'><type><or><void/><string/></or></type></argument><argument name='handler'><type><or><object resolved='predef::compile_string'/><void/></or></type></argument></arguments>
<returntype><program/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | |
<docgroup homogen-name='copy_value' homogen-type='method'><doc><text><p>Copy a value recursively.</p>
<p> If the result value is changed destructively (only possible for
multisets, arrays and mappings) the copied value will not be changed.</p>
<p> The resulting value will always be equal to the copied (as tested with
the function <ref resolved='predef::equal'>equal()</ref>), but they may not the the same value (as tested
with <ref resolved='predef::`=='>`==()</ref>).</p>
</text><group><seealso/><text><p><ref resolved='predef::equal'>equal()</ref></p>
</text></group></doc>
<method name='copy_value'>
<arguments><argument name='value'><type><mixed/></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='cos' homogen-type='method'><doc><text><p>Return the cosine value for <ref resolved='predef::cos.f'>f</ref>.
<ref resolved='predef::cos.f'>f</ref> should be specified in radians.</p>
</text><group><seealso/><text><p><ref resolved='predef::acos'>acos()</ref>, <ref resolved='predef::sin'>sin()</ref>, <ref resolved='predef::tan'>tan()</ref></p>
</text></group></doc>
<method name='cos'>
<arguments><argument name='f'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | |
|
d3961b | 2001-02-06 | Henrik Grubbström (Grubba) | | <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
preprocessor. If the <ref resolved='predef::cpp.current_file'>current_file</ref> argument has not been specified,
|
84ea4e | 2003-04-07 | Martin Nilsson | | it will default to <expr>"-"</expr>. <ref resolved='predef::cpp.charset'>charset</ref> defaults to <expr>"ISO-10646"</expr>.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::compile'>compile()</ref></p>
|
d3961b | 2001-02-06 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='cpp'>
<arguments><argument name='data'><type><string/></type></argument><argument name='current_file'><type><or><string/><void/></or></type></argument><argument name='charset'><type><or><int/><string/><void/></or></type></argument><argument name='handler'><type><or><object resolved='predef::cpp'/><void/></or></type></argument><argument name='compat_major'><type><or><void/><int/></or></type></argument><argument name='compat_minor'><type><or><void/><int/></or></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='crypt' homogen-type='method'><doc><text><p>This function crypts and verifies a short string (only the first
8 characters are significant).</p>
<p> The first syntax crypts the string <ref resolved='predef::crypt.password'>password</ref> into something that
is hopefully hard to decrypt.</p>
<p> The second syntax is used to verify <ref resolved='predef::crypt.typed_password'>typed_password</ref> against
|
84ea4e | 2003-04-07 | Martin Nilsson | | <ref resolved='predef::crypt.crypted_password'>crypted_password</ref>, and returns <expr>1</expr> if they match, and
<expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></doc>
<method name='crypt'>
<arguments><argument name='password'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
<method name='crypt'>
<arguments><argument name='typed_password'><type><string/></type></argument><argument name='crypted_password'><type><string/></type></argument></arguments>
<returntype><int><min>0</min><max>1</max></int></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::time'>time()</ref>, <ref resolved='predef::localtime'>localtime()</ref>, <ref resolved='predef::mktime'>mktime()</ref>, <ref resolved='predef::gmtime'>gmtime()</ref></p>
</text></group></doc>
<method name='ctime'>
<arguments><argument name='timestamp'><type><int/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
|
ed4307 | 2001-02-01 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='decode_value' homogen-type='method'><doc><text><p>Decode a value from a string.</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 no codec is specified, the current master object will be used as codec.</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'>
|
4af058 | 2002-05-02 | Martin Stjernholm | | <arguments><argument name='coded_value'><type><string/></type></argument><argument name='codec'><type><or><object resolved='predef::decode_value'/><void/></or></type></argument></arguments>
|
ed4307 | 2001-02-01 | Henrik Grubbström (Grubba) | | <returntype><mixed/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | |
<docgroup homogen-name='delay' homogen-type='method'><doc><text><p>This function makes the program 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>
|
515f02 | 2001-07-27 | Martin Nilsson | | <docgroup homogen-name='describe_backtrace' homogen-type='method'><doc><text><p>Returns a string containing a readable message that describes where
the backtrace was made.</p>
<p> The argument <ref resolved='predef::describe_backtrace.trace'>trace</ref> should normally be the return value from a call
|
5bfef5 | 2003-04-01 | Martin Nilsson | | to <ref resolved='predef::backtrace'>backtrace()</ref>, or a caught error.</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>
|
515f02 | 2001-07-27 | Martin Nilsson | | </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>Returns only the error message from a backtrace.</p>
<p> If there is no error message in the backtrace, a fallback message
will be returned.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::backtrace'>backtrace()</ref>, <ref resolved='predef::describe_backtrace'>describe_backtrace()</ref></p>
|
515f02 | 2001-07-27 | Martin Nilsson | | </text></group></doc>
<method name='describe_error'>
<arguments><argument name='trace'><type><mixed/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | |
<docgroup homogen-name='destruct' homogen-type='method'><doc><text><p>Mark an object as destructed.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> Calls <expr>o->destroy()</expr>, and then clears all variables in the object.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <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><object resolved='predef::destruct'/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
|
ea75f7 | 2002-07-09 | Martin Nilsson | | <docgroup homogen-name='dirname' homogen-type='method'><doc><text><p>Returns all but the last segment of a path. Some example inputs and
outputs:</p>
<p> <matrix>
<r><c><b>Expression</b></c><c><b>Value</b></c></r>
<r><c>dirname("/a/b")</c><c>"/a/"</c></r>
<r><c>dirname("/a/")</c><c>"/a/"</c></r>
<r><c>dirname("/a")</c><c>"/"</c></r>
<r><c>dirname("/")</c><c>"/"</c></r>
<r><c>dirname("")</c><c>""</c></r>
</matrix></p>
|
515f02 | 2001-07-27 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::basename'>basename()</ref>, <ref resolved='predef::explode_path'>explode_path()</ref></p>
</text></group></doc>
<method name='dirname'>
<arguments><argument name='x'><type><string/></type></argument></arguments>
<returntype><string/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | |
|
ed4307 | 2001-02-01 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='encode_value' homogen-type='method'><doc><text><p>Code a value into a string.</p>
<p> This function takes a value, and converts it to a string. This string
can then be saved, sent to another Pike process, packed or used in
any way you like. When you want your value back you simply send this
string to <ref resolved='predef::decode_value'>decode_value()</ref> and it will return the value you encoded.</p>
<p> Almost any value can be coded, mappings, floats, arrays, circular
structures etc.</p>
|
318278 | 2001-07-02 | Martin Stjernholm | | <p> To encode objects, programs and functions, a codec object must be
provided.</p>
</text><group><note/><text><p>When only simple types like int, floats, strings, mappings,
multisets and arrays are encoded, the produced string is very
portable between pike versions. It can at least be read by any
later version.</p>
<p> The portability when objects, programs and functions are involved
depends mostly on the codec. If the byte code is encoded, i.e.
when Pike programs are actually dumped in full, then the string
can probably only be read by the same pike version.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::decode_value'>decode_value()</ref>, <ref resolved='predef::sprintf'>sprintf()</ref>, <ref resolved='predef::encode_value_canonic'>encode_value_canonic()</ref></p>
|
ed4307 | 2001-02-01 | Henrik Grubbström (Grubba) | | </text></group></doc>
<method name='encode_value'>
|
4af058 | 2002-05-02 | Martin Stjernholm | | <arguments><argument name='value'><type><mixed/></type></argument><argument name='codec'><type><or><object resolved='predef::encode_value'/><void/></or></type></argument></arguments>
|
ed4307 | 2001-02-01 | Henrik Grubbström (Grubba) | | <returntype><string/></returntype>
</method>
</docgroup>
<docgroup homogen-name='encode_value_canonic' homogen-type='method'><doc><text><p>Code a value into a string on canonical form.</p>
<p> Takes a value and converts it to a string on canonical form, much like
<ref resolved='predef::encode_value'>encode_value()</ref>. The canonical form means that if an identical value is
encoded, it will produce exactly the same string again, even if it's
done at a later time and/or in another Pike process. The produced
string is compatible with <ref resolved='predef::decode_value'>decode_value()</ref>.</p>
</text><group><note/><text><p>Note that this function is more restrictive than <ref resolved='predef::encode_value'>encode_value()</ref> with
respect to the types of values it can encode. It will throw an error
if it can't encode to a canonical form.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::encode_value'>encode_value()</ref>, <ref resolved='predef::decode_value'>decode_value()</ref></p>
</text></group></doc>
<method name='encode_value_canonic'>
|
4af058 | 2002-05-02 | Martin Stjernholm | | <arguments><argument name='value'><type><mixed/></type></argument><argument name='codec'><type><or><object resolved='predef::encode_value_canonic'/><void/></or></type></argument></arguments>
|
ed4307 | 2001-02-01 | Henrik Grubbström (Grubba) | | <returntype><string/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='enumerate' homogen-type='method'><doc><text><p>Create an array with an enumeration, useful for initializing arrays
or as first argument to <ref resolved='predef::map'>map()</ref> or <ref>foreach()</ref>.</p>
<p> The defaults are: <ref resolved='predef::enumerate.step'>step</ref> = 1, <ref resolved='predef::enumerate.start'>start</ref> = 0, <ref resolved='predef::enumerate.operator'>operator</ref> = <ref resolved='predef::`+'>`+</ref></p>
<section title='Advanced use'><text><p>The resulting array is calculated like this:</p>
<code><text><p>array enumerate(int n, mixed step, mixed start, function operator)
{
array res = allocate(n);
for (int i=0; i < n; i++)
{
res[i] = start;
start = operator(start, step);
}
return res;
}</p>
</text></code></text></section>
</text><group><seealso/><text><p><ref resolved='predef::map'>map()</ref>, <ref>foreach()</ref></p>
</text></group></doc>
<method name='enumerate'>
<arguments><argument name='n'><type><int/></type></argument></arguments>
<returntype><array><valuetype><int/></valuetype></array></returntype>
</method>
<method name='enumerate'>
<arguments><argument name='n'><type><int/></type></argument><argument name='step'><type><or><void/><mixed/></or></type></argument><argument name='start'><type><or><void/><mixed/></or></type></argument><argument name='operator'><type><or><void/><function/></or></type></argument></arguments>
<returntype><array/></returntype>
</method>
</docgroup>
<docgroup homogen-name='equal' homogen-type='method'><doc><text><p>This function checks if the values <ref resolved='predef::equal.a'>a</ref> and <ref resolved='predef::equal.b'>b</ref> are equal.</p>
<p> For all types but arrays, multisets and mappings, this operation is
the same as doing <expr><ref resolved='predef::equal.a'>a</ref> == <ref resolved='predef::equal.b'>b</ref></expr>.
For arrays, mappings and multisets however, their contents are checked
recursively, and if all their contents are the same and in the same
place, they are considered equal.</p>
</text><group><seealso/><text><p><ref resolved='predef::copy_value'>copy_value()</ref></p>
</text></group></doc>
<method name='equal'>
<arguments><argument name='a'><type><mixed/></type></argument><argument name='b'><type><mixed/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='errno' homogen-type='method'><doc><text><p>This function returns the system error from the last file operation.</p>
</text><group><note/><text><p>Note that you should normally use <ref resolved='predef::Stdio.File.errno'>Stdio.File->errno()</ref> instead.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::Stdio.File.errno'>Stdio.File->errno()</ref>, <ref resolved='predef::strerror'>strerror()</ref></p>
</text></group></doc>
<method name='errno'>
<arguments/>
<returntype><int/></returntype>
</method>
</docgroup>
|
f088eb | 2002-05-22 | Johan Sundström | | <docgroup homogen-name='error' homogen-type='method'><doc><text><p>Throws an error. A more readable version of the code
|
716caf | 2003-04-01 | Martin Nilsson | | <expr>throw( ({ sprintf(f, @args), backtrace() }) )</expr>.</p>
|
7e3495 | 2001-12-20 | Martin Nilsson | | </text></doc>
<method name='error'>
|
397bc5 | 2002-05-22 | Martin Nilsson | | <arguments><argument name='f'><type><string/></type></argument><argument name='args'><type><varargs><mixed/></varargs></type></argument></arguments>
|
7e3495 | 2001-12-20 | Martin Nilsson | | <returntype><void/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='exece' homogen-type='method'><doc><text><p>This function transforms the Pike process into a process running
the program specified in the argument <ref resolved='predef::exece.file'>file</ref> with the arguments <ref resolved='predef::exece.args'>args</ref>.</p>
<p> If the mapping <ref resolved='predef::exece.env'>env</ref> is present, it will completely replace all
environment variables before the new program is executed.</p>
</text><group><returns/><text><p>This function only returns if something went wrong during <tt>exece(2)</tt>,
|
84ea4e | 2003-04-07 | Martin Nilsson | | and in that case it returns <expr>0</expr> (zero).</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group><group><note/><text><p>The Pike driver _dies_ when this function is called. You must either
use <ref resolved='predef::fork'>fork()</ref> or <ref resolved='predef::Process.create_process'>Process.create_process()</ref> if you wish to execute a
program and still run the Pike runtime.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::Process.create_process'>Process.create_process()</ref>, <ref resolved='predef::fork'>fork()</ref>, <ref resolved='predef::Stdio.File.pipe'>Stdio.File->pipe()</ref></p>
</text></group></doc>
<method name='exece'>
<arguments><argument name='file'><type><string/></type></argument><argument name='args'><type><array><valuetype><string/></valuetype></array></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='exece'>
<arguments><argument name='file'><type><string/></type></argument><argument name='args'><type><array><valuetype><string/></valuetype></array></type></argument><argument name='env'><type><mapping><indextype><string/></indextype><valuetype><string/></valuetype></mapping></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='exit' homogen-type='method'><doc><text><p>Exit the whole Pike program with the given <ref resolved='predef::exit.returncode'>returncode</ref>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> Using <ref resolved='predef::exit'>exit()</ref> with any other value than <expr>0</expr> (zero) indicates
that something went wrong during execution. See your system manuals
for more information about return codes.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::_exit'>_exit()</ref></p>
</text></group></doc>
<method name='exit'>
<arguments><argument name='returncode'><type><int/></type></argument></arguments>
<returntype><void/></returntype>
</method>
</docgroup>
<docgroup homogen-name='exp' homogen-type='method'><doc><text><p>Return the natural exponential of <ref resolved='predef::exp.f'>f</ref>.
<expr>log( exp( x ) ) == x</expr> as long as exp(x) doesn't overflow an int.</p>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | </text><group><seealso/><text><p><ref resolved='predef::pow'>pow()</ref>, <ref resolved='predef::log'>log()</ref></p>
</text></group></doc>
<method name='exp'>
<arguments><argument name='f'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
</docgroup>
|
515f02 | 2001-07-27 | Martin Nilsson | | <docgroup homogen-name='explode_path' homogen-type='method'><doc><text><p>Split a path <ref resolved='predef::explode_path.p'>p</ref> into its components.</p>
<p> This function divides a path into its components. This might seem like
it could be done by dividing the string on <tt>"/"</tt>, but that will
not work on some operating systems.</p>
</text></doc>
<method name='explode_path'>
<arguments><argument name='p'><type><string/></type></argument></arguments>
<returntype><array><valuetype><string/></valuetype></array></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='file_stat' homogen-type='method'><doc><text><p>Stat a file.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <p> If the argument <ref resolved='predef::file_stat.symlink'>symlink</ref> is <expr>1</expr> symlinks will not be followed.</p>
</text><group><returns/><text><p>If the path specified by <ref resolved='predef::file_stat.path'>path</ref> doesn't exist <expr>0</expr> (zero) will
|
5bfef5 | 2003-04-01 | Martin Nilsson | | be returned.</p>
<p> Otherwise an object describing the properties of <ref resolved='predef::file_stat.path'>path</ref> will be
returned.</p>
</text></group><group><note/><text><p>In Pike 7.0 and earlier this function returned an array with 7 elements.
The old behaviour can be simulated with the following function:</p>
<code><text><p>array(int) file_stat(string path, void|int(0..1) symlink)
{
File.Stat st = predef::file_stat(path, symlink);
if (!st) return 0;
return (array(int))st;
}</p>
</text></code>
</text></group><group><seealso/><text><p><ref resolved='predef::Stdio.Stat'>Stdio.Stat</ref>, <ref resolved='predef::Stdio.File.stat'>Stdio.File->stat()</ref></p>
</text></group></doc>
<method name='file_stat'>
<arguments><argument name='path'><type><string/></type></argument><argument name='symlink'><type><or><void/><int><min>0</min><max>1</max></int></or></type></argument></arguments>
<returntype><object resolved='predef::Stdio.Stat'>Stdio.Stat</object></returntype>
</method>
</docgroup>
<docgroup homogen-name='file_truncate' homogen-type='method'><doc><text><p>Truncates the file <ref resolved='predef::file_truncate.file'>file</ref> to the length specified in <ref resolved='predef::file_truncate.length'>length</ref>.</p>
</text><group><returns/><text><p>Returns 1 if ok, 0 if failed.</p>
</text></group></doc>
<method name='file_truncate'>
<arguments><argument name='file'><type><string/></type></argument><argument name='length'><type><int/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
<docgroup homogen-name='filesystem_stat' homogen-type='method'><doc><text><p>Returns a mapping describing the properties of the filesystem
containing the path specified by <ref resolved='predef::filesystem_stat.path'>path</ref>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><returns/><text><p>If a filesystem cannot be determined <expr>0</expr> (zero) will be returned.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <p> Otherwise a mapping(string:int) with the following fields will be
returned:</p>
<mapping><group><member><type><int/></type><index>"blocksize"</index></member><text><p>Size in bytes of the filesystem blocks.</p>
</text></group><group><member><type><int/></type><index>"blocks"</index></member><text><p>Size of the entire filesystem in blocks.</p>
</text></group><group><member><type><int/></type><index>"bfree"</index></member><text><p>Number of free blocks in the filesystem.</p>
</text></group><group><member><type><int/></type><index>"bavail"</index></member><text><p>Number of available blocks in the filesystem.
|
84ea4e | 2003-04-07 | Martin Nilsson | | This is usually somewhat less than the <expr>"bfree"</expr> value, and
|
5bfef5 | 2003-04-01 | Martin Nilsson | | can usually be adjusted with eg tunefs(1M).</p>
</text></group><group><member><type><int/></type><index>"files"</index></member><text><p>Total number of files (aka inodes) allowed by this filesystem.</p>
</text></group><group><member><type><int/></type><index>"ffree"</index></member><text><p>Number of free files in the filesystem.</p>
</text></group><group><member><type><int/></type><index>"favail"</index></member><text><p>Number of available files in the filesystem.
|
84ea4e | 2003-04-07 | Martin Nilsson | | This is usually the same as the <expr>"ffree"</expr> value, and can
|
5bfef5 | 2003-04-01 | Martin Nilsson | | usually be adjusted with eg tunefs(1M).</p>
</text></group><group><member><type><int/></type><index>"fsname"</index></member><text><p>Name assigned to the filesystem.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text></group><group><member><type><int/></type><index>"fstype"</index></member><text><p>Type of filesystem (eg <expr>"nfs"</expr>).</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text></group></mapping>
</text></group><group><note/><text><p>Please note that not all members are present on all OSs.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::file_stat'>file_stat()</ref></p>
</text></group></doc>
<method name='filesystem_stat'>
<arguments><argument name='path'><type><string/></type></argument></arguments>
<returntype><mapping><indextype><string/></indextype><valuetype><int/></valuetype></mapping></returntype>
</method>
</docgroup>
<docgroup homogen-name='filter' homogen-type='method'><doc><text><p>Filters the elements in <ref resolved='predef::filter.arr'>arr</ref> through <ref resolved='predef::filter.fun'>fun</ref>.</p>
<p> <ref resolved='predef::filter.arr'>arr</ref> is treated as a set of elements to be filtered, as
follows:</p>
<dl><group><item name='array'/><item name='multiset'/><item name='string'/><text><p>Each element is filtered with <ref resolved='predef::filter.fun'>fun</ref>. The return value is of
the same type as <ref resolved='predef::filter.arr'>arr</ref> and it contains the elements that
<ref resolved='predef::filter.fun'>fun</ref> accepted. <ref resolved='predef::filter.fun'>fun</ref> is applied in order to each element,
and that order is retained between the kept elements.</p>
<p> If <ref resolved='predef::filter.fun'>fun</ref> is an array, it should have the same length as
<ref resolved='predef::filter.arr'>arr</ref>. In this case, the elements in <ref resolved='predef::filter.arr'>arr</ref> are kept where
the corresponding positions in <ref resolved='predef::filter.fun'>fun</ref> are nonzero. Otherwise
<ref resolved='predef::filter.fun'>fun</ref> is used as described below.</p>
</text></group><group><item name='mapping'/><text><p>The values are filtered with <ref resolved='predef::filter.fun'>fun</ref>, and the index/value
pairs it accepts are kept in the returned mapping.</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 called
to try to cast the object to an array, a mapping, or a
multiset, in that order, which is then filtered as described
above.</p>
</text></group></dl><p>Unless something else is mentioned above, <ref resolved='predef::filter.fun'>fun</ref> is used as
filter like this:</p>
<dl><group><item name='function'/><text><p><ref resolved='predef::filter.fun'>fun</ref> is called for each element. It gets the current
element as the first argument and <ref resolved='predef::filter.extra'>extra</ref> as the rest. The
element is kept if it returns true, otherwise it's filtered
out.</p>
</text></group><group><item name='object'/><text><p>The object is used as a function like above, i.e. the
<ref resolved='lfun::`()'>lfun::`()</ref> method in it is called.</p>
</text></group><group><item name='multiset'/><item name='mapping'/><text><p><ref resolved='predef::filter.fun'>fun</ref> is indexed with each element. The element is kept if
the result is nonzero, otherwise it's filtered out.</p>
|
805c6f | 2018-12-18 | Henrik Grubbström (Grubba) | | </text></group><group><item name='"zero or left out"'/><text><p>Each element that is callable is called with <ref resolved='predef::filter.extra'>extra</ref> as
|
5bfef5 | 2003-04-01 | Martin Nilsson | | arguments. The element is kept if the result of the call is
nonzero, otherwise it's filtered out. Elements that aren't
callable are also filtered out.</p>
</text></group><group><item name='string'/><text><p>Each element is indexed with the given string. If the result
of that is zero then the element is filtered out, otherwise
the result is called with <ref resolved='predef::filter.extra'>extra</ref> as arguments. The element
is kept if the return value is nonzero, otherwise it's
filtered out.</p>
<p> This is typically used when <ref resolved='predef::filter.arr'>arr</ref> is a collection of
objects, and <ref resolved='predef::filter.fun'>fun</ref> is the name of some predicate function
in them.</p>
</text></group></dl>
</text><group><note/><text><p>The function is never destructive on <ref resolved='predef::filter.arr'>arr</ref>.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::map'>map()</ref>, <ref>foreach()</ref></p>
</text></group></doc>
<method name='filter'>
<arguments><argument name='arr'><type><mixed/></type></argument><argument name='fun'><type><or><void/><mixed/></or></type></argument><argument name='extra'><type><varargs><mixed/></varargs></type></argument></arguments>
<returntype><mixed/></returntype>
</method>
</docgroup>
|
87e047 | 2001-03-12 | Fredrik Hübinette (Hubbe) | | <docgroup homogen-name='find_call_out' homogen-type='method'><doc><text><p>Find a call out in the queue.</p>
<p> This function searches the call out queue. If given a function as
argument, it looks for the first call out scheduled to that function.</p>
<p> The argument can also be a call out id as returned by <ref resolved='predef::call_out'>call_out()</ref>, in
which case that call_out will be found (Unless it has already been
called).</p>
</text><group><returns/><text><p><ref resolved='predef::find_call_out'>find_call_out()</ref> returns the remaining time in seconds before that
call_out will be executed. If no call_out is found,
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <ref resolved='predef::zero_type'>zero_type</ref>(<ref resolved='predef::find_call_out'>find_call_out</ref>(f)) will return 1.</p>
|
87e047 | 2001-03-12 | Fredrik Hübinette (Hubbe) | | </text></group><group><seealso/><text><p><ref resolved='predef::call_out'>call_out()</ref>, <ref resolved='predef::remove_call_out'>remove_call_out()</ref>, <ref resolved='predef::call_out_info'>call_out_info()</ref></p>
</text></group></doc>
<method name='find_call_out'>
<arguments><argument name='f'><type><function/></type></argument></arguments>
<returntype><int/></returntype>
</method>
<method name='find_call_out'>
<arguments><argument name='id'><type><mixed/></type></argument></arguments>
<returntype><int/></returntype>
</method>
|
655966 | 1996-11-06 | Fredrik Hübinette (Hubbe) | | </docgroup>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <docgroup homogen-name='floatp' homogen-type='method'><doc><text><p>Returns <expr>1</expr> if <ref resolved='predef::floatp.arg'>arg</ref> is a float, <expr>0</expr> (zero) otherwise.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::intp'>intp()</ref>, <ref resolved='predef::programp'>programp()</ref>, <ref resolved='predef::arrayp'>arrayp()</ref>, <ref resolved='predef::multisetp'>multisetp()</ref>, <ref resolved='predef::objectp'>objectp()</ref>,
<ref resolved='predef::mappingp'>mappingp()</ref>, <ref resolved='predef::stringp'>stringp()</ref>, <ref resolved='predef::functionp'>functionp()</ref></p>
</text></group></doc>
<method name='floatp'>
<arguments><argument name='arg'><type><mixed/></type></argument></arguments>
<returntype><int/></returntype>
</method>
</docgroup>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | <docgroup homogen-name='floor' homogen-type='method'><doc><text><p>Return the closest integer value less or equal to <ref resolved='predef::floor.f'>f</ref>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | </text><group><note/><text><p><ref resolved='predef::floor'>floor()</ref> does <b>not</b> return an <expr>int</expr>, merely an integer value
stored in a <expr>float</expr>.</p>
|
d5d63b | 2001-01-30 | Henrik Grubbström (Grubba) | | </text></group><group><seealso/><text><p><ref resolved='predef::ceil'>ceil()</ref>, <ref resolved='predef::round'>round()</ref></p>
</text></group></doc>
<method name='floor'>
<arguments><argument name='f'><type><float/></type></argument></arguments>
<returntype><float/></returntype>
</method>
</docgroup>
|
fd26b9 | 2003-03-13 | Martin Nilsson | | <docgroup homogen-name='fork' homogen-type='method'><doc><text><p>Fork the process in two.</p>
<p> Fork splits the process in two, and for the parent it returns the
pid of the child. Refer to your Unix manual for further details.</p>
</text><group><note/><text><p>This function can cause endless bugs if used without proper care.</p>
<p> This function is disabled when using threads.</p>
<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><int/></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='function_name' homogen-type='method'><doc><text><p>Return the name of the function <ref resolved='predef::function_name.f'>f</ref>.</p>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <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>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </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><function/></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>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <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>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <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>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <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>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </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>
|
84ea4e | 2003-04-07 | Martin Nilsson | | <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>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </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>
<p> This function checks all the memory for cyclic structures such
as arrays containing themselves and frees them if appropriate.
It also frees up destructed objects and things with only weak
references.</p>
<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><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 destroy() functions are called during freeing,
which can cause more things to be freed or allocated.</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/>
<returntype><int/></returntype>
</method>
</docgroup>
|
94ef77 | 2002-11-25 | Martin Nilsson | |
|
a8a6d4 | 2002-03-02 | Marcus Agehall | | <docgroup homogen-name='get_all_groups' homogen-type='method'><doc><text><p>Returns an array of arrays with all groups in the system groups source.
|
a9a371 | 2002-03-01 | Marcus Agehall | | Each element in the returned array has the same structure as in
|
227e8c | 2003-04-02 | Martin Nilsson | | <ref>getgrent</ref> function.</p>
|
a8a6d4 | 2002-03-02 | Marcus Agehall | | </text><group><note/><text><p>The groups source is system dependant. Refer to your system manuals for information
about how to set the source.</p>
</text></group><group><returns/><text><array><group><elem><type><array><valuetype><or><int/><string/><array><valuetype><string/></valuetype></array></or></valuetype></array></type><minindex>0</minindex></elem><text><p>Array with info about the group</p>
|
a9a371 | 2002-03-01 | Marcus Agehall | | </text></group></array>
|
227e8c | 2003-04-02 | Martin Nilsson | | </text></group><group><seealso/><text><p><ref>getgrent()</ref></p>
|
a38f1e | 2001-11-13 | Martin Nilsson | | </text></group></doc>
<method name='get_all_groups'>
<arguments/>
<returntype><array><valuetype><array><valuetype><or><int/><string/><array><valuetype><string/></valuetype></array></or></valuetype></array></valuetype></array></returntype>
</method>
</docgroup>
|
a9a371 | 2002-03-01 | Marcus Agehall | | <docgroup homogen-name='get_all_users' homogen-type='method'><doc><text><p>Returns an array with all users in the system.</p>
|
227e8c | 2003-04-02 | Martin Nilsson | | </text><group><returns/><text><p>An array with arrays of userinfo as in <ref>getpwent</ref>.</p>
</text></group><group><seealso/><text><p><ref>getpwent()</ref>
|
a9a371 | 2002-03-01 | Marcus Agehall | | <ref resolved='predef::getpwnam'>getpwnam()</ref>
<ref resolved='predef::getpwuid'>getpwuid()</ref></p>
|
a38f1e | 2001-11-13 | Martin Nilsson | | </text></group></doc>
<method name='get_all_users'>
<arguments/>
<returntype><array><valuetype><array><valuetype><or><int/><string/></or></valuetype></array></valuetype></array></returntype>
</method>
</docgroup>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | <docgroup homogen-name='get_dir' homogen-type='method'><doc><text><p>Returns an array of all filenames in the directory <ref resolved='predef::get_dir.dirname'>dirname</ref>, or
|
84ea4e | 2003-04-07 | Martin Nilsson | | <expr>0</expr> (zero) if the directory does not exist.</p>
|
5bfef5 | 2003-04-01 | Martin Nilsson | | </text><group><seealso/><text><p><ref resolved='predef::mkdir'>mkdir()</ref>, <ref resolved='predef::cd'>cd()</ref></p>
</text></group></doc>
<method name='get_dir'>
<arguments><argument name='dirname'><type><string/></type></argument></arguments>
<returntype><array><valuetype><string/></valuetype></array></returntype>
</method>
</docgroup>
|
a9a371 | 2002-03-01 | Marcus Agehall | | <docgroup homogen-name='get_groups_for_user' homogen-type='method'><doc><text><p>Gets all groups which a given user is a member of.</p>
</text><group><param name='user'/><text><p>UID or loginname of the user</p>
</text></group><group><returns/><text><array><group><elem><type><array/></type><minindex>0</minindex></elem><text><p>Information about all the users groups</p>
</text></group></array>
</text></group><group><seealso/><text><p><ref resolved='predef::get_all_groups'>get_all_groups()</ref>
<ref resolved='predef::getgrgid'>getgrgid()</ref>
<ref resolved='predef::getgrnam'>getgrnam()</ref>
<ref resolved='predef::getpwuid'>getpwuid()</ref>
<ref resolved='predef::getpwnam'>getpwnam()</ref></p>
|
a38f1e | 2001-11-13 | Martin Nilsson | | </text></group></doc>
<method name='get_groups_for_user'>
<arguments><argument name='user'><type><or><int/><string/></or></type></argument></arguments>
<returntype><array><valuetype><int/></valuetype></array></returntype>
</method>
</docgroup>
|
25d84a | 2003-04-18 | Martin Stjernholm | | <docgroup homogen-name='get_iterator' homogen-type='method'><doc><text><p>Creates and returns a canonical iterator for <ref resolved='predef::get_iterator.data'>data</ref>.</p>
|
2df45e | 2003-04-21 | Henrik Grubbström (Grubba) | | </text><group><returns/><text><mixed name='data'><group><type><object resolved='predef::get_iterator'/></type><text><p>If <ref resolved='predef::get_iterator.data'>data</ref> is an object with <ref resolved='lfun::_get_iterator'>lfun::_get_iterator</ref> defined then
it's called in it to create the iterator.</p>
<p> If <ref resolved='predef::get_iterator.data'>data</ref> is an object that lacks <ref resolved='lfun::_get_iterator'>lfun::_get_iterator</ref> then
it's assumed to already be an iterator object, and is simply
returned.</p>
</text></group><group><type><array/></type><text><p>If <ref resolved='predef::get_iterator.data'>data</ref> is an array, an <ref>Array.Iterator</ref> object will be
returned.</p>
</text></group><group><type><mapping/></type><text><p>If <ref resolved='predef::get_iterator.data'>data</ref> is a mapping, a <ref>Mapping.Iterator</ref> object will be
returned</p>
</text></group><group><type><multiset/></type><text><p>If <ref resolved='predef::get_iterator.data'>data</ref> is a multiset, a <ref>Multiset.Iterator</ref> object will be
returned</p>
</text></group><group><type><string/></type><text><p>If <ref resolved='predef::get_iterator.data'>data</ref> is a string, a <ref>String.Iterator</ref> object will be
returned</p>
</text></group></mixed>
</text></group><group><note/><text><p>This function is used by <ref>foreach</ref> to get an iterator for an
|
25d84a | 2003-04-18 | Martin Stjernholm | | object.</p>
</text></group><group><seealso/><text><p><ref resolved='predef::Iterator'>Iterator</ref>, <ref resolved='lfun::_get_iterator'>lfun::_get_iterator</ref></p>
</text></group></doc>
<method name='get_iterator'>
<arguments><argument name='data'><type><or><object resolved='predef::get_iterator'/><array/><mapping/><multiset/><string/></or></type></argument></arguments>
<returntype><object resolved='predef::Iterator'>Iterator</object></returntype>
</method>
</docgroup |