Files
harbour-core/doc/en/hashfunc.txt
Viktor Szakats 03ac58b17b 2017-09-08 18:22 UTC Viktor Szakats (vszakats users.noreply.github.com)
* bin/commit.hb
  * config/detect.mk
  * config/detfun.mk
  * config/detplat.mk
  * config/dir.mk
  * config/dirsh.mk
  * config/global.mk
  * config/globsh.mk
  * config/instsh.mk
  * config/lang.hb
  * config/lang2po.hb
  * config/po2lang.hb
  * config/postinst.hb
  * contrib/hbexpat/tests/tohash.prg
  * contrib/hbformat/utils/hbformat.ini
  * contrib/hbmisc/hbedit.prg
  * contrib/hbmxml/tests/testmxml.prg
  * contrib/hbnetio/utils/hbnetio/_console.prg
  * contrib/hbnetio/utils/hbnetio/_winsvc.prg
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
  * contrib/hbwin/tests/ole.prg
  * contrib/hbwin/tests/oletst2.js
  * contrib/hbwin/tests/oletst2.vbs
  * contrib/hbxpp/doc/en/binnumx.txt
  * contrib/hbxpp/doc/en/dbcmdx.txt
  * contrib/xhb/htmutil.prg
  * contrib/xhb/tfile.prg
  * contrib/xhb/tframe.prg
  * contrib/xhb/thtm.prg
  * ChangeLog.txt
  * debian/copyright
  * doc/class_tp.txt
  * doc/hdr_tpl.txt
  * doc/xhb-diff.txt
  * LICENSE.txt
  * package/harbour-wce.spec.in
  * package/harbour-win.spec.in
  * package/harbour.spec
  * package/mpkg_rpm_wce.sh
  * package/mpkg_rpm_win.sh
  * package/mpkg_rpm.sh
  * package/mpkg_src.sh
  * package/mpkg_ver.sh
  * src/rtl/achoice.prg
  * src/rtl/getsys53.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenusys.prg
  * tests/hbdoc.prg
  * tests/langmsg.prg
  * tests/rto_get.prg
  * tests/rto_tb.prg
  + doc/en/ati.txt
  + doc/en/dirdrive.txt
  + doc/en/hashfunc.txt
  + doc/en/hbtoken.txt
  + doc/en/left.txt
  + doc/en/proc.txt
  + doc/en/strtran.txt
  + doc/en/transfrm.txt
  + doc/en/typefile.txt
  * doc/en/*
    * more partial sync with 3.4 fork
2017-09-08 18:25:11 +00:00

1012 lines
18 KiB
Plaintext

/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_Hash()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Returns a hash table
$SYNTAX$
hb_Hash( [ <Key1>, <Value1> ], [ <KeyN>, <ValueN> ], ... ) -> hTable
$ARGUMENTS$
<Key1> entry key;
can be of type: number, date, datetime, string, pointer
<Value1> entry value; can be of type: block, string, numeric, date/datetime, logical, nil, pointer, array, hash table
Equivalent to:
```
hTable := { => }
hTable := { <Key1> => <Value1>, <Key2> => <Value2>, <KeyN> => <ValueN> }
```
$RETURNS$
A hash table built from the initial key/value pairs
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HHasKey()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Determines whether a hash table has an entry with a give key
$SYNTAX$
hb_HHasKey( <hTable>, <Key> ) -> lExists
$ARGUMENTS$
<hTable> a hash table
<Key> a key value to be queried for;
can be of type: number, date, datetime, string, pointer
$RETURNS$
A logical value indicating whether the key exists within the hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HPos()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Locates the index of a key within a hash table
$SYNTAX$
hb_HPos( <hTable>, <Key> ) -> nPosition
$ARGUMENTS$
<hTable> a hash table
<Key> key for which its position is to be determined;
can be of type: number, date, datetime, string, pointer
$RETURNS$
A integer number being the index position of the key within the hash table.
TODO: what is the return value if the key does not exist? zero (0)? RTE?
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HGet()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Returns a hash value
$SYNTAX$
hb_HGet( <hTable>, <Key> ) -> <Value>
$ARGUMENTS$
<hTable> a hash table
<Key> key to be retrieve from the hash table;
can be of type: number, date, datetime, string, pointer
$RETURNS$
Either the value within the hash table for the given key.
An array access error occurs of the key is not found
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HGetDef()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Returns a hash value, or a default value if the key is not present
$SYNTAX$
hb_HGetDef( <hTable>, <Key>, [<DefaultValue>] ) -> <Value>
$ARGUMENTS$
<hTable> a hash table
<Key> key to be retrieve from the hash table;
can be of type: number, date, datetime, string, pointer
<DefaultValue> a default value to be returned if the
hash table does not contain the key
$RETURNS$
Either the value within the hash table for the given key,
or the default value.
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HSet()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Sets a hash value
$SYNTAX$
hb_HSet( <hTable>, <Key>, <Value> ) -> <hTable>
$ARGUMENTS$
<hTable> a hash table
<Key> the key of the entry to be set;
can be of type: number, date, datetime, string, pointer
<Value> the entry value
$RETURNS$
The hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HDel()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Removes a key/value pair from a hash table
$SYNTAX$
hb_HDel( <hTable>, <Key> ) -> <hTable>
$ARGUMENTS$
<hTable> a hash table
<Key> key to be removed from the hash table;
can be of type: number, date, datetime, string, pointer
$RETURNS$
The hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HKeyAt()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Gets a hash table key at a given position
$SYNTAX$
hb_HKeyAt( <hTable>, <nPosition> ) -> <Key>
$ARGUMENTS$
<hTable> a hash table
<nPosition> the position of an entry within the hash table that will
be returned
$RETURNS$
The key at the given position of the hash table;
the type will be one: number, date, datetime, string, pointer
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HValueAt()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Gets/sets a hash value at a given position
$SYNTAX$
hb_HValueAt( <hTable>, <nPosition>, [<NewValue>] ) -> <Value>
$ARGUMENTS$
<hTable> a hash table
<nPosition> the position of an entry within the hash table that will
be returned
<NewValue> a new value to be assigned to the hash table at the given
position
$RETURNS$
The existing value, or the new value if it is given
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HPairAt()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Returns a two-dimensional array of a hash table entry key/value pair
$SYNTAX$
hb_HPairAt( <hTable>, <nPosition> ) -> <aKeyValue>
$ARGUMENTS$
<hTable> a hash table
<nPosition> the position of an entry within the hash table that will
be returned
$RETURNS$
A two-dimensional array of the key/value pair entry of the hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HDelAt()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Removes an entry from a hash table based on its index position
$SYNTAX$
hb_HDelAt( <hTable>, <nPosition> ) -> <hTable>
$ARGUMENTS$
<hTable> a hash table
<nPosition> the position of an entry within the hash table that will
be deleted
$RETURNS$
The hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HKeys()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Returns an array of the keys of a hash table
$SYNTAX$
hb_HKeys( <hTable> ) -> <aKeys>
$ARGUMENTS$
<hTable> a hash table
$RETURNS$
An array of all the hash table keys
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HValues()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Returns an array of the values of a hash table
$SYNTAX$
hb_HValues( <hTable> ) -> <aValues>
$ARGUMENTS$
<hTable> a hash table
$RETURNS$
An array of all the hash values
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HFill()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Fills a hash table with a value
$SYNTAX$
hb_HFill( <hTable>, <Value> ) -> <hTable>
$ARGUMENTS$
<hTable> a hash table
<Value> fill value; can be of type: block, string, numeric, date/datetime, logical, nil, pointer, array, hash table
$RETURNS$
The hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HClone()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Creates a copy of a hash table
$SYNTAX$
hb_HClone( <hTable> ) -> <hsDestination>
$ARGUMENTS$
<hTable> a hash table
$RETURNS$
A cloned copy of the hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HCopy()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Adds entries from the source hash table to the destination hash table
$SYNTAX$
hb_HCopy( <hsDestination>, <hsSource>, [<nStart>], [<nCount>] ) -> <hsDestination>
$ARGUMENTS$
<hsDestination> a destination hash table
<hsSource> a source hash table
<nStart> starting index, defaults to 1 if omitted
<nCount> counter, defaults to (length) - <nStart> is omitted
$RETURNS$
The destination hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HMerge()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Merges a source hash table into a destination hash table
$SYNTAX$
hb_HMerge( <hsDestination>, <hsSource>, <bBlock>|<nPosition> ) -> <hsDestination>
$ARGUMENTS$
<hsDestination> a destination hash table
<hsSource> a source hash table
<bBlock> a code block that will be evaluated for each entry within the
source hash table; the code block will be passed the entry key, value and
position; if the code block returns a true value, the entry will be added to
the destination hash table
<nPosition> the position of an entry within the source hash table that will
be appended to the destination hash table
TODO: the source code passes either a number or HB_HASH_UNION; research this
$RETURNS$
The destination hash table with the contents of the source hash table merged
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HEval()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Evaluate a code block across the contents of a hash table
$SYNTAX$
hb_HEval( <hTable>, <bBlock>, [<nStart>], [<nCount>] ) -> <hTable>
$ARGUMENTS$
<hTable> a hash table
<bBlock> code block to be evaluated
<nStart> starting index, defaults to 1 if omitted
<nCount> counter, defaults to (length) - <nStart> is omitted
$RETURNS$
The hash table
$DESCRIPTION$
The code block is evaluated for every hash table entry starting at
<nStart> for <nCount> items.
The code block is passed the entry key, value, and numeric position
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HScan()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Scans a hash table
$SYNTAX$
hb_HScan( <hTable>, <Value>, [<nStart>], [<nCount>, [<lExact>] ) -> nPosition
$ARGUMENTS$
<hTable> a hash table
<Value> to be located within the hash table
<nStart> starting index, defaults to 1 if omitted
<nCount> counter, defaults to (length) - <nStart> is omitted
<lExact> logical value indicating whether the comparison
is to be be exact or not
$RETURNS$
The position of the located value within the hash table, or zero (0) if not found.
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HSort()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Reorganizes the internal list of the hash table to be sorted
$SYNTAX$
hb_HSort( <hTable> ) -> <hsSortedTable>
$ARGUMENTS$
<hTable> a hash table
$RETURNS$
The hash table sorted
TODO: is the original table altered?
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HCaseMatch()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Sets the 'case match' flag for the hash table
$SYNTAX$
hb_HCaseMatch( <hTable>, [<lFlag>] ) -> <lPreviousFlag>
$ARGUMENTS$
<hTable> a hash table
<lFlag> a logical value indicating to turn on or off
the 'case match' flag of the hash table
$RETURNS$
The previous value of the 'case match' flag
$DESCRIPTION$
This function returns the old flag value
$EXAMPLES$
LOCAL hsTable, lFlag
hsTable := { "one" => 1, "two" => 2 }
// turn 'case match' on for a new hash table, storing old flag
lFlag := hb_HCaseMatch( hsTable, .T. )
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HBinary()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Sets the 'binary' flag for the hash table
$SYNTAX$
hb_HBinary( <hTable>, [<lFlag>] ) -> <lPreviousFlag>
$ARGUMENTS$
<hTable> a hash table
<lFlag> a logical value indicating to turn on or off
the 'binary' flag of the hash table
$RETURNS$
The previous value of the 'binary' flag
$DESCRIPTION$
This function is equivalent to hb_HBinary() but it returns
the old flag value rather than the hash table
$EXAMPLES$
LOCAL hsTable, lFlag
hsTable := { "one" => 1, "two" => 2 }
// turn 'binary' on for a new hash table, storing old flag
lFlag := hb_HBinary( hsTable, .T. )
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HAutoAdd()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Sets the 'auto add' flag for the hash table
$SYNTAX$
hb_HAutoAdd( <hTable>, [<lFlag>] ) -> <lPreviousFlag>
$ARGUMENTS$
<hTable> a hash table
<lFlag> a logical value indicating to turn on or off
the 'auto add' flag of the hash table
$RETURNS$
The previous value of the 'auto add' flag
$DESCRIPTION$
This function is equivalent to hb_HAutoAdd() but it returns
the old flag value rather than the hash table
$EXAMPLES$
LOCAL hsTable, lFlag
hsTable := { "one" => 1, "two" => 2 }
// turn 'auto add' on for a new hash table, storing old flag
lFlag := hb_HAutoAdd( hsTable, .T. )
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Procedure
$NAME$
hb_HAllocate()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Preallocates a hash table
$SYNTAX$
hb_HAllocate( <hTable>, <nItems> )
$ARGUMENTS$
<hTable> a hash table
<nItems> number of items to preallocate in the hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/
/* $DOC$
$AUTHOR$
Copyright 2009 April White <bright.tigra gmail.com>
$TEMPLATE$
Function
$NAME$
hb_HDefault()
$CATEGORY$
API
$SUBCATEGORY$
Hash table
$ONELINER$
Returns/sets a default value for a hash table.
$SYNTAX$
hb_HDefault( <hTable>, <DefaultValue> ) -> <OldDefaultValue>
$ARGUMENTS$
<hTable> a hash table
<DefaultValue>
$RETURNS$
The previous default value assigned to the hash table
$DESCRIPTION$
$EXAMPLES$
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
$FILES$
$SEEALSO$
$END$
*/