grpc
third_party
protobuf
ruby
ext
google
protobuf_c
protobuf/ruby/ext/google/protobuf_c/repeated_field.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 RUBY_PROTOBUF_REPEATED_FIELD_H_
32
#define RUBY_PROTOBUF_REPEATED_FIELD_H_
33
34
#include <ruby/ruby.h>
35
36
#include "
protobuf.h
"
37
#include "
ruby-upb.h
"
38
39
// Returns a Ruby wrapper object for the given upb_array, which will be created
40
// if one does not exist already.
41
VALUE
RepeatedField_GetRubyWrapper
(
upb_array
*
msg
,
TypeInfo
type_info,
42
VALUE
arena
);
43
44
// Gets the underlying upb_array for this Ruby RepeatedField object, which must
45
// have a type that matches |f|. If this is not a repeated field or the type
46
// doesn't match, raises an exception.
47
const
upb_array
*
RepeatedField_GetUpbArray
(VALUE
value
,
const
upb_fielddef
*
f
,
48
upb_arena
*
arena
);
49
50
// Implements #inspect for this repeated field by appending its contents to |b|.
51
void
RepeatedField_Inspect
(
StringBuilder
*
b
,
const
upb_array
*
array
,
52
TypeInfo
info);
53
54
// Returns a deep copy of this RepeatedField object.
55
VALUE
RepeatedField_deep_copy
(VALUE
obj
);
56
57
// Ruby class of Google::Protobuf::RepeatedField.
58
extern
VALUE
cRepeatedField
;
59
60
// Call at startup to register all types in this module.
61
void
RepeatedField_register
(VALUE
module
);
62
63
#endif // RUBY_PROTOBUF_REPEATED_FIELD_H_
obj
OPENSSL_EXPORT const ASN1_OBJECT * obj
Definition:
x509.h:1671
upb_arena
Definition:
bloaty/third_party/protobuf/php/ext/google/protobuf/upb.c:2252
StringBuilder
Definition:
protobuf/ruby/ext/google/protobuf_c/protobuf.c:57
RepeatedField_GetRubyWrapper
VALUE RepeatedField_GetRubyWrapper(upb_array *msg, TypeInfo type_info, VALUE arena)
Definition:
protobuf/ruby/ext/google/protobuf_c/repeated_field.c:82
TypeInfo
Definition:
protobuf/php/ext/google/protobuf/def.h:69
cRepeatedField
VALUE cRepeatedField
Definition:
bloaty/third_party/protobuf/ruby/ext/google/protobuf_c/repeated_field.c:42
arena
grpc_core::ScopedArenaPtr arena
Definition:
binder_transport_test.cc:237
RepeatedField_Inspect
void RepeatedField_Inspect(StringBuilder *b, const upb_array *array, TypeInfo info)
Definition:
protobuf/ruby/ext/google/protobuf_c/repeated_field.c:114
autogen_x86imm.f
f
Definition:
autogen_x86imm.py:9
array
Definition:
undname.c:101
RepeatedField_register
void RepeatedField_register(VALUE module)
Definition:
bloaty/third_party/protobuf/ruby/ext/google/protobuf_c/repeated_field.c:656
ruby-upb.h
protobuf.h
upb_array
Definition:
bloaty/third_party/protobuf/php/ext/google/protobuf/upb.h:578
upb_fielddef
Definition:
bloaty/third_party/protobuf/php/ext/google/protobuf/upb.c:2934
b
uint64_t b
Definition:
abseil-cpp/absl/container/internal/layout_test.cc:53
msg
std::string msg
Definition:
client_interceptors_end2end_test.cc:372
value
const char * value
Definition:
hpack_parser_table.cc:165
RepeatedField_deep_copy
VALUE RepeatedField_deep_copy(VALUE obj)
Definition:
bloaty/third_party/protobuf/ruby/ext/google/protobuf_c/repeated_field.c:368
descriptor_database_test_wrapper.module
module
Definition:
descriptor_database_test_wrapper.py:30
RepeatedField_GetUpbArray
const upb_array * RepeatedField_GetUpbArray(VALUE value, const upb_fielddef *f, upb_arena *arena)
Definition:
protobuf/ruby/ext/google/protobuf_c/repeated_field.c:151
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:03