pike.git
/
src
/
program.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/program.c:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: program.c,v 1.
776
2010/
04
/
10
14
:
07
:
30
mast
Exp $
+
|| $Id: program.c,v 1.
777
2010/
05
/
19
09
:
32
:
22
grubba
Exp $
*/ #include "global.h" #include "program.h" #include "object.h" #include "dynamic_buffer.h" #include "pike_types.h" #include "stralloc.h" #include "las.h" #include "lex.h"
pike.git/src/program.c:788:
*! It's assumed that this function is side-effect free. *! *! @seealso *! @[predef::`>()] */ /*! @decl int lfun::__hash() *! *! Hashing callback. *!
-
*!
This
function
gets
called
by
various
mapping operations when the
-
*! 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
@[lfun::`==]
considers equal to
the object
gets
the
-
*!
same
hash value
.
+
*!
The
main
caller
of
this
function
is
@[predef::hash_value()]
+
*!
or
the
low-level
equvivalent,
which
get
called
by
various
+
*!
mapping
operations
when
the object
is
used
as
index
in
a
mapping
.
*!
-
+
*! @returns
+
*! It should return an integer that corresponds to the object
+
*! in such a way that all values which @[lfun::`==] considers
+
*! equal to the object get the same hash value.
+
*!
*! @note *! The function @[predef::hash] does not return hash values that *! are compatible with this one. *! *! @note *! It's assumed that this function is side-effect free. *! *! @seealso
-
*! @[lfun::`==]
+
*! @[lfun::`==]
, @[predef::hash_value()]
*/ /*! @decl mixed lfun::cast(string requested_type) *! *! Value cast callback. *! *! @param requested_type *! Type to cast to. *! *! @returns