31 #ifndef GOOGLE_PROTOBUF_REFLECTION_INTERNAL_H__ 32 #define GOOGLE_PROTOBUF_REFLECTION_INTERNAL_H__ 49 return PositionToIterator(0);
52 return PositionToIterator(this->
Size(data));
56 return const_cast<Iterator*
>(iterator);
60 return PositionToIterator(IteratorToPosition(iterator) + 1);
71 Value* scratch_space)
const {
72 return Get(data, static_cast<int>(IteratorToPosition(iterator)),
78 return reinterpret_cast<intptr_t>(iterator);
93 return GetRepeatedField(data)->empty();
96 return GetRepeatedField(data)->size();
99 Value* scratch_space)
const {
100 return ConvertFromT(GetRepeatedField(data)->
Get(index), scratch_space);
103 MutableRepeatedField(data)->Clear();
106 MutableRepeatedField(data)->Set(index, ConvertToT(value));
109 MutableRepeatedField(data)->Add(ConvertToT(value));
112 MutableRepeatedField(data)->RemoveLast();
115 MutableRepeatedField(data)->SwapElements(index1, index2);
121 return reinterpret_cast<const RepeatedFieldType*
>(
data);
124 return reinterpret_cast<RepeatedFieldType*
>(
data);
129 virtual T ConvertToT(
const Value*
value)
const = 0;
136 virtual const Value* ConvertFromT(
const T& value,
137 Value* scratch_space)
const = 0;
148 return GetRepeatedField(data)->empty();
151 return GetRepeatedField(data)->size();
154 Value* scratch_space)
const {
155 return ConvertFromT(GetRepeatedField(data)->
Get(index), scratch_space);
158 MutableRepeatedField(data)->Clear();
161 ConvertToT(value, MutableRepeatedField(data)->Mutable(index));
164 T* allocated = New(value);
165 ConvertToT(value, allocated);
166 MutableRepeatedField(data)->AddAllocated(allocated);
169 MutableRepeatedField(data)->RemoveLast();
172 MutableRepeatedField(data)->SwapElements(index1, index2);
178 return reinterpret_cast<const RepeatedFieldType*
>(
data);
181 return reinterpret_cast<RepeatedFieldType*
>(
data);
192 virtual void ConvertToT(
const Value* value,
T*
result)
const = 0;
199 virtual const Value* ConvertFromT(
const T& value,
200 Value* scratch_space)
const = 0;
210 return GetRepeatedField(data)->empty();
213 return GetRepeatedField(data)->size();
216 Value* scratch_space)
const {
217 return ConvertFromEntry(GetRepeatedField(data)->
Get(index), scratch_space);
220 MutableRepeatedField(data)->Clear();
223 ConvertToEntry(value, MutableRepeatedField(data)->Mutable(index));
226 Message* allocated = New(value);
227 ConvertToEntry(value, allocated);
228 MutableRepeatedField(data)->AddAllocated(allocated);
231 MutableRepeatedField(data)->RemoveLast();
234 MutableRepeatedField(data)->SwapElements(index1, index2);
239 Field* other_data)
const {
241 MutableRepeatedField(data)->Swap(MutableRepeatedField(other_data));
247 return reinterpret_cast<const RepeatedFieldType*
>(
251 return reinterpret_cast<RepeatedFieldType*
>(
260 result->
CopyFrom(*static_cast<const Message*>(value));
265 Value* scratch_space)
const {
283 Field* other_data)
const {
288 MutableRepeatedField(data)->Swap(MutableRepeatedField(other_data));
293 return *
static_cast<const T*
>(
value);
296 Value* scratch_space)
const {
297 return static_cast<const Value*
>(&
value);
314 Field* other_data)
const {
315 if (
this == other_mutator) {
316 MutableRepeatedField(data)->Swap(MutableRepeatedField(other_data));
319 tmp.
Swap(MutableRepeatedField(data));
320 int other_size = other_mutator->
Size(other_data);
321 for (
int i = 0;
i < other_size; ++
i) {
322 Add<string>(
data, other_mutator->
Get<
string>(other_data,
i));
325 other_mutator->
Clear(other_data);
326 for (
int i = 0;
i <
size; ++
i) {
327 other_mutator->
Add<
string>(other_data, tmp.
Get(
i));
333 virtual string*
New(
const Value*)
const {
337 *result = *
static_cast<const string*
>(
value);
340 Value* scratch_space)
const {
341 return static_cast<const Value*
>(&
value);
357 Field* other_data)
const {
359 MutableRepeatedField(data)->Swap(MutableRepeatedField(other_data));
367 result->
CopyFrom(*static_cast<const Message*>(value));
370 Value* scratch_space)
const {
371 return static_cast<const Value*
>(&
value);
378 #endif // GOOGLE_PROTOBUF_REFLECTION_INTERNAL_H__ virtual void Swap(Field *data, const internal::RepeatedFieldAccessor *other_mutator, Field *other_data) const
Definition: reflection_internal.h:354
virtual void Swap(Field *data, const internal::RepeatedFieldAccessor *other_mutator, Field *other_data) const
Definition: reflection_internal.h:280
#define size
Definition: float-mm.c:27
Definition: message.h:179
EGLStreamKHR EGLint EGLint EGLint size
Definition: eglext.h:984
Definition: reflection_internal.h:205
virtual ~RandomAccessRepeatedFieldAccessor()
Definition: reflection_internal.h:46
Definition: reflection_internal.h:88
virtual ~RepeatedPtrFieldWrapper()
Definition: reflection_internal.h:146
Definition: map_field.h:60
static const RepeatedFieldType * GetRepeatedField(const Field *data)
Definition: reflection_internal.h:246
virtual void Add(Field *data, const Value *value) const
Definition: reflection_internal.h:108
virtual int Size(const Field *data) const =0
virtual const Value * ConvertFromT(const string &value, Value *scratch_space) const
Definition: reflection_internal.h:339
virtual Iterator * CopyIterator(const Field *data, const Iterator *iterator) const
Definition: reflection_internal.h:54
virtual bool IsEmpty(const Field *data) const
Definition: reflection_internal.h:209
static const RepeatedFieldType * GetRepeatedField(const Field *data)
Definition: reflection_internal.h:120
Definition: reflection_internal.h:44
virtual Message * New(const Value *value) const
Definition: reflection_internal.h:363
virtual void DeleteIterator(const Field *data, Iterator *iterator) const
Definition: reflection_internal.h:67
virtual void Set(Field *data, int index, const Value *value) const
Definition: reflection_internal.h:105
virtual void Clear(Field *data) const
Definition: reflection_internal.h:157
virtual const Value * ConvertFromT(const T &value, Value *scratch_space) const
Definition: reflection_internal.h:295
virtual ~RepeatedPtrFieldMessageAccessor()
Definition: reflection_internal.h:353
virtual void Clear(Field *data) const =0
virtual bool IsEmpty(const Field *data) const
Definition: reflection_internal.h:92
RepeatedPtrFieldWrapper()
Definition: reflection_internal.h:145
RepeatedField< T > RepeatedFieldType
Definition: reflection_internal.h:119
virtual void Swap(Field *data, const internal::RepeatedFieldAccessor *other_mutator, Field *other_data) const
Definition: reflection_internal.h:311
static RepeatedFieldType * MutableRepeatedField(Field *data)
Definition: reflection_internal.h:250
virtual const Value * Get(const Field *data, int index, Value *scratch_space) const
Definition: reflection_internal.h:98
#define position
Definition: xmlparse.c:616
void Iterator
Definition: reflection.h:338
virtual Message * New(const Value *value) const
Definition: reflection_internal.h:254
virtual ~RepeatedPtrFieldStringAccessor()
Definition: reflection_internal.h:310
virtual bool IsEmpty(const Field *data) const
Definition: reflection_internal.h:147
RepeatedPtrField< T > RepeatedFieldType
Definition: reflection_internal.h:176
virtual void SwapElements(Field *data, int index1, int index2) const
Definition: reflection_internal.h:233
static RepeatedFieldType * MutableRepeatedField(Field *data)
Definition: reflection_internal.h:123
RepeatedFieldPrimitiveAccessor()
Definition: reflection_internal.h:278
const FieldDescriptor const OneofDescriptor value
Definition: descriptor.h:1717
Definition: reflection_internal.h:346
Definition: reflection_internal.h:272
RepeatedPtrField< Message > RepeatedFieldType
Definition: reflection_internal.h:245
TestSubObjConstructor T
Definition: TestTypedefs.idl:84
void Field
Definition: reflection.h:336
virtual Iterator * AdvanceIterator(const Field *data, Iterator *iterator) const
Definition: reflection_internal.h:58
RepeatedFieldWrapper()
Definition: reflection_internal.h:90
virtual void RemoveLast(Field *data) const
Definition: reflection_internal.h:111
GLuint index
Definition: gl2.h:383
virtual Iterator * EndIterator(const Field *data) const
Definition: reflection_internal.h:51
EGLAttrib * value
Definition: eglext.h:120
virtual void Clear(Field *data) const
Definition: reflection_internal.h:219
MapFieldAccessor()
Definition: reflection_internal.h:207
virtual void Swap(Field *data, const internal::RepeatedFieldAccessor *other_mutator, Field *other_data) const
Definition: reflection_internal.h:236
virtual const Value * GetIteratorValue(const Field *data, const Iterator *iterator, Value *scratch_space) const
Definition: reflection_internal.h:69
virtual void ConvertToT(const Value *value, Message *result) const
Definition: reflection_internal.h:366
virtual ~RepeatedFieldPrimitiveAccessor()
Definition: reflection_internal.h:279
Definition: __init__.py:1
virtual const Value * Get(const Field *data, int index, Value *scratch_space) const
Definition: reflection_internal.h:215
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
virtual T ConvertToT(const Value *value) const
Definition: reflection_internal.h:292
static const RepeatedFieldType * GetRepeatedField(const Field *data)
Definition: reflection_internal.h:177
void Swap(RepeatedPtrField *other)
Definition: repeated_field.h:1976
virtual int Size(const Field *data) const
Definition: reflection_internal.h:95
virtual const Value * ConvertFromT(const Message &value, Value *scratch_space) const
Definition: reflection_internal.h:369
virtual const Value * Get(const Field *data, int index, Value *scratch_space) const =0
void Value
Definition: reflection.h:337
EGLStreamKHR EGLint EGLint EGLint const void * data
Definition: eglext.h:984
GLsizei const GLchar *const * string
Definition: gl2.h:479
static RepeatedFieldType * MutableRepeatedField(Field *data)
Definition: reflection_internal.h:180
virtual void Set(Field *data, int index, const Value *value) const
Definition: reflection_internal.h:160
Definition: document.h:393
result
Definition: target-blank-opener-post-window.php:5
virtual bool EqualsIterator(const Field *data, const Iterator *a, const Iterator *b) const
Definition: reflection_internal.h:62
const Element & Get(int index) const
Definition: repeated_field.h:1828
virtual ~MapFieldAccessor()
Definition: reflection_internal.h:208
Definition: reflection_internal.h:143
Definition: reflection.h:333
RepeatedPtrFieldStringAccessor()
Definition: reflection_internal.h:309
for i
Definition: complexityMeasures.m:24
virtual void Set(Field *data, int index, const Value *value) const
Definition: reflection_internal.h:222
#define GOOGLE_CHECK(EXPRESSION)
Definition: logging.h:151
virtual void ConvertToEntry(const Value *value, Message *result) const
Definition: reflection_internal.h:259
Definition: reflection_internal.h:303
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
virtual int Size(const Field *data) const
Definition: reflection_internal.h:212
virtual const Value * Get(const Field *data, int index, Value *scratch_space) const
Definition: reflection_internal.h:153
Definition: gflags_completions.h:115
virtual void RemoveLast(Field *data) const
Definition: reflection_internal.h:168
virtual void Clear(Field *data) const
Definition: reflection_internal.h:102
virtual const Value * ConvertFromEntry(const Message &value, Value *scratch_space) const
Definition: reflection_internal.h:264
virtual ~RepeatedFieldWrapper()
Definition: reflection_internal.h:91
virtual int Size(const Field *data) const
Definition: reflection_internal.h:150
virtual void SwapElements(Field *data, int index1, int index2) const
Definition: reflection_internal.h:114
virtual void ConvertToT(const Value *value, string *result) const
Definition: reflection_internal.h:336
virtual void CopyFrom(const Message &from)
Definition: message.cc:80
virtual void Add(Field *data, const Value *value) const
Definition: reflection_internal.h:163
_W64 signed int intptr_t
Definition: stdint.h:160
virtual void Add(Field *data, const Value *value) const
Definition: reflection_internal.h:225
virtual void RemoveLast(Field *data) const
Definition: reflection_internal.h:230
virtual string * New(const Value *) const
Definition: reflection_internal.h:333
virtual void SwapElements(Field *data, int index1, int index2) const
Definition: reflection_internal.h:171
virtual void Add(Field *data, const Value *value) const =0
RepeatedPtrFieldMessageAccessor()
Definition: reflection_internal.h:352
virtual Iterator * BeginIterator(const Field *data) const
Definition: reflection_internal.h:48