Gnash
0.8.11dev
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
libcore
asobj
Array_as.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3
// Free Software Foundation, Inc
4
//
5
// This program is free software; you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation; either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19
#ifndef GNASH_ARRAY_H
20
#define GNASH_ARRAY_H
21
22
#include "
as_object.h
"
23
24
// Forward declarations
25
namespace
gnash {
26
class
as_value;
27
}
28
29
namespace
gnash {
30
32
//
35
//
39
size_t
arrayLength
(as_object& array);
40
42
//
45
//
48
ObjectURI
arrayKey
(VM& vm,
size_t
i
);
49
51
//
54
class
IsStrictArray
:
public
PropertyVisitor
55
{
56
public
:
57
IsStrictArray
(
VM
& st) : _strict(true), _st(st) {}
58
virtual
bool
accept
(
const
ObjectURI
& uri,
const
as_value
& val);
59
60
bool
strict
()
const
{
61
return
_strict;
62
}
63
private
:
64
bool
_strict;
65
VM
& _st;
66
};
67
68
70
//
74
void
checkArrayLength
(as_object& array,
const
ObjectURI& uri,
75
const
as_value& val);
76
77
template
<
typename
T>
78
void
foreachArray
(
as_object
& array,
T
& pred)
79
{
80
size_t
size =
arrayLength
(array);
81
if
(!size)
return
;
82
83
VM
& vm =
getVM
(array);
84
85
for
(
size_t
i
= 0; i < static_cast<size_t>(size); ++
i
) {
86
pred(
getOwnProperty
(array,
arrayKey
(vm,
i
)));
87
}
88
}
89
91
void
array_class_init
(as_object& global,
const
ObjectURI& uri);
92
93
void
registerArrayNative
(as_object& global);
94
95
}
96
97
#endif
Generated on Mon Jul 16 2012 04:05:32 for Gnash by
1.8.1.1