OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PPAPI_CPP_VAR_H_ | 5 #ifndef PPAPI_CPP_VAR_H_ |
6 #define PPAPI_CPP_VAR_H_ | 6 #define PPAPI_CPP_VAR_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 | 151 |
152 /// This function determines if this <code>Var</code> is a number. | 152 /// This function determines if this <code>Var</code> is a number. |
153 /// | 153 /// |
154 /// @return true if this <code>Var</code> is an int32 or double number, | 154 /// @return true if this <code>Var</code> is an int32 or double number, |
155 /// otherwise false. | 155 /// otherwise false. |
156 bool is_number() const { | 156 bool is_number() const { |
157 return var_.type == PP_VARTYPE_INT32 || | 157 return var_.type == PP_VARTYPE_INT32 || |
158 var_.type == PP_VARTYPE_DOUBLE; | 158 var_.type == PP_VARTYPE_DOUBLE; |
159 } | 159 } |
160 | 160 |
| 161 /// This function determines if this <code>Var</code> is an ArrayBuffer. |
| 162 bool is_array_buffer() const { return var_.type == PP_VARTYPE_ARRAY_BUFFER; } |
| 163 |
161 /// AsBool() converts this <code>Var</code> to a bool. Assumes the | 164 /// AsBool() converts this <code>Var</code> to a bool. Assumes the |
162 /// internal representation is_bool(). If it's not, it will assert in debug | 165 /// internal representation is_bool(). If it's not, it will assert in debug |
163 /// mode, and return false. | 166 /// mode, and return false. |
164 /// | 167 /// |
165 /// @return A bool version of this <code>Var</code>. | 168 /// @return A bool version of this <code>Var</code>. |
166 bool AsBool() const; | 169 bool AsBool() const; |
167 | 170 |
168 /// AsInt() converts this <code>Var</code> to an int32_t. This function | 171 /// AsInt() converts this <code>Var</code> to an int32_t. This function |
169 /// is required because JavaScript doesn't have a concept of ints and doubles, | 172 /// is required because JavaScript doesn't have a concept of ints and doubles, |
170 /// only numbers. The distinction between the two is an optimization inside | 173 /// only numbers. The distinction between the two is an optimization inside |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 private: | 292 private: |
290 // Prevent an arbitrary pointer argument from being implicitly converted to | 293 // Prevent an arbitrary pointer argument from being implicitly converted to |
291 // a bool at Var construction. If somebody makes such a mistake, (s)he will | 294 // a bool at Var construction. If somebody makes such a mistake, (s)he will |
292 // get a compilation error. | 295 // get a compilation error. |
293 Var(void* non_scriptable_object_pointer); | 296 Var(void* non_scriptable_object_pointer); |
294 }; | 297 }; |
295 | 298 |
296 } // namespace pp | 299 } // namespace pp |
297 | 300 |
298 #endif // PPAPI_CPP_VAR_H_ | 301 #endif // PPAPI_CPP_VAR_H_ |
OLD | NEW |