|
|
1.1 root 1: /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2: *
3: * The contents of this file are subject to the Netscape Public
4: * License Version 1.1 (the "License"); you may not use this file
5: * except in compliance with the License. You may obtain a copy of
6: * the License at http://www.mozilla.org/NPL/
7: *
8: * Software distributed under the License is distributed on an "AS
9: * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
10: * implied. See the License for the specific language governing
11: * rights and limitations under the License.
12: *
13: * The Original Code is Mozilla Communicator client code, released
14: * March 31, 1998.
15: *
16: * The Initial Developer of the Original Code is Netscape
17: * Communications Corporation. Portions created by Netscape are
18: * Copyright (C) 1998 Netscape Communications Corporation. All
19: * Rights Reserved.
20: *
21: * Contributor(s):
22: *
23: * Alternatively, the contents of this file may be used under the
24: * terms of the GNU Public License (the "GPL"), in which case the
25: * provisions of the GPL are applicable instead of those above.
26: * If you wish to allow use of your version of this file only
27: * under the terms of the GPL and not to allow others to use your
28: * version of this file under the NPL, indicate your decision by
29: * deleting the provisions above and replace them with the notice
30: * and other provisions required by the GPL. If you do not delete
31: * the provisions above, a recipient may use your version of this
32: * file under either the NPL or the GPL.
33: */
34:
35: #ifndef jsarray_h___
36: #define jsarray_h___
37: /*
38: * JS Array interface.
39: */
40: #include "jsprvtd.h"
41: #include "jspubtd.h"
42:
43: JS_BEGIN_EXTERN_C
44:
45: extern JSClass js_ArrayClass;
46:
47: extern JSObject *
48: js_InitArrayClass(JSContext *cx, JSObject *obj);
49:
50: extern JSObject *
51: js_NewArrayObject(JSContext *cx, jsuint length, jsval *vector);
52:
53: extern JSBool
54: js_GetLengthProperty(JSContext *cx, JSObject *obj, jsuint *lengthp);
55:
56: extern JSBool
57: js_SetLengthProperty(JSContext *cx, JSObject *obj, jsuint length);
58:
59: extern JSBool
60: js_HasLengthProperty(JSContext *cx, JSObject *obj, jsuint *lengthp);
61:
62: /*
63: * JS-specific heap sort function.
64: */
65: typedef int (*JSComparator)(const void *a, const void *b, void *arg);
66:
67: extern JSBool
68: js_HeapSort(void *vec, size_t nel, size_t elsize, JSComparator cmp, void *arg);
69:
70: JS_END_EXTERN_C
71:
72: #endif /* jsarray_h___ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.