Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
third_party
protobuf
php
ext
google
protobuf
array.h
Go to the documentation of this file.
1
// Protocol Buffers - Google's data interchange format
2
// Copyright 2008 Google Inc. All rights reserved.
3
// https://developers.google.com/protocol-buffers/
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
// * Redistributions in binary form must reproduce the above
12
// copyright notice, this list of conditions and the following disclaimer
13
// in the documentation and/or other materials provided with the
14
// distribution.
15
// * Neither the name of Google Inc. nor the names of its
16
// contributors may be used to endorse or promote products derived from
17
// this software without specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31
#ifndef PHP_PROTOBUF_ARRAY_H_
32
#define PHP_PROTOBUF_ARRAY_H_
33
34
#include <php.h>
35
36
#include "
def.h
"
37
#include "
php-upb.h
"
38
39
// Registers PHP classes for RepeatedField.
40
void
Array_ModuleInit
();
41
42
// Gets a upb_array* for the PHP object |val|:
43
// * If |val| is a RepeatedField object, we first check its type and verify
44
// that that the elements have the correct type for |type|. If so, we return
45
// the wrapped upb_array*. We also make sure that this array's arena is fused
46
// to |arena|, so the returned upb_array is guaranteed to live as long as
47
// |arena|.
48
// * If |val| is a PHP Array, we attempt to create a new upb_array using
49
// |arena| and add all of the PHP elements to it.
50
//
51
// If an error occurs, we raise a PHP error and return NULL.
52
upb_array
*
RepeatedField_GetUpbArray
(zval *val,
TypeInfo
type
,
53
upb_arena
*
arena
);
54
55
// Creates a PHP RepeatedField object for the given upb_array* and |type| and
56
// returns it in |val|. The PHP object will keep a reference to this |arena| to
57
// ensure the underlying array data stays alive.
58
//
59
// If |arr| is NULL, this will return a PHP null object.
60
void
RepeatedField_GetPhpWrapper
(zval *val,
upb_array
*arr,
TypeInfo
type
,
61
zval *
arena
);
62
63
// Returns true if the given arrays are equal. Both arrays must be of this
64
// |type| and, if the type is |UPB_TYPE_MESSAGE|, must have the same |m|.
65
bool
ArrayEq
(
const
upb_array
*
a1
,
const
upb_array
*
a2
,
TypeInfo
type
);
66
67
#endif // PHP_PROTOBUF_ARRAY_H_
upb_arena
Definition:
bloaty/third_party/protobuf/php/ext/google/protobuf/upb.c:2252
Array_ModuleInit
void Array_ModuleInit()
Definition:
protobuf/php/ext/google/protobuf/array.c:634
TypeInfo
Definition:
protobuf/php/ext/google/protobuf/def.h:69
arena
grpc_core::ScopedArenaPtr arena
Definition:
binder_transport_test.cc:237
a2
T::first_type a2
Definition:
abseil-cpp/absl/container/internal/hash_function_defaults_test.cc:307
RepeatedField_GetUpbArray
upb_array * RepeatedField_GetUpbArray(zval *val, TypeInfo type, upb_arena *arena)
Definition:
protobuf/php/ext/google/protobuf/array.c:172
def.h
ArrayEq
bool ArrayEq(const upb_array *a1, const upb_array *a2, TypeInfo type)
Definition:
protobuf/php/ext/google/protobuf/array.c:217
upb_array
Definition:
bloaty/third_party/protobuf/php/ext/google/protobuf/upb.h:578
a1
T::first_type a1
Definition:
abseil-cpp/absl/container/internal/hash_function_defaults_test.cc:305
RepeatedField_GetPhpWrapper
void RepeatedField_GetPhpWrapper(zval *val, upb_array *arr, TypeInfo type, zval *arena)
Definition:
protobuf/php/ext/google/protobuf/array.c:152
php-upb.h
asyncio_get_stats.type
type
Definition:
asyncio_get_stats.py:37
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:34