tensorflow/protos/
meta_graph.rs

1// This file is generated by rust-protobuf 2.27.1. Do not edit
2// @generated
3
4// https://github.com/rust-lang/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `tensorflow/core/protobuf/meta_graph.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_27_1;
25
26#[derive(PartialEq,Clone,Default)]
27pub struct MetaGraphDef {
28    // message fields
29    pub meta_info_def: ::protobuf::SingularPtrField<MetaGraphDef_MetaInfoDef>,
30    pub graph_def: ::protobuf::SingularPtrField<super::graph::GraphDef>,
31    pub saver_def: ::protobuf::SingularPtrField<super::saver::SaverDef>,
32    pub collection_def: ::std::collections::HashMap<::std::string::String, CollectionDef>,
33    pub signature_def: ::std::collections::HashMap<::std::string::String, SignatureDef>,
34    pub asset_file_def: ::protobuf::RepeatedField<AssetFileDef>,
35    pub object_graph_def: ::protobuf::SingularPtrField<super::saved_object_graph::SavedObjectGraph>,
36    // special fields
37    pub unknown_fields: ::protobuf::UnknownFields,
38    pub cached_size: ::protobuf::CachedSize,
39}
40
41impl<'a> ::std::default::Default for &'a MetaGraphDef {
42    fn default() -> &'a MetaGraphDef {
43        <MetaGraphDef as ::protobuf::Message>::default_instance()
44    }
45}
46
47impl MetaGraphDef {
48    pub fn new() -> MetaGraphDef {
49        ::std::default::Default::default()
50    }
51
52    // .tensorflow.MetaGraphDef.MetaInfoDef meta_info_def = 1;
53
54
55    pub fn get_meta_info_def(&self) -> &MetaGraphDef_MetaInfoDef {
56        self.meta_info_def.as_ref().unwrap_or_else(|| <MetaGraphDef_MetaInfoDef as ::protobuf::Message>::default_instance())
57    }
58    pub fn clear_meta_info_def(&mut self) {
59        self.meta_info_def.clear();
60    }
61
62    pub fn has_meta_info_def(&self) -> bool {
63        self.meta_info_def.is_some()
64    }
65
66    // Param is passed by value, moved
67    pub fn set_meta_info_def(&mut self, v: MetaGraphDef_MetaInfoDef) {
68        self.meta_info_def = ::protobuf::SingularPtrField::some(v);
69    }
70
71    // Mutable pointer to the field.
72    // If field is not initialized, it is initialized with default value first.
73    pub fn mut_meta_info_def(&mut self) -> &mut MetaGraphDef_MetaInfoDef {
74        if self.meta_info_def.is_none() {
75            self.meta_info_def.set_default();
76        }
77        self.meta_info_def.as_mut().unwrap()
78    }
79
80    // Take field
81    pub fn take_meta_info_def(&mut self) -> MetaGraphDef_MetaInfoDef {
82        self.meta_info_def.take().unwrap_or_else(|| MetaGraphDef_MetaInfoDef::new())
83    }
84
85    // .tensorflow.GraphDef graph_def = 2;
86
87
88    pub fn get_graph_def(&self) -> &super::graph::GraphDef {
89        self.graph_def.as_ref().unwrap_or_else(|| <super::graph::GraphDef as ::protobuf::Message>::default_instance())
90    }
91    pub fn clear_graph_def(&mut self) {
92        self.graph_def.clear();
93    }
94
95    pub fn has_graph_def(&self) -> bool {
96        self.graph_def.is_some()
97    }
98
99    // Param is passed by value, moved
100    pub fn set_graph_def(&mut self, v: super::graph::GraphDef) {
101        self.graph_def = ::protobuf::SingularPtrField::some(v);
102    }
103
104    // Mutable pointer to the field.
105    // If field is not initialized, it is initialized with default value first.
106    pub fn mut_graph_def(&mut self) -> &mut super::graph::GraphDef {
107        if self.graph_def.is_none() {
108            self.graph_def.set_default();
109        }
110        self.graph_def.as_mut().unwrap()
111    }
112
113    // Take field
114    pub fn take_graph_def(&mut self) -> super::graph::GraphDef {
115        self.graph_def.take().unwrap_or_else(|| super::graph::GraphDef::new())
116    }
117
118    // .tensorflow.SaverDef saver_def = 3;
119
120
121    pub fn get_saver_def(&self) -> &super::saver::SaverDef {
122        self.saver_def.as_ref().unwrap_or_else(|| <super::saver::SaverDef as ::protobuf::Message>::default_instance())
123    }
124    pub fn clear_saver_def(&mut self) {
125        self.saver_def.clear();
126    }
127
128    pub fn has_saver_def(&self) -> bool {
129        self.saver_def.is_some()
130    }
131
132    // Param is passed by value, moved
133    pub fn set_saver_def(&mut self, v: super::saver::SaverDef) {
134        self.saver_def = ::protobuf::SingularPtrField::some(v);
135    }
136
137    // Mutable pointer to the field.
138    // If field is not initialized, it is initialized with default value first.
139    pub fn mut_saver_def(&mut self) -> &mut super::saver::SaverDef {
140        if self.saver_def.is_none() {
141            self.saver_def.set_default();
142        }
143        self.saver_def.as_mut().unwrap()
144    }
145
146    // Take field
147    pub fn take_saver_def(&mut self) -> super::saver::SaverDef {
148        self.saver_def.take().unwrap_or_else(|| super::saver::SaverDef::new())
149    }
150
151    // repeated .tensorflow.MetaGraphDef.CollectionDefEntry collection_def = 4;
152
153
154    pub fn get_collection_def(&self) -> &::std::collections::HashMap<::std::string::String, CollectionDef> {
155        &self.collection_def
156    }
157    pub fn clear_collection_def(&mut self) {
158        self.collection_def.clear();
159    }
160
161    // Param is passed by value, moved
162    pub fn set_collection_def(&mut self, v: ::std::collections::HashMap<::std::string::String, CollectionDef>) {
163        self.collection_def = v;
164    }
165
166    // Mutable pointer to the field.
167    pub fn mut_collection_def(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, CollectionDef> {
168        &mut self.collection_def
169    }
170
171    // Take field
172    pub fn take_collection_def(&mut self) -> ::std::collections::HashMap<::std::string::String, CollectionDef> {
173        ::std::mem::replace(&mut self.collection_def, ::std::collections::HashMap::new())
174    }
175
176    // repeated .tensorflow.MetaGraphDef.SignatureDefEntry signature_def = 5;
177
178
179    pub fn get_signature_def(&self) -> &::std::collections::HashMap<::std::string::String, SignatureDef> {
180        &self.signature_def
181    }
182    pub fn clear_signature_def(&mut self) {
183        self.signature_def.clear();
184    }
185
186    // Param is passed by value, moved
187    pub fn set_signature_def(&mut self, v: ::std::collections::HashMap<::std::string::String, SignatureDef>) {
188        self.signature_def = v;
189    }
190
191    // Mutable pointer to the field.
192    pub fn mut_signature_def(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, SignatureDef> {
193        &mut self.signature_def
194    }
195
196    // Take field
197    pub fn take_signature_def(&mut self) -> ::std::collections::HashMap<::std::string::String, SignatureDef> {
198        ::std::mem::replace(&mut self.signature_def, ::std::collections::HashMap::new())
199    }
200
201    // repeated .tensorflow.AssetFileDef asset_file_def = 6;
202
203
204    pub fn get_asset_file_def(&self) -> &[AssetFileDef] {
205        &self.asset_file_def
206    }
207    pub fn clear_asset_file_def(&mut self) {
208        self.asset_file_def.clear();
209    }
210
211    // Param is passed by value, moved
212    pub fn set_asset_file_def(&mut self, v: ::protobuf::RepeatedField<AssetFileDef>) {
213        self.asset_file_def = v;
214    }
215
216    // Mutable pointer to the field.
217    pub fn mut_asset_file_def(&mut self) -> &mut ::protobuf::RepeatedField<AssetFileDef> {
218        &mut self.asset_file_def
219    }
220
221    // Take field
222    pub fn take_asset_file_def(&mut self) -> ::protobuf::RepeatedField<AssetFileDef> {
223        ::std::mem::replace(&mut self.asset_file_def, ::protobuf::RepeatedField::new())
224    }
225
226    // .tensorflow.SavedObjectGraph object_graph_def = 7;
227
228
229    pub fn get_object_graph_def(&self) -> &super::saved_object_graph::SavedObjectGraph {
230        self.object_graph_def.as_ref().unwrap_or_else(|| <super::saved_object_graph::SavedObjectGraph as ::protobuf::Message>::default_instance())
231    }
232    pub fn clear_object_graph_def(&mut self) {
233        self.object_graph_def.clear();
234    }
235
236    pub fn has_object_graph_def(&self) -> bool {
237        self.object_graph_def.is_some()
238    }
239
240    // Param is passed by value, moved
241    pub fn set_object_graph_def(&mut self, v: super::saved_object_graph::SavedObjectGraph) {
242        self.object_graph_def = ::protobuf::SingularPtrField::some(v);
243    }
244
245    // Mutable pointer to the field.
246    // If field is not initialized, it is initialized with default value first.
247    pub fn mut_object_graph_def(&mut self) -> &mut super::saved_object_graph::SavedObjectGraph {
248        if self.object_graph_def.is_none() {
249            self.object_graph_def.set_default();
250        }
251        self.object_graph_def.as_mut().unwrap()
252    }
253
254    // Take field
255    pub fn take_object_graph_def(&mut self) -> super::saved_object_graph::SavedObjectGraph {
256        self.object_graph_def.take().unwrap_or_else(|| super::saved_object_graph::SavedObjectGraph::new())
257    }
258}
259
260impl ::protobuf::Message for MetaGraphDef {
261    fn is_initialized(&self) -> bool {
262        for v in &self.meta_info_def {
263            if !v.is_initialized() {
264                return false;
265            }
266        };
267        for v in &self.graph_def {
268            if !v.is_initialized() {
269                return false;
270            }
271        };
272        for v in &self.saver_def {
273            if !v.is_initialized() {
274                return false;
275            }
276        };
277        for v in &self.asset_file_def {
278            if !v.is_initialized() {
279                return false;
280            }
281        };
282        for v in &self.object_graph_def {
283            if !v.is_initialized() {
284                return false;
285            }
286        };
287        true
288    }
289
290    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
291        while !is.eof()? {
292            let (field_number, wire_type) = is.read_tag_unpack()?;
293            match field_number {
294                1 => {
295                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.meta_info_def)?;
296                },
297                2 => {
298                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.graph_def)?;
299                },
300                3 => {
301                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.saver_def)?;
302                },
303                4 => {
304                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<CollectionDef>>(wire_type, is, &mut self.collection_def)?;
305                },
306                5 => {
307                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<SignatureDef>>(wire_type, is, &mut self.signature_def)?;
308                },
309                6 => {
310                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.asset_file_def)?;
311                },
312                7 => {
313                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.object_graph_def)?;
314                },
315                _ => {
316                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
317                },
318            };
319        }
320        ::std::result::Result::Ok(())
321    }
322
323    // Compute sizes of nested messages
324    #[allow(unused_variables)]
325    fn compute_size(&self) -> u32 {
326        let mut my_size = 0;
327        if let Some(ref v) = self.meta_info_def.as_ref() {
328            let len = v.compute_size();
329            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
330        }
331        if let Some(ref v) = self.graph_def.as_ref() {
332            let len = v.compute_size();
333            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
334        }
335        if let Some(ref v) = self.saver_def.as_ref() {
336            let len = v.compute_size();
337            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
338        }
339        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<CollectionDef>>(4, &self.collection_def);
340        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<SignatureDef>>(5, &self.signature_def);
341        for value in &self.asset_file_def {
342            let len = value.compute_size();
343            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
344        };
345        if let Some(ref v) = self.object_graph_def.as_ref() {
346            let len = v.compute_size();
347            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
348        }
349        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
350        self.cached_size.set(my_size);
351        my_size
352    }
353
354    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
355        if let Some(ref v) = self.meta_info_def.as_ref() {
356            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
357            os.write_raw_varint32(v.get_cached_size())?;
358            v.write_to_with_cached_sizes(os)?;
359        }
360        if let Some(ref v) = self.graph_def.as_ref() {
361            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
362            os.write_raw_varint32(v.get_cached_size())?;
363            v.write_to_with_cached_sizes(os)?;
364        }
365        if let Some(ref v) = self.saver_def.as_ref() {
366            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
367            os.write_raw_varint32(v.get_cached_size())?;
368            v.write_to_with_cached_sizes(os)?;
369        }
370        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<CollectionDef>>(4, &self.collection_def, os)?;
371        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<SignatureDef>>(5, &self.signature_def, os)?;
372        for v in &self.asset_file_def {
373            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
374            os.write_raw_varint32(v.get_cached_size())?;
375            v.write_to_with_cached_sizes(os)?;
376        };
377        if let Some(ref v) = self.object_graph_def.as_ref() {
378            os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
379            os.write_raw_varint32(v.get_cached_size())?;
380            v.write_to_with_cached_sizes(os)?;
381        }
382        os.write_unknown_fields(self.get_unknown_fields())?;
383        ::std::result::Result::Ok(())
384    }
385
386    fn get_cached_size(&self) -> u32 {
387        self.cached_size.get()
388    }
389
390    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
391        &self.unknown_fields
392    }
393
394    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
395        &mut self.unknown_fields
396    }
397
398    fn as_any(&self) -> &dyn (::std::any::Any) {
399        self as &dyn (::std::any::Any)
400    }
401    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
402        self as &mut dyn (::std::any::Any)
403    }
404    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
405        self
406    }
407
408    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
409        Self::descriptor_static()
410    }
411
412    fn new() -> MetaGraphDef {
413        MetaGraphDef::new()
414    }
415
416    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
417        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
418        descriptor.get(|| {
419            let mut fields = ::std::vec::Vec::new();
420            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MetaGraphDef_MetaInfoDef>>(
421                "meta_info_def",
422                |m: &MetaGraphDef| { &m.meta_info_def },
423                |m: &mut MetaGraphDef| { &mut m.meta_info_def },
424            ));
425            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::graph::GraphDef>>(
426                "graph_def",
427                |m: &MetaGraphDef| { &m.graph_def },
428                |m: &mut MetaGraphDef| { &mut m.graph_def },
429            ));
430            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::saver::SaverDef>>(
431                "saver_def",
432                |m: &MetaGraphDef| { &m.saver_def },
433                |m: &mut MetaGraphDef| { &mut m.saver_def },
434            ));
435            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<CollectionDef>>(
436                "collection_def",
437                |m: &MetaGraphDef| { &m.collection_def },
438                |m: &mut MetaGraphDef| { &mut m.collection_def },
439            ));
440            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<SignatureDef>>(
441                "signature_def",
442                |m: &MetaGraphDef| { &m.signature_def },
443                |m: &mut MetaGraphDef| { &mut m.signature_def },
444            ));
445            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AssetFileDef>>(
446                "asset_file_def",
447                |m: &MetaGraphDef| { &m.asset_file_def },
448                |m: &mut MetaGraphDef| { &mut m.asset_file_def },
449            ));
450            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::saved_object_graph::SavedObjectGraph>>(
451                "object_graph_def",
452                |m: &MetaGraphDef| { &m.object_graph_def },
453                |m: &mut MetaGraphDef| { &mut m.object_graph_def },
454            ));
455            ::protobuf::reflect::MessageDescriptor::new_pb_name::<MetaGraphDef>(
456                "MetaGraphDef",
457                fields,
458                file_descriptor_proto()
459            )
460        })
461    }
462
463    fn default_instance() -> &'static MetaGraphDef {
464        static instance: ::protobuf::rt::LazyV2<MetaGraphDef> = ::protobuf::rt::LazyV2::INIT;
465        instance.get(MetaGraphDef::new)
466    }
467}
468
469impl ::protobuf::Clear for MetaGraphDef {
470    fn clear(&mut self) {
471        self.meta_info_def.clear();
472        self.graph_def.clear();
473        self.saver_def.clear();
474        self.collection_def.clear();
475        self.signature_def.clear();
476        self.asset_file_def.clear();
477        self.object_graph_def.clear();
478        self.unknown_fields.clear();
479    }
480}
481
482impl ::std::fmt::Debug for MetaGraphDef {
483    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
484        ::protobuf::text_format::fmt(self, f)
485    }
486}
487
488impl ::protobuf::reflect::ProtobufValue for MetaGraphDef {
489    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
490        ::protobuf::reflect::ReflectValueRef::Message(self)
491    }
492}
493
494#[derive(PartialEq,Clone,Default)]
495pub struct MetaGraphDef_MetaInfoDef {
496    // message fields
497    pub meta_graph_version: ::std::string::String,
498    pub stripped_op_list: ::protobuf::SingularPtrField<super::op_def::OpList>,
499    pub any_info: ::protobuf::SingularPtrField<::protobuf::well_known_types::Any>,
500    pub tags: ::protobuf::RepeatedField<::std::string::String>,
501    pub tensorflow_version: ::std::string::String,
502    pub tensorflow_git_version: ::std::string::String,
503    pub stripped_default_attrs: bool,
504    pub function_aliases: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
505    // special fields
506    pub unknown_fields: ::protobuf::UnknownFields,
507    pub cached_size: ::protobuf::CachedSize,
508}
509
510impl<'a> ::std::default::Default for &'a MetaGraphDef_MetaInfoDef {
511    fn default() -> &'a MetaGraphDef_MetaInfoDef {
512        <MetaGraphDef_MetaInfoDef as ::protobuf::Message>::default_instance()
513    }
514}
515
516impl MetaGraphDef_MetaInfoDef {
517    pub fn new() -> MetaGraphDef_MetaInfoDef {
518        ::std::default::Default::default()
519    }
520
521    // string meta_graph_version = 1;
522
523
524    pub fn get_meta_graph_version(&self) -> &str {
525        &self.meta_graph_version
526    }
527    pub fn clear_meta_graph_version(&mut self) {
528        self.meta_graph_version.clear();
529    }
530
531    // Param is passed by value, moved
532    pub fn set_meta_graph_version(&mut self, v: ::std::string::String) {
533        self.meta_graph_version = v;
534    }
535
536    // Mutable pointer to the field.
537    // If field is not initialized, it is initialized with default value first.
538    pub fn mut_meta_graph_version(&mut self) -> &mut ::std::string::String {
539        &mut self.meta_graph_version
540    }
541
542    // Take field
543    pub fn take_meta_graph_version(&mut self) -> ::std::string::String {
544        ::std::mem::replace(&mut self.meta_graph_version, ::std::string::String::new())
545    }
546
547    // .tensorflow.OpList stripped_op_list = 2;
548
549
550    pub fn get_stripped_op_list(&self) -> &super::op_def::OpList {
551        self.stripped_op_list.as_ref().unwrap_or_else(|| <super::op_def::OpList as ::protobuf::Message>::default_instance())
552    }
553    pub fn clear_stripped_op_list(&mut self) {
554        self.stripped_op_list.clear();
555    }
556
557    pub fn has_stripped_op_list(&self) -> bool {
558        self.stripped_op_list.is_some()
559    }
560
561    // Param is passed by value, moved
562    pub fn set_stripped_op_list(&mut self, v: super::op_def::OpList) {
563        self.stripped_op_list = ::protobuf::SingularPtrField::some(v);
564    }
565
566    // Mutable pointer to the field.
567    // If field is not initialized, it is initialized with default value first.
568    pub fn mut_stripped_op_list(&mut self) -> &mut super::op_def::OpList {
569        if self.stripped_op_list.is_none() {
570            self.stripped_op_list.set_default();
571        }
572        self.stripped_op_list.as_mut().unwrap()
573    }
574
575    // Take field
576    pub fn take_stripped_op_list(&mut self) -> super::op_def::OpList {
577        self.stripped_op_list.take().unwrap_or_else(|| super::op_def::OpList::new())
578    }
579
580    // .google.protobuf.Any any_info = 3;
581
582
583    pub fn get_any_info(&self) -> &::protobuf::well_known_types::Any {
584        self.any_info.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Any as ::protobuf::Message>::default_instance())
585    }
586    pub fn clear_any_info(&mut self) {
587        self.any_info.clear();
588    }
589
590    pub fn has_any_info(&self) -> bool {
591        self.any_info.is_some()
592    }
593
594    // Param is passed by value, moved
595    pub fn set_any_info(&mut self, v: ::protobuf::well_known_types::Any) {
596        self.any_info = ::protobuf::SingularPtrField::some(v);
597    }
598
599    // Mutable pointer to the field.
600    // If field is not initialized, it is initialized with default value first.
601    pub fn mut_any_info(&mut self) -> &mut ::protobuf::well_known_types::Any {
602        if self.any_info.is_none() {
603            self.any_info.set_default();
604        }
605        self.any_info.as_mut().unwrap()
606    }
607
608    // Take field
609    pub fn take_any_info(&mut self) -> ::protobuf::well_known_types::Any {
610        self.any_info.take().unwrap_or_else(|| ::protobuf::well_known_types::Any::new())
611    }
612
613    // repeated string tags = 4;
614
615
616    pub fn get_tags(&self) -> &[::std::string::String] {
617        &self.tags
618    }
619    pub fn clear_tags(&mut self) {
620        self.tags.clear();
621    }
622
623    // Param is passed by value, moved
624    pub fn set_tags(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
625        self.tags = v;
626    }
627
628    // Mutable pointer to the field.
629    pub fn mut_tags(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
630        &mut self.tags
631    }
632
633    // Take field
634    pub fn take_tags(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
635        ::std::mem::replace(&mut self.tags, ::protobuf::RepeatedField::new())
636    }
637
638    // string tensorflow_version = 5;
639
640
641    pub fn get_tensorflow_version(&self) -> &str {
642        &self.tensorflow_version
643    }
644    pub fn clear_tensorflow_version(&mut self) {
645        self.tensorflow_version.clear();
646    }
647
648    // Param is passed by value, moved
649    pub fn set_tensorflow_version(&mut self, v: ::std::string::String) {
650        self.tensorflow_version = v;
651    }
652
653    // Mutable pointer to the field.
654    // If field is not initialized, it is initialized with default value first.
655    pub fn mut_tensorflow_version(&mut self) -> &mut ::std::string::String {
656        &mut self.tensorflow_version
657    }
658
659    // Take field
660    pub fn take_tensorflow_version(&mut self) -> ::std::string::String {
661        ::std::mem::replace(&mut self.tensorflow_version, ::std::string::String::new())
662    }
663
664    // string tensorflow_git_version = 6;
665
666
667    pub fn get_tensorflow_git_version(&self) -> &str {
668        &self.tensorflow_git_version
669    }
670    pub fn clear_tensorflow_git_version(&mut self) {
671        self.tensorflow_git_version.clear();
672    }
673
674    // Param is passed by value, moved
675    pub fn set_tensorflow_git_version(&mut self, v: ::std::string::String) {
676        self.tensorflow_git_version = v;
677    }
678
679    // Mutable pointer to the field.
680    // If field is not initialized, it is initialized with default value first.
681    pub fn mut_tensorflow_git_version(&mut self) -> &mut ::std::string::String {
682        &mut self.tensorflow_git_version
683    }
684
685    // Take field
686    pub fn take_tensorflow_git_version(&mut self) -> ::std::string::String {
687        ::std::mem::replace(&mut self.tensorflow_git_version, ::std::string::String::new())
688    }
689
690    // bool stripped_default_attrs = 7;
691
692
693    pub fn get_stripped_default_attrs(&self) -> bool {
694        self.stripped_default_attrs
695    }
696    pub fn clear_stripped_default_attrs(&mut self) {
697        self.stripped_default_attrs = false;
698    }
699
700    // Param is passed by value, moved
701    pub fn set_stripped_default_attrs(&mut self, v: bool) {
702        self.stripped_default_attrs = v;
703    }
704
705    // repeated .tensorflow.MetaGraphDef.MetaInfoDef.FunctionAliasesEntry function_aliases = 8;
706
707
708    pub fn get_function_aliases(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
709        &self.function_aliases
710    }
711    pub fn clear_function_aliases(&mut self) {
712        self.function_aliases.clear();
713    }
714
715    // Param is passed by value, moved
716    pub fn set_function_aliases(&mut self, v: ::std::collections::HashMap<::std::string::String, ::std::string::String>) {
717        self.function_aliases = v;
718    }
719
720    // Mutable pointer to the field.
721    pub fn mut_function_aliases(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> {
722        &mut self.function_aliases
723    }
724
725    // Take field
726    pub fn take_function_aliases(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> {
727        ::std::mem::replace(&mut self.function_aliases, ::std::collections::HashMap::new())
728    }
729}
730
731impl ::protobuf::Message for MetaGraphDef_MetaInfoDef {
732    fn is_initialized(&self) -> bool {
733        for v in &self.stripped_op_list {
734            if !v.is_initialized() {
735                return false;
736            }
737        };
738        for v in &self.any_info {
739            if !v.is_initialized() {
740                return false;
741            }
742        };
743        true
744    }
745
746    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
747        while !is.eof()? {
748            let (field_number, wire_type) = is.read_tag_unpack()?;
749            match field_number {
750                1 => {
751                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.meta_graph_version)?;
752                },
753                2 => {
754                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.stripped_op_list)?;
755                },
756                3 => {
757                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.any_info)?;
758                },
759                4 => {
760                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.tags)?;
761                },
762                5 => {
763                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.tensorflow_version)?;
764                },
765                6 => {
766                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.tensorflow_git_version)?;
767                },
768                7 => {
769                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
770                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
771                    }
772                    let tmp = is.read_bool()?;
773                    self.stripped_default_attrs = tmp;
774                },
775                8 => {
776                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.function_aliases)?;
777                },
778                _ => {
779                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
780                },
781            };
782        }
783        ::std::result::Result::Ok(())
784    }
785
786    // Compute sizes of nested messages
787    #[allow(unused_variables)]
788    fn compute_size(&self) -> u32 {
789        let mut my_size = 0;
790        if !self.meta_graph_version.is_empty() {
791            my_size += ::protobuf::rt::string_size(1, &self.meta_graph_version);
792        }
793        if let Some(ref v) = self.stripped_op_list.as_ref() {
794            let len = v.compute_size();
795            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
796        }
797        if let Some(ref v) = self.any_info.as_ref() {
798            let len = v.compute_size();
799            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
800        }
801        for value in &self.tags {
802            my_size += ::protobuf::rt::string_size(4, &value);
803        };
804        if !self.tensorflow_version.is_empty() {
805            my_size += ::protobuf::rt::string_size(5, &self.tensorflow_version);
806        }
807        if !self.tensorflow_git_version.is_empty() {
808            my_size += ::protobuf::rt::string_size(6, &self.tensorflow_git_version);
809        }
810        if self.stripped_default_attrs != false {
811            my_size += 2;
812        }
813        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(8, &self.function_aliases);
814        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
815        self.cached_size.set(my_size);
816        my_size
817    }
818
819    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
820        if !self.meta_graph_version.is_empty() {
821            os.write_string(1, &self.meta_graph_version)?;
822        }
823        if let Some(ref v) = self.stripped_op_list.as_ref() {
824            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
825            os.write_raw_varint32(v.get_cached_size())?;
826            v.write_to_with_cached_sizes(os)?;
827        }
828        if let Some(ref v) = self.any_info.as_ref() {
829            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
830            os.write_raw_varint32(v.get_cached_size())?;
831            v.write_to_with_cached_sizes(os)?;
832        }
833        for v in &self.tags {
834            os.write_string(4, &v)?;
835        };
836        if !self.tensorflow_version.is_empty() {
837            os.write_string(5, &self.tensorflow_version)?;
838        }
839        if !self.tensorflow_git_version.is_empty() {
840            os.write_string(6, &self.tensorflow_git_version)?;
841        }
842        if self.stripped_default_attrs != false {
843            os.write_bool(7, self.stripped_default_attrs)?;
844        }
845        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(8, &self.function_aliases, os)?;
846        os.write_unknown_fields(self.get_unknown_fields())?;
847        ::std::result::Result::Ok(())
848    }
849
850    fn get_cached_size(&self) -> u32 {
851        self.cached_size.get()
852    }
853
854    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
855        &self.unknown_fields
856    }
857
858    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
859        &mut self.unknown_fields
860    }
861
862    fn as_any(&self) -> &dyn (::std::any::Any) {
863        self as &dyn (::std::any::Any)
864    }
865    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
866        self as &mut dyn (::std::any::Any)
867    }
868    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
869        self
870    }
871
872    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
873        Self::descriptor_static()
874    }
875
876    fn new() -> MetaGraphDef_MetaInfoDef {
877        MetaGraphDef_MetaInfoDef::new()
878    }
879
880    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
881        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
882        descriptor.get(|| {
883            let mut fields = ::std::vec::Vec::new();
884            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
885                "meta_graph_version",
886                |m: &MetaGraphDef_MetaInfoDef| { &m.meta_graph_version },
887                |m: &mut MetaGraphDef_MetaInfoDef| { &mut m.meta_graph_version },
888            ));
889            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::op_def::OpList>>(
890                "stripped_op_list",
891                |m: &MetaGraphDef_MetaInfoDef| { &m.stripped_op_list },
892                |m: &mut MetaGraphDef_MetaInfoDef| { &mut m.stripped_op_list },
893            ));
894            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Any>>(
895                "any_info",
896                |m: &MetaGraphDef_MetaInfoDef| { &m.any_info },
897                |m: &mut MetaGraphDef_MetaInfoDef| { &mut m.any_info },
898            ));
899            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
900                "tags",
901                |m: &MetaGraphDef_MetaInfoDef| { &m.tags },
902                |m: &mut MetaGraphDef_MetaInfoDef| { &mut m.tags },
903            ));
904            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
905                "tensorflow_version",
906                |m: &MetaGraphDef_MetaInfoDef| { &m.tensorflow_version },
907                |m: &mut MetaGraphDef_MetaInfoDef| { &mut m.tensorflow_version },
908            ));
909            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
910                "tensorflow_git_version",
911                |m: &MetaGraphDef_MetaInfoDef| { &m.tensorflow_git_version },
912                |m: &mut MetaGraphDef_MetaInfoDef| { &mut m.tensorflow_git_version },
913            ));
914            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
915                "stripped_default_attrs",
916                |m: &MetaGraphDef_MetaInfoDef| { &m.stripped_default_attrs },
917                |m: &mut MetaGraphDef_MetaInfoDef| { &mut m.stripped_default_attrs },
918            ));
919            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(
920                "function_aliases",
921                |m: &MetaGraphDef_MetaInfoDef| { &m.function_aliases },
922                |m: &mut MetaGraphDef_MetaInfoDef| { &mut m.function_aliases },
923            ));
924            ::protobuf::reflect::MessageDescriptor::new_pb_name::<MetaGraphDef_MetaInfoDef>(
925                "MetaGraphDef.MetaInfoDef",
926                fields,
927                file_descriptor_proto()
928            )
929        })
930    }
931
932    fn default_instance() -> &'static MetaGraphDef_MetaInfoDef {
933        static instance: ::protobuf::rt::LazyV2<MetaGraphDef_MetaInfoDef> = ::protobuf::rt::LazyV2::INIT;
934        instance.get(MetaGraphDef_MetaInfoDef::new)
935    }
936}
937
938impl ::protobuf::Clear for MetaGraphDef_MetaInfoDef {
939    fn clear(&mut self) {
940        self.meta_graph_version.clear();
941        self.stripped_op_list.clear();
942        self.any_info.clear();
943        self.tags.clear();
944        self.tensorflow_version.clear();
945        self.tensorflow_git_version.clear();
946        self.stripped_default_attrs = false;
947        self.function_aliases.clear();
948        self.unknown_fields.clear();
949    }
950}
951
952impl ::std::fmt::Debug for MetaGraphDef_MetaInfoDef {
953    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
954        ::protobuf::text_format::fmt(self, f)
955    }
956}
957
958impl ::protobuf::reflect::ProtobufValue for MetaGraphDef_MetaInfoDef {
959    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
960        ::protobuf::reflect::ReflectValueRef::Message(self)
961    }
962}
963
964#[derive(PartialEq,Clone,Default)]
965pub struct CollectionDef {
966    // message oneof groups
967    pub kind: ::std::option::Option<CollectionDef_oneof_kind>,
968    // special fields
969    pub unknown_fields: ::protobuf::UnknownFields,
970    pub cached_size: ::protobuf::CachedSize,
971}
972
973impl<'a> ::std::default::Default for &'a CollectionDef {
974    fn default() -> &'a CollectionDef {
975        <CollectionDef as ::protobuf::Message>::default_instance()
976    }
977}
978
979#[derive(Clone,PartialEq,Debug)]
980pub enum CollectionDef_oneof_kind {
981    node_list(CollectionDef_NodeList),
982    bytes_list(CollectionDef_BytesList),
983    int64_list(CollectionDef_Int64List),
984    float_list(CollectionDef_FloatList),
985    any_list(CollectionDef_AnyList),
986}
987
988impl CollectionDef {
989    pub fn new() -> CollectionDef {
990        ::std::default::Default::default()
991    }
992
993    // .tensorflow.CollectionDef.NodeList node_list = 1;
994
995
996    pub fn get_node_list(&self) -> &CollectionDef_NodeList {
997        match self.kind {
998            ::std::option::Option::Some(CollectionDef_oneof_kind::node_list(ref v)) => v,
999            _ => <CollectionDef_NodeList as ::protobuf::Message>::default_instance(),
1000        }
1001    }
1002    pub fn clear_node_list(&mut self) {
1003        self.kind = ::std::option::Option::None;
1004    }
1005
1006    pub fn has_node_list(&self) -> bool {
1007        match self.kind {
1008            ::std::option::Option::Some(CollectionDef_oneof_kind::node_list(..)) => true,
1009            _ => false,
1010        }
1011    }
1012
1013    // Param is passed by value, moved
1014    pub fn set_node_list(&mut self, v: CollectionDef_NodeList) {
1015        self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::node_list(v))
1016    }
1017
1018    // Mutable pointer to the field.
1019    pub fn mut_node_list(&mut self) -> &mut CollectionDef_NodeList {
1020        if let ::std::option::Option::Some(CollectionDef_oneof_kind::node_list(_)) = self.kind {
1021        } else {
1022            self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::node_list(CollectionDef_NodeList::new()));
1023        }
1024        match self.kind {
1025            ::std::option::Option::Some(CollectionDef_oneof_kind::node_list(ref mut v)) => v,
1026            _ => panic!(),
1027        }
1028    }
1029
1030    // Take field
1031    pub fn take_node_list(&mut self) -> CollectionDef_NodeList {
1032        if self.has_node_list() {
1033            match self.kind.take() {
1034                ::std::option::Option::Some(CollectionDef_oneof_kind::node_list(v)) => v,
1035                _ => panic!(),
1036            }
1037        } else {
1038            CollectionDef_NodeList::new()
1039        }
1040    }
1041
1042    // .tensorflow.CollectionDef.BytesList bytes_list = 2;
1043
1044
1045    pub fn get_bytes_list(&self) -> &CollectionDef_BytesList {
1046        match self.kind {
1047            ::std::option::Option::Some(CollectionDef_oneof_kind::bytes_list(ref v)) => v,
1048            _ => <CollectionDef_BytesList as ::protobuf::Message>::default_instance(),
1049        }
1050    }
1051    pub fn clear_bytes_list(&mut self) {
1052        self.kind = ::std::option::Option::None;
1053    }
1054
1055    pub fn has_bytes_list(&self) -> bool {
1056        match self.kind {
1057            ::std::option::Option::Some(CollectionDef_oneof_kind::bytes_list(..)) => true,
1058            _ => false,
1059        }
1060    }
1061
1062    // Param is passed by value, moved
1063    pub fn set_bytes_list(&mut self, v: CollectionDef_BytesList) {
1064        self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::bytes_list(v))
1065    }
1066
1067    // Mutable pointer to the field.
1068    pub fn mut_bytes_list(&mut self) -> &mut CollectionDef_BytesList {
1069        if let ::std::option::Option::Some(CollectionDef_oneof_kind::bytes_list(_)) = self.kind {
1070        } else {
1071            self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::bytes_list(CollectionDef_BytesList::new()));
1072        }
1073        match self.kind {
1074            ::std::option::Option::Some(CollectionDef_oneof_kind::bytes_list(ref mut v)) => v,
1075            _ => panic!(),
1076        }
1077    }
1078
1079    // Take field
1080    pub fn take_bytes_list(&mut self) -> CollectionDef_BytesList {
1081        if self.has_bytes_list() {
1082            match self.kind.take() {
1083                ::std::option::Option::Some(CollectionDef_oneof_kind::bytes_list(v)) => v,
1084                _ => panic!(),
1085            }
1086        } else {
1087            CollectionDef_BytesList::new()
1088        }
1089    }
1090
1091    // .tensorflow.CollectionDef.Int64List int64_list = 3;
1092
1093
1094    pub fn get_int64_list(&self) -> &CollectionDef_Int64List {
1095        match self.kind {
1096            ::std::option::Option::Some(CollectionDef_oneof_kind::int64_list(ref v)) => v,
1097            _ => <CollectionDef_Int64List as ::protobuf::Message>::default_instance(),
1098        }
1099    }
1100    pub fn clear_int64_list(&mut self) {
1101        self.kind = ::std::option::Option::None;
1102    }
1103
1104    pub fn has_int64_list(&self) -> bool {
1105        match self.kind {
1106            ::std::option::Option::Some(CollectionDef_oneof_kind::int64_list(..)) => true,
1107            _ => false,
1108        }
1109    }
1110
1111    // Param is passed by value, moved
1112    pub fn set_int64_list(&mut self, v: CollectionDef_Int64List) {
1113        self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::int64_list(v))
1114    }
1115
1116    // Mutable pointer to the field.
1117    pub fn mut_int64_list(&mut self) -> &mut CollectionDef_Int64List {
1118        if let ::std::option::Option::Some(CollectionDef_oneof_kind::int64_list(_)) = self.kind {
1119        } else {
1120            self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::int64_list(CollectionDef_Int64List::new()));
1121        }
1122        match self.kind {
1123            ::std::option::Option::Some(CollectionDef_oneof_kind::int64_list(ref mut v)) => v,
1124            _ => panic!(),
1125        }
1126    }
1127
1128    // Take field
1129    pub fn take_int64_list(&mut self) -> CollectionDef_Int64List {
1130        if self.has_int64_list() {
1131            match self.kind.take() {
1132                ::std::option::Option::Some(CollectionDef_oneof_kind::int64_list(v)) => v,
1133                _ => panic!(),
1134            }
1135        } else {
1136            CollectionDef_Int64List::new()
1137        }
1138    }
1139
1140    // .tensorflow.CollectionDef.FloatList float_list = 4;
1141
1142
1143    pub fn get_float_list(&self) -> &CollectionDef_FloatList {
1144        match self.kind {
1145            ::std::option::Option::Some(CollectionDef_oneof_kind::float_list(ref v)) => v,
1146            _ => <CollectionDef_FloatList as ::protobuf::Message>::default_instance(),
1147        }
1148    }
1149    pub fn clear_float_list(&mut self) {
1150        self.kind = ::std::option::Option::None;
1151    }
1152
1153    pub fn has_float_list(&self) -> bool {
1154        match self.kind {
1155            ::std::option::Option::Some(CollectionDef_oneof_kind::float_list(..)) => true,
1156            _ => false,
1157        }
1158    }
1159
1160    // Param is passed by value, moved
1161    pub fn set_float_list(&mut self, v: CollectionDef_FloatList) {
1162        self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::float_list(v))
1163    }
1164
1165    // Mutable pointer to the field.
1166    pub fn mut_float_list(&mut self) -> &mut CollectionDef_FloatList {
1167        if let ::std::option::Option::Some(CollectionDef_oneof_kind::float_list(_)) = self.kind {
1168        } else {
1169            self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::float_list(CollectionDef_FloatList::new()));
1170        }
1171        match self.kind {
1172            ::std::option::Option::Some(CollectionDef_oneof_kind::float_list(ref mut v)) => v,
1173            _ => panic!(),
1174        }
1175    }
1176
1177    // Take field
1178    pub fn take_float_list(&mut self) -> CollectionDef_FloatList {
1179        if self.has_float_list() {
1180            match self.kind.take() {
1181                ::std::option::Option::Some(CollectionDef_oneof_kind::float_list(v)) => v,
1182                _ => panic!(),
1183            }
1184        } else {
1185            CollectionDef_FloatList::new()
1186        }
1187    }
1188
1189    // .tensorflow.CollectionDef.AnyList any_list = 5;
1190
1191
1192    pub fn get_any_list(&self) -> &CollectionDef_AnyList {
1193        match self.kind {
1194            ::std::option::Option::Some(CollectionDef_oneof_kind::any_list(ref v)) => v,
1195            _ => <CollectionDef_AnyList as ::protobuf::Message>::default_instance(),
1196        }
1197    }
1198    pub fn clear_any_list(&mut self) {
1199        self.kind = ::std::option::Option::None;
1200    }
1201
1202    pub fn has_any_list(&self) -> bool {
1203        match self.kind {
1204            ::std::option::Option::Some(CollectionDef_oneof_kind::any_list(..)) => true,
1205            _ => false,
1206        }
1207    }
1208
1209    // Param is passed by value, moved
1210    pub fn set_any_list(&mut self, v: CollectionDef_AnyList) {
1211        self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::any_list(v))
1212    }
1213
1214    // Mutable pointer to the field.
1215    pub fn mut_any_list(&mut self) -> &mut CollectionDef_AnyList {
1216        if let ::std::option::Option::Some(CollectionDef_oneof_kind::any_list(_)) = self.kind {
1217        } else {
1218            self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::any_list(CollectionDef_AnyList::new()));
1219        }
1220        match self.kind {
1221            ::std::option::Option::Some(CollectionDef_oneof_kind::any_list(ref mut v)) => v,
1222            _ => panic!(),
1223        }
1224    }
1225
1226    // Take field
1227    pub fn take_any_list(&mut self) -> CollectionDef_AnyList {
1228        if self.has_any_list() {
1229            match self.kind.take() {
1230                ::std::option::Option::Some(CollectionDef_oneof_kind::any_list(v)) => v,
1231                _ => panic!(),
1232            }
1233        } else {
1234            CollectionDef_AnyList::new()
1235        }
1236    }
1237}
1238
1239impl ::protobuf::Message for CollectionDef {
1240    fn is_initialized(&self) -> bool {
1241        if let Some(CollectionDef_oneof_kind::node_list(ref v)) = self.kind {
1242            if !v.is_initialized() {
1243                return false;
1244            }
1245        }
1246        if let Some(CollectionDef_oneof_kind::bytes_list(ref v)) = self.kind {
1247            if !v.is_initialized() {
1248                return false;
1249            }
1250        }
1251        if let Some(CollectionDef_oneof_kind::int64_list(ref v)) = self.kind {
1252            if !v.is_initialized() {
1253                return false;
1254            }
1255        }
1256        if let Some(CollectionDef_oneof_kind::float_list(ref v)) = self.kind {
1257            if !v.is_initialized() {
1258                return false;
1259            }
1260        }
1261        if let Some(CollectionDef_oneof_kind::any_list(ref v)) = self.kind {
1262            if !v.is_initialized() {
1263                return false;
1264            }
1265        }
1266        true
1267    }
1268
1269    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1270        while !is.eof()? {
1271            let (field_number, wire_type) = is.read_tag_unpack()?;
1272            match field_number {
1273                1 => {
1274                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1275                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1276                    }
1277                    self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::node_list(is.read_message()?));
1278                },
1279                2 => {
1280                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1281                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1282                    }
1283                    self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::bytes_list(is.read_message()?));
1284                },
1285                3 => {
1286                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1287                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1288                    }
1289                    self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::int64_list(is.read_message()?));
1290                },
1291                4 => {
1292                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1293                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1294                    }
1295                    self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::float_list(is.read_message()?));
1296                },
1297                5 => {
1298                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1299                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1300                    }
1301                    self.kind = ::std::option::Option::Some(CollectionDef_oneof_kind::any_list(is.read_message()?));
1302                },
1303                _ => {
1304                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1305                },
1306            };
1307        }
1308        ::std::result::Result::Ok(())
1309    }
1310
1311    // Compute sizes of nested messages
1312    #[allow(unused_variables)]
1313    fn compute_size(&self) -> u32 {
1314        let mut my_size = 0;
1315        if let ::std::option::Option::Some(ref v) = self.kind {
1316            match v {
1317                &CollectionDef_oneof_kind::node_list(ref v) => {
1318                    let len = v.compute_size();
1319                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1320                },
1321                &CollectionDef_oneof_kind::bytes_list(ref v) => {
1322                    let len = v.compute_size();
1323                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1324                },
1325                &CollectionDef_oneof_kind::int64_list(ref v) => {
1326                    let len = v.compute_size();
1327                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1328                },
1329                &CollectionDef_oneof_kind::float_list(ref v) => {
1330                    let len = v.compute_size();
1331                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1332                },
1333                &CollectionDef_oneof_kind::any_list(ref v) => {
1334                    let len = v.compute_size();
1335                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1336                },
1337            };
1338        }
1339        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1340        self.cached_size.set(my_size);
1341        my_size
1342    }
1343
1344    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1345        if let ::std::option::Option::Some(ref v) = self.kind {
1346            match v {
1347                &CollectionDef_oneof_kind::node_list(ref v) => {
1348                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1349                    os.write_raw_varint32(v.get_cached_size())?;
1350                    v.write_to_with_cached_sizes(os)?;
1351                },
1352                &CollectionDef_oneof_kind::bytes_list(ref v) => {
1353                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1354                    os.write_raw_varint32(v.get_cached_size())?;
1355                    v.write_to_with_cached_sizes(os)?;
1356                },
1357                &CollectionDef_oneof_kind::int64_list(ref v) => {
1358                    os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1359                    os.write_raw_varint32(v.get_cached_size())?;
1360                    v.write_to_with_cached_sizes(os)?;
1361                },
1362                &CollectionDef_oneof_kind::float_list(ref v) => {
1363                    os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1364                    os.write_raw_varint32(v.get_cached_size())?;
1365                    v.write_to_with_cached_sizes(os)?;
1366                },
1367                &CollectionDef_oneof_kind::any_list(ref v) => {
1368                    os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1369                    os.write_raw_varint32(v.get_cached_size())?;
1370                    v.write_to_with_cached_sizes(os)?;
1371                },
1372            };
1373        }
1374        os.write_unknown_fields(self.get_unknown_fields())?;
1375        ::std::result::Result::Ok(())
1376    }
1377
1378    fn get_cached_size(&self) -> u32 {
1379        self.cached_size.get()
1380    }
1381
1382    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1383        &self.unknown_fields
1384    }
1385
1386    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1387        &mut self.unknown_fields
1388    }
1389
1390    fn as_any(&self) -> &dyn (::std::any::Any) {
1391        self as &dyn (::std::any::Any)
1392    }
1393    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1394        self as &mut dyn (::std::any::Any)
1395    }
1396    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1397        self
1398    }
1399
1400    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1401        Self::descriptor_static()
1402    }
1403
1404    fn new() -> CollectionDef {
1405        CollectionDef::new()
1406    }
1407
1408    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1409        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1410        descriptor.get(|| {
1411            let mut fields = ::std::vec::Vec::new();
1412            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, CollectionDef_NodeList>(
1413                "node_list",
1414                CollectionDef::has_node_list,
1415                CollectionDef::get_node_list,
1416            ));
1417            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, CollectionDef_BytesList>(
1418                "bytes_list",
1419                CollectionDef::has_bytes_list,
1420                CollectionDef::get_bytes_list,
1421            ));
1422            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, CollectionDef_Int64List>(
1423                "int64_list",
1424                CollectionDef::has_int64_list,
1425                CollectionDef::get_int64_list,
1426            ));
1427            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, CollectionDef_FloatList>(
1428                "float_list",
1429                CollectionDef::has_float_list,
1430                CollectionDef::get_float_list,
1431            ));
1432            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, CollectionDef_AnyList>(
1433                "any_list",
1434                CollectionDef::has_any_list,
1435                CollectionDef::get_any_list,
1436            ));
1437            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CollectionDef>(
1438                "CollectionDef",
1439                fields,
1440                file_descriptor_proto()
1441            )
1442        })
1443    }
1444
1445    fn default_instance() -> &'static CollectionDef {
1446        static instance: ::protobuf::rt::LazyV2<CollectionDef> = ::protobuf::rt::LazyV2::INIT;
1447        instance.get(CollectionDef::new)
1448    }
1449}
1450
1451impl ::protobuf::Clear for CollectionDef {
1452    fn clear(&mut self) {
1453        self.kind = ::std::option::Option::None;
1454        self.kind = ::std::option::Option::None;
1455        self.kind = ::std::option::Option::None;
1456        self.kind = ::std::option::Option::None;
1457        self.kind = ::std::option::Option::None;
1458        self.unknown_fields.clear();
1459    }
1460}
1461
1462impl ::std::fmt::Debug for CollectionDef {
1463    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1464        ::protobuf::text_format::fmt(self, f)
1465    }
1466}
1467
1468impl ::protobuf::reflect::ProtobufValue for CollectionDef {
1469    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1470        ::protobuf::reflect::ReflectValueRef::Message(self)
1471    }
1472}
1473
1474#[derive(PartialEq,Clone,Default)]
1475pub struct CollectionDef_NodeList {
1476    // message fields
1477    pub value: ::protobuf::RepeatedField<::std::string::String>,
1478    // special fields
1479    pub unknown_fields: ::protobuf::UnknownFields,
1480    pub cached_size: ::protobuf::CachedSize,
1481}
1482
1483impl<'a> ::std::default::Default for &'a CollectionDef_NodeList {
1484    fn default() -> &'a CollectionDef_NodeList {
1485        <CollectionDef_NodeList as ::protobuf::Message>::default_instance()
1486    }
1487}
1488
1489impl CollectionDef_NodeList {
1490    pub fn new() -> CollectionDef_NodeList {
1491        ::std::default::Default::default()
1492    }
1493
1494    // repeated string value = 1;
1495
1496
1497    pub fn get_value(&self) -> &[::std::string::String] {
1498        &self.value
1499    }
1500    pub fn clear_value(&mut self) {
1501        self.value.clear();
1502    }
1503
1504    // Param is passed by value, moved
1505    pub fn set_value(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
1506        self.value = v;
1507    }
1508
1509    // Mutable pointer to the field.
1510    pub fn mut_value(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
1511        &mut self.value
1512    }
1513
1514    // Take field
1515    pub fn take_value(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
1516        ::std::mem::replace(&mut self.value, ::protobuf::RepeatedField::new())
1517    }
1518}
1519
1520impl ::protobuf::Message for CollectionDef_NodeList {
1521    fn is_initialized(&self) -> bool {
1522        true
1523    }
1524
1525    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1526        while !is.eof()? {
1527            let (field_number, wire_type) = is.read_tag_unpack()?;
1528            match field_number {
1529                1 => {
1530                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.value)?;
1531                },
1532                _ => {
1533                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1534                },
1535            };
1536        }
1537        ::std::result::Result::Ok(())
1538    }
1539
1540    // Compute sizes of nested messages
1541    #[allow(unused_variables)]
1542    fn compute_size(&self) -> u32 {
1543        let mut my_size = 0;
1544        for value in &self.value {
1545            my_size += ::protobuf::rt::string_size(1, &value);
1546        };
1547        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1548        self.cached_size.set(my_size);
1549        my_size
1550    }
1551
1552    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1553        for v in &self.value {
1554            os.write_string(1, &v)?;
1555        };
1556        os.write_unknown_fields(self.get_unknown_fields())?;
1557        ::std::result::Result::Ok(())
1558    }
1559
1560    fn get_cached_size(&self) -> u32 {
1561        self.cached_size.get()
1562    }
1563
1564    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1565        &self.unknown_fields
1566    }
1567
1568    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1569        &mut self.unknown_fields
1570    }
1571
1572    fn as_any(&self) -> &dyn (::std::any::Any) {
1573        self as &dyn (::std::any::Any)
1574    }
1575    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1576        self as &mut dyn (::std::any::Any)
1577    }
1578    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1579        self
1580    }
1581
1582    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1583        Self::descriptor_static()
1584    }
1585
1586    fn new() -> CollectionDef_NodeList {
1587        CollectionDef_NodeList::new()
1588    }
1589
1590    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1591        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1592        descriptor.get(|| {
1593            let mut fields = ::std::vec::Vec::new();
1594            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1595                "value",
1596                |m: &CollectionDef_NodeList| { &m.value },
1597                |m: &mut CollectionDef_NodeList| { &mut m.value },
1598            ));
1599            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CollectionDef_NodeList>(
1600                "CollectionDef.NodeList",
1601                fields,
1602                file_descriptor_proto()
1603            )
1604        })
1605    }
1606
1607    fn default_instance() -> &'static CollectionDef_NodeList {
1608        static instance: ::protobuf::rt::LazyV2<CollectionDef_NodeList> = ::protobuf::rt::LazyV2::INIT;
1609        instance.get(CollectionDef_NodeList::new)
1610    }
1611}
1612
1613impl ::protobuf::Clear for CollectionDef_NodeList {
1614    fn clear(&mut self) {
1615        self.value.clear();
1616        self.unknown_fields.clear();
1617    }
1618}
1619
1620impl ::std::fmt::Debug for CollectionDef_NodeList {
1621    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1622        ::protobuf::text_format::fmt(self, f)
1623    }
1624}
1625
1626impl ::protobuf::reflect::ProtobufValue for CollectionDef_NodeList {
1627    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1628        ::protobuf::reflect::ReflectValueRef::Message(self)
1629    }
1630}
1631
1632#[derive(PartialEq,Clone,Default)]
1633pub struct CollectionDef_BytesList {
1634    // message fields
1635    pub value: ::protobuf::RepeatedField<::std::vec::Vec<u8>>,
1636    // special fields
1637    pub unknown_fields: ::protobuf::UnknownFields,
1638    pub cached_size: ::protobuf::CachedSize,
1639}
1640
1641impl<'a> ::std::default::Default for &'a CollectionDef_BytesList {
1642    fn default() -> &'a CollectionDef_BytesList {
1643        <CollectionDef_BytesList as ::protobuf::Message>::default_instance()
1644    }
1645}
1646
1647impl CollectionDef_BytesList {
1648    pub fn new() -> CollectionDef_BytesList {
1649        ::std::default::Default::default()
1650    }
1651
1652    // repeated bytes value = 1;
1653
1654
1655    pub fn get_value(&self) -> &[::std::vec::Vec<u8>] {
1656        &self.value
1657    }
1658    pub fn clear_value(&mut self) {
1659        self.value.clear();
1660    }
1661
1662    // Param is passed by value, moved
1663    pub fn set_value(&mut self, v: ::protobuf::RepeatedField<::std::vec::Vec<u8>>) {
1664        self.value = v;
1665    }
1666
1667    // Mutable pointer to the field.
1668    pub fn mut_value(&mut self) -> &mut ::protobuf::RepeatedField<::std::vec::Vec<u8>> {
1669        &mut self.value
1670    }
1671
1672    // Take field
1673    pub fn take_value(&mut self) -> ::protobuf::RepeatedField<::std::vec::Vec<u8>> {
1674        ::std::mem::replace(&mut self.value, ::protobuf::RepeatedField::new())
1675    }
1676}
1677
1678impl ::protobuf::Message for CollectionDef_BytesList {
1679    fn is_initialized(&self) -> bool {
1680        true
1681    }
1682
1683    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1684        while !is.eof()? {
1685            let (field_number, wire_type) = is.read_tag_unpack()?;
1686            match field_number {
1687                1 => {
1688                    ::protobuf::rt::read_repeated_bytes_into(wire_type, is, &mut self.value)?;
1689                },
1690                _ => {
1691                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1692                },
1693            };
1694        }
1695        ::std::result::Result::Ok(())
1696    }
1697
1698    // Compute sizes of nested messages
1699    #[allow(unused_variables)]
1700    fn compute_size(&self) -> u32 {
1701        let mut my_size = 0;
1702        for value in &self.value {
1703            my_size += ::protobuf::rt::bytes_size(1, &value);
1704        };
1705        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1706        self.cached_size.set(my_size);
1707        my_size
1708    }
1709
1710    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1711        for v in &self.value {
1712            os.write_bytes(1, &v)?;
1713        };
1714        os.write_unknown_fields(self.get_unknown_fields())?;
1715        ::std::result::Result::Ok(())
1716    }
1717
1718    fn get_cached_size(&self) -> u32 {
1719        self.cached_size.get()
1720    }
1721
1722    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1723        &self.unknown_fields
1724    }
1725
1726    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1727        &mut self.unknown_fields
1728    }
1729
1730    fn as_any(&self) -> &dyn (::std::any::Any) {
1731        self as &dyn (::std::any::Any)
1732    }
1733    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1734        self as &mut dyn (::std::any::Any)
1735    }
1736    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1737        self
1738    }
1739
1740    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1741        Self::descriptor_static()
1742    }
1743
1744    fn new() -> CollectionDef_BytesList {
1745        CollectionDef_BytesList::new()
1746    }
1747
1748    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1749        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1750        descriptor.get(|| {
1751            let mut fields = ::std::vec::Vec::new();
1752            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1753                "value",
1754                |m: &CollectionDef_BytesList| { &m.value },
1755                |m: &mut CollectionDef_BytesList| { &mut m.value },
1756            ));
1757            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CollectionDef_BytesList>(
1758                "CollectionDef.BytesList",
1759                fields,
1760                file_descriptor_proto()
1761            )
1762        })
1763    }
1764
1765    fn default_instance() -> &'static CollectionDef_BytesList {
1766        static instance: ::protobuf::rt::LazyV2<CollectionDef_BytesList> = ::protobuf::rt::LazyV2::INIT;
1767        instance.get(CollectionDef_BytesList::new)
1768    }
1769}
1770
1771impl ::protobuf::Clear for CollectionDef_BytesList {
1772    fn clear(&mut self) {
1773        self.value.clear();
1774        self.unknown_fields.clear();
1775    }
1776}
1777
1778impl ::std::fmt::Debug for CollectionDef_BytesList {
1779    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1780        ::protobuf::text_format::fmt(self, f)
1781    }
1782}
1783
1784impl ::protobuf::reflect::ProtobufValue for CollectionDef_BytesList {
1785    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1786        ::protobuf::reflect::ReflectValueRef::Message(self)
1787    }
1788}
1789
1790#[derive(PartialEq,Clone,Default)]
1791pub struct CollectionDef_Int64List {
1792    // message fields
1793    pub value: ::std::vec::Vec<i64>,
1794    // special fields
1795    pub unknown_fields: ::protobuf::UnknownFields,
1796    pub cached_size: ::protobuf::CachedSize,
1797}
1798
1799impl<'a> ::std::default::Default for &'a CollectionDef_Int64List {
1800    fn default() -> &'a CollectionDef_Int64List {
1801        <CollectionDef_Int64List as ::protobuf::Message>::default_instance()
1802    }
1803}
1804
1805impl CollectionDef_Int64List {
1806    pub fn new() -> CollectionDef_Int64List {
1807        ::std::default::Default::default()
1808    }
1809
1810    // repeated int64 value = 1;
1811
1812
1813    pub fn get_value(&self) -> &[i64] {
1814        &self.value
1815    }
1816    pub fn clear_value(&mut self) {
1817        self.value.clear();
1818    }
1819
1820    // Param is passed by value, moved
1821    pub fn set_value(&mut self, v: ::std::vec::Vec<i64>) {
1822        self.value = v;
1823    }
1824
1825    // Mutable pointer to the field.
1826    pub fn mut_value(&mut self) -> &mut ::std::vec::Vec<i64> {
1827        &mut self.value
1828    }
1829
1830    // Take field
1831    pub fn take_value(&mut self) -> ::std::vec::Vec<i64> {
1832        ::std::mem::replace(&mut self.value, ::std::vec::Vec::new())
1833    }
1834}
1835
1836impl ::protobuf::Message for CollectionDef_Int64List {
1837    fn is_initialized(&self) -> bool {
1838        true
1839    }
1840
1841    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1842        while !is.eof()? {
1843            let (field_number, wire_type) = is.read_tag_unpack()?;
1844            match field_number {
1845                1 => {
1846                    ::protobuf::rt::read_repeated_int64_into(wire_type, is, &mut self.value)?;
1847                },
1848                _ => {
1849                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1850                },
1851            };
1852        }
1853        ::std::result::Result::Ok(())
1854    }
1855
1856    // Compute sizes of nested messages
1857    #[allow(unused_variables)]
1858    fn compute_size(&self) -> u32 {
1859        let mut my_size = 0;
1860        if !self.value.is_empty() {
1861            my_size += ::protobuf::rt::vec_packed_varint_size(1, &self.value);
1862        }
1863        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1864        self.cached_size.set(my_size);
1865        my_size
1866    }
1867
1868    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1869        if !self.value.is_empty() {
1870            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1871            // TODO: Data size is computed again, it should be cached
1872            os.write_raw_varint32(::protobuf::rt::vec_packed_varint_data_size(&self.value))?;
1873            for v in &self.value {
1874                os.write_int64_no_tag(*v)?;
1875            };
1876        }
1877        os.write_unknown_fields(self.get_unknown_fields())?;
1878        ::std::result::Result::Ok(())
1879    }
1880
1881    fn get_cached_size(&self) -> u32 {
1882        self.cached_size.get()
1883    }
1884
1885    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1886        &self.unknown_fields
1887    }
1888
1889    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1890        &mut self.unknown_fields
1891    }
1892
1893    fn as_any(&self) -> &dyn (::std::any::Any) {
1894        self as &dyn (::std::any::Any)
1895    }
1896    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1897        self as &mut dyn (::std::any::Any)
1898    }
1899    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1900        self
1901    }
1902
1903    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1904        Self::descriptor_static()
1905    }
1906
1907    fn new() -> CollectionDef_Int64List {
1908        CollectionDef_Int64List::new()
1909    }
1910
1911    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1912        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1913        descriptor.get(|| {
1914            let mut fields = ::std::vec::Vec::new();
1915            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1916                "value",
1917                |m: &CollectionDef_Int64List| { &m.value },
1918                |m: &mut CollectionDef_Int64List| { &mut m.value },
1919            ));
1920            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CollectionDef_Int64List>(
1921                "CollectionDef.Int64List",
1922                fields,
1923                file_descriptor_proto()
1924            )
1925        })
1926    }
1927
1928    fn default_instance() -> &'static CollectionDef_Int64List {
1929        static instance: ::protobuf::rt::LazyV2<CollectionDef_Int64List> = ::protobuf::rt::LazyV2::INIT;
1930        instance.get(CollectionDef_Int64List::new)
1931    }
1932}
1933
1934impl ::protobuf::Clear for CollectionDef_Int64List {
1935    fn clear(&mut self) {
1936        self.value.clear();
1937        self.unknown_fields.clear();
1938    }
1939}
1940
1941impl ::std::fmt::Debug for CollectionDef_Int64List {
1942    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1943        ::protobuf::text_format::fmt(self, f)
1944    }
1945}
1946
1947impl ::protobuf::reflect::ProtobufValue for CollectionDef_Int64List {
1948    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1949        ::protobuf::reflect::ReflectValueRef::Message(self)
1950    }
1951}
1952
1953#[derive(PartialEq,Clone,Default)]
1954pub struct CollectionDef_FloatList {
1955    // message fields
1956    pub value: ::std::vec::Vec<f32>,
1957    // special fields
1958    pub unknown_fields: ::protobuf::UnknownFields,
1959    pub cached_size: ::protobuf::CachedSize,
1960}
1961
1962impl<'a> ::std::default::Default for &'a CollectionDef_FloatList {
1963    fn default() -> &'a CollectionDef_FloatList {
1964        <CollectionDef_FloatList as ::protobuf::Message>::default_instance()
1965    }
1966}
1967
1968impl CollectionDef_FloatList {
1969    pub fn new() -> CollectionDef_FloatList {
1970        ::std::default::Default::default()
1971    }
1972
1973    // repeated float value = 1;
1974
1975
1976    pub fn get_value(&self) -> &[f32] {
1977        &self.value
1978    }
1979    pub fn clear_value(&mut self) {
1980        self.value.clear();
1981    }
1982
1983    // Param is passed by value, moved
1984    pub fn set_value(&mut self, v: ::std::vec::Vec<f32>) {
1985        self.value = v;
1986    }
1987
1988    // Mutable pointer to the field.
1989    pub fn mut_value(&mut self) -> &mut ::std::vec::Vec<f32> {
1990        &mut self.value
1991    }
1992
1993    // Take field
1994    pub fn take_value(&mut self) -> ::std::vec::Vec<f32> {
1995        ::std::mem::replace(&mut self.value, ::std::vec::Vec::new())
1996    }
1997}
1998
1999impl ::protobuf::Message for CollectionDef_FloatList {
2000    fn is_initialized(&self) -> bool {
2001        true
2002    }
2003
2004    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2005        while !is.eof()? {
2006            let (field_number, wire_type) = is.read_tag_unpack()?;
2007            match field_number {
2008                1 => {
2009                    ::protobuf::rt::read_repeated_float_into(wire_type, is, &mut self.value)?;
2010                },
2011                _ => {
2012                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2013                },
2014            };
2015        }
2016        ::std::result::Result::Ok(())
2017    }
2018
2019    // Compute sizes of nested messages
2020    #[allow(unused_variables)]
2021    fn compute_size(&self) -> u32 {
2022        let mut my_size = 0;
2023        if !self.value.is_empty() {
2024            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size((self.value.len() * 4) as u32) + (self.value.len() * 4) as u32;
2025        }
2026        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2027        self.cached_size.set(my_size);
2028        my_size
2029    }
2030
2031    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2032        if !self.value.is_empty() {
2033            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2034            // TODO: Data size is computed again, it should be cached
2035            os.write_raw_varint32((self.value.len() * 4) as u32)?;
2036            for v in &self.value {
2037                os.write_float_no_tag(*v)?;
2038            };
2039        }
2040        os.write_unknown_fields(self.get_unknown_fields())?;
2041        ::std::result::Result::Ok(())
2042    }
2043
2044    fn get_cached_size(&self) -> u32 {
2045        self.cached_size.get()
2046    }
2047
2048    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2049        &self.unknown_fields
2050    }
2051
2052    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2053        &mut self.unknown_fields
2054    }
2055
2056    fn as_any(&self) -> &dyn (::std::any::Any) {
2057        self as &dyn (::std::any::Any)
2058    }
2059    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2060        self as &mut dyn (::std::any::Any)
2061    }
2062    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2063        self
2064    }
2065
2066    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2067        Self::descriptor_static()
2068    }
2069
2070    fn new() -> CollectionDef_FloatList {
2071        CollectionDef_FloatList::new()
2072    }
2073
2074    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2075        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2076        descriptor.get(|| {
2077            let mut fields = ::std::vec::Vec::new();
2078            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
2079                "value",
2080                |m: &CollectionDef_FloatList| { &m.value },
2081                |m: &mut CollectionDef_FloatList| { &mut m.value },
2082            ));
2083            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CollectionDef_FloatList>(
2084                "CollectionDef.FloatList",
2085                fields,
2086                file_descriptor_proto()
2087            )
2088        })
2089    }
2090
2091    fn default_instance() -> &'static CollectionDef_FloatList {
2092        static instance: ::protobuf::rt::LazyV2<CollectionDef_FloatList> = ::protobuf::rt::LazyV2::INIT;
2093        instance.get(CollectionDef_FloatList::new)
2094    }
2095}
2096
2097impl ::protobuf::Clear for CollectionDef_FloatList {
2098    fn clear(&mut self) {
2099        self.value.clear();
2100        self.unknown_fields.clear();
2101    }
2102}
2103
2104impl ::std::fmt::Debug for CollectionDef_FloatList {
2105    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2106        ::protobuf::text_format::fmt(self, f)
2107    }
2108}
2109
2110impl ::protobuf::reflect::ProtobufValue for CollectionDef_FloatList {
2111    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2112        ::protobuf::reflect::ReflectValueRef::Message(self)
2113    }
2114}
2115
2116#[derive(PartialEq,Clone,Default)]
2117pub struct CollectionDef_AnyList {
2118    // message fields
2119    pub value: ::protobuf::RepeatedField<::protobuf::well_known_types::Any>,
2120    // special fields
2121    pub unknown_fields: ::protobuf::UnknownFields,
2122    pub cached_size: ::protobuf::CachedSize,
2123}
2124
2125impl<'a> ::std::default::Default for &'a CollectionDef_AnyList {
2126    fn default() -> &'a CollectionDef_AnyList {
2127        <CollectionDef_AnyList as ::protobuf::Message>::default_instance()
2128    }
2129}
2130
2131impl CollectionDef_AnyList {
2132    pub fn new() -> CollectionDef_AnyList {
2133        ::std::default::Default::default()
2134    }
2135
2136    // repeated .google.protobuf.Any value = 1;
2137
2138
2139    pub fn get_value(&self) -> &[::protobuf::well_known_types::Any] {
2140        &self.value
2141    }
2142    pub fn clear_value(&mut self) {
2143        self.value.clear();
2144    }
2145
2146    // Param is passed by value, moved
2147    pub fn set_value(&mut self, v: ::protobuf::RepeatedField<::protobuf::well_known_types::Any>) {
2148        self.value = v;
2149    }
2150
2151    // Mutable pointer to the field.
2152    pub fn mut_value(&mut self) -> &mut ::protobuf::RepeatedField<::protobuf::well_known_types::Any> {
2153        &mut self.value
2154    }
2155
2156    // Take field
2157    pub fn take_value(&mut self) -> ::protobuf::RepeatedField<::protobuf::well_known_types::Any> {
2158        ::std::mem::replace(&mut self.value, ::protobuf::RepeatedField::new())
2159    }
2160}
2161
2162impl ::protobuf::Message for CollectionDef_AnyList {
2163    fn is_initialized(&self) -> bool {
2164        for v in &self.value {
2165            if !v.is_initialized() {
2166                return false;
2167            }
2168        };
2169        true
2170    }
2171
2172    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2173        while !is.eof()? {
2174            let (field_number, wire_type) = is.read_tag_unpack()?;
2175            match field_number {
2176                1 => {
2177                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.value)?;
2178                },
2179                _ => {
2180                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2181                },
2182            };
2183        }
2184        ::std::result::Result::Ok(())
2185    }
2186
2187    // Compute sizes of nested messages
2188    #[allow(unused_variables)]
2189    fn compute_size(&self) -> u32 {
2190        let mut my_size = 0;
2191        for value in &self.value {
2192            let len = value.compute_size();
2193            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2194        };
2195        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2196        self.cached_size.set(my_size);
2197        my_size
2198    }
2199
2200    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2201        for v in &self.value {
2202            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2203            os.write_raw_varint32(v.get_cached_size())?;
2204            v.write_to_with_cached_sizes(os)?;
2205        };
2206        os.write_unknown_fields(self.get_unknown_fields())?;
2207        ::std::result::Result::Ok(())
2208    }
2209
2210    fn get_cached_size(&self) -> u32 {
2211        self.cached_size.get()
2212    }
2213
2214    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2215        &self.unknown_fields
2216    }
2217
2218    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2219        &mut self.unknown_fields
2220    }
2221
2222    fn as_any(&self) -> &dyn (::std::any::Any) {
2223        self as &dyn (::std::any::Any)
2224    }
2225    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2226        self as &mut dyn (::std::any::Any)
2227    }
2228    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2229        self
2230    }
2231
2232    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2233        Self::descriptor_static()
2234    }
2235
2236    fn new() -> CollectionDef_AnyList {
2237        CollectionDef_AnyList::new()
2238    }
2239
2240    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2241        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2242        descriptor.get(|| {
2243            let mut fields = ::std::vec::Vec::new();
2244            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Any>>(
2245                "value",
2246                |m: &CollectionDef_AnyList| { &m.value },
2247                |m: &mut CollectionDef_AnyList| { &mut m.value },
2248            ));
2249            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CollectionDef_AnyList>(
2250                "CollectionDef.AnyList",
2251                fields,
2252                file_descriptor_proto()
2253            )
2254        })
2255    }
2256
2257    fn default_instance() -> &'static CollectionDef_AnyList {
2258        static instance: ::protobuf::rt::LazyV2<CollectionDef_AnyList> = ::protobuf::rt::LazyV2::INIT;
2259        instance.get(CollectionDef_AnyList::new)
2260    }
2261}
2262
2263impl ::protobuf::Clear for CollectionDef_AnyList {
2264    fn clear(&mut self) {
2265        self.value.clear();
2266        self.unknown_fields.clear();
2267    }
2268}
2269
2270impl ::std::fmt::Debug for CollectionDef_AnyList {
2271    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2272        ::protobuf::text_format::fmt(self, f)
2273    }
2274}
2275
2276impl ::protobuf::reflect::ProtobufValue for CollectionDef_AnyList {
2277    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2278        ::protobuf::reflect::ReflectValueRef::Message(self)
2279    }
2280}
2281
2282#[derive(PartialEq,Clone,Default)]
2283pub struct TensorInfo {
2284    // message fields
2285    pub dtype: super::types::DataType,
2286    pub tensor_shape: ::protobuf::SingularPtrField<super::tensor_shape::TensorShapeProto>,
2287    // message oneof groups
2288    pub encoding: ::std::option::Option<TensorInfo_oneof_encoding>,
2289    // special fields
2290    pub unknown_fields: ::protobuf::UnknownFields,
2291    pub cached_size: ::protobuf::CachedSize,
2292}
2293
2294impl<'a> ::std::default::Default for &'a TensorInfo {
2295    fn default() -> &'a TensorInfo {
2296        <TensorInfo as ::protobuf::Message>::default_instance()
2297    }
2298}
2299
2300#[derive(Clone,PartialEq,Debug)]
2301pub enum TensorInfo_oneof_encoding {
2302    name(::std::string::String),
2303    coo_sparse(TensorInfo_CooSparse),
2304    composite_tensor(TensorInfo_CompositeTensor),
2305}
2306
2307impl TensorInfo {
2308    pub fn new() -> TensorInfo {
2309        ::std::default::Default::default()
2310    }
2311
2312    // string name = 1;
2313
2314
2315    pub fn get_name(&self) -> &str {
2316        match self.encoding {
2317            ::std::option::Option::Some(TensorInfo_oneof_encoding::name(ref v)) => v,
2318            _ => "",
2319        }
2320    }
2321    pub fn clear_name(&mut self) {
2322        self.encoding = ::std::option::Option::None;
2323    }
2324
2325    pub fn has_name(&self) -> bool {
2326        match self.encoding {
2327            ::std::option::Option::Some(TensorInfo_oneof_encoding::name(..)) => true,
2328            _ => false,
2329        }
2330    }
2331
2332    // Param is passed by value, moved
2333    pub fn set_name(&mut self, v: ::std::string::String) {
2334        self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::name(v))
2335    }
2336
2337    // Mutable pointer to the field.
2338    pub fn mut_name(&mut self) -> &mut ::std::string::String {
2339        if let ::std::option::Option::Some(TensorInfo_oneof_encoding::name(_)) = self.encoding {
2340        } else {
2341            self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::name(::std::string::String::new()));
2342        }
2343        match self.encoding {
2344            ::std::option::Option::Some(TensorInfo_oneof_encoding::name(ref mut v)) => v,
2345            _ => panic!(),
2346        }
2347    }
2348
2349    // Take field
2350    pub fn take_name(&mut self) -> ::std::string::String {
2351        if self.has_name() {
2352            match self.encoding.take() {
2353                ::std::option::Option::Some(TensorInfo_oneof_encoding::name(v)) => v,
2354                _ => panic!(),
2355            }
2356        } else {
2357            ::std::string::String::new()
2358        }
2359    }
2360
2361    // .tensorflow.TensorInfo.CooSparse coo_sparse = 4;
2362
2363
2364    pub fn get_coo_sparse(&self) -> &TensorInfo_CooSparse {
2365        match self.encoding {
2366            ::std::option::Option::Some(TensorInfo_oneof_encoding::coo_sparse(ref v)) => v,
2367            _ => <TensorInfo_CooSparse as ::protobuf::Message>::default_instance(),
2368        }
2369    }
2370    pub fn clear_coo_sparse(&mut self) {
2371        self.encoding = ::std::option::Option::None;
2372    }
2373
2374    pub fn has_coo_sparse(&self) -> bool {
2375        match self.encoding {
2376            ::std::option::Option::Some(TensorInfo_oneof_encoding::coo_sparse(..)) => true,
2377            _ => false,
2378        }
2379    }
2380
2381    // Param is passed by value, moved
2382    pub fn set_coo_sparse(&mut self, v: TensorInfo_CooSparse) {
2383        self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::coo_sparse(v))
2384    }
2385
2386    // Mutable pointer to the field.
2387    pub fn mut_coo_sparse(&mut self) -> &mut TensorInfo_CooSparse {
2388        if let ::std::option::Option::Some(TensorInfo_oneof_encoding::coo_sparse(_)) = self.encoding {
2389        } else {
2390            self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::coo_sparse(TensorInfo_CooSparse::new()));
2391        }
2392        match self.encoding {
2393            ::std::option::Option::Some(TensorInfo_oneof_encoding::coo_sparse(ref mut v)) => v,
2394            _ => panic!(),
2395        }
2396    }
2397
2398    // Take field
2399    pub fn take_coo_sparse(&mut self) -> TensorInfo_CooSparse {
2400        if self.has_coo_sparse() {
2401            match self.encoding.take() {
2402                ::std::option::Option::Some(TensorInfo_oneof_encoding::coo_sparse(v)) => v,
2403                _ => panic!(),
2404            }
2405        } else {
2406            TensorInfo_CooSparse::new()
2407        }
2408    }
2409
2410    // .tensorflow.TensorInfo.CompositeTensor composite_tensor = 5;
2411
2412
2413    pub fn get_composite_tensor(&self) -> &TensorInfo_CompositeTensor {
2414        match self.encoding {
2415            ::std::option::Option::Some(TensorInfo_oneof_encoding::composite_tensor(ref v)) => v,
2416            _ => <TensorInfo_CompositeTensor as ::protobuf::Message>::default_instance(),
2417        }
2418    }
2419    pub fn clear_composite_tensor(&mut self) {
2420        self.encoding = ::std::option::Option::None;
2421    }
2422
2423    pub fn has_composite_tensor(&self) -> bool {
2424        match self.encoding {
2425            ::std::option::Option::Some(TensorInfo_oneof_encoding::composite_tensor(..)) => true,
2426            _ => false,
2427        }
2428    }
2429
2430    // Param is passed by value, moved
2431    pub fn set_composite_tensor(&mut self, v: TensorInfo_CompositeTensor) {
2432        self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::composite_tensor(v))
2433    }
2434
2435    // Mutable pointer to the field.
2436    pub fn mut_composite_tensor(&mut self) -> &mut TensorInfo_CompositeTensor {
2437        if let ::std::option::Option::Some(TensorInfo_oneof_encoding::composite_tensor(_)) = self.encoding {
2438        } else {
2439            self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::composite_tensor(TensorInfo_CompositeTensor::new()));
2440        }
2441        match self.encoding {
2442            ::std::option::Option::Some(TensorInfo_oneof_encoding::composite_tensor(ref mut v)) => v,
2443            _ => panic!(),
2444        }
2445    }
2446
2447    // Take field
2448    pub fn take_composite_tensor(&mut self) -> TensorInfo_CompositeTensor {
2449        if self.has_composite_tensor() {
2450            match self.encoding.take() {
2451                ::std::option::Option::Some(TensorInfo_oneof_encoding::composite_tensor(v)) => v,
2452                _ => panic!(),
2453            }
2454        } else {
2455            TensorInfo_CompositeTensor::new()
2456        }
2457    }
2458
2459    // .tensorflow.DataType dtype = 2;
2460
2461
2462    pub fn get_dtype(&self) -> super::types::DataType {
2463        self.dtype
2464    }
2465    pub fn clear_dtype(&mut self) {
2466        self.dtype = super::types::DataType::DT_INVALID;
2467    }
2468
2469    // Param is passed by value, moved
2470    pub fn set_dtype(&mut self, v: super::types::DataType) {
2471        self.dtype = v;
2472    }
2473
2474    // .tensorflow.TensorShapeProto tensor_shape = 3;
2475
2476
2477    pub fn get_tensor_shape(&self) -> &super::tensor_shape::TensorShapeProto {
2478        self.tensor_shape.as_ref().unwrap_or_else(|| <super::tensor_shape::TensorShapeProto as ::protobuf::Message>::default_instance())
2479    }
2480    pub fn clear_tensor_shape(&mut self) {
2481        self.tensor_shape.clear();
2482    }
2483
2484    pub fn has_tensor_shape(&self) -> bool {
2485        self.tensor_shape.is_some()
2486    }
2487
2488    // Param is passed by value, moved
2489    pub fn set_tensor_shape(&mut self, v: super::tensor_shape::TensorShapeProto) {
2490        self.tensor_shape = ::protobuf::SingularPtrField::some(v);
2491    }
2492
2493    // Mutable pointer to the field.
2494    // If field is not initialized, it is initialized with default value first.
2495    pub fn mut_tensor_shape(&mut self) -> &mut super::tensor_shape::TensorShapeProto {
2496        if self.tensor_shape.is_none() {
2497            self.tensor_shape.set_default();
2498        }
2499        self.tensor_shape.as_mut().unwrap()
2500    }
2501
2502    // Take field
2503    pub fn take_tensor_shape(&mut self) -> super::tensor_shape::TensorShapeProto {
2504        self.tensor_shape.take().unwrap_or_else(|| super::tensor_shape::TensorShapeProto::new())
2505    }
2506}
2507
2508impl ::protobuf::Message for TensorInfo {
2509    fn is_initialized(&self) -> bool {
2510        if let Some(TensorInfo_oneof_encoding::coo_sparse(ref v)) = self.encoding {
2511            if !v.is_initialized() {
2512                return false;
2513            }
2514        }
2515        if let Some(TensorInfo_oneof_encoding::composite_tensor(ref v)) = self.encoding {
2516            if !v.is_initialized() {
2517                return false;
2518            }
2519        }
2520        for v in &self.tensor_shape {
2521            if !v.is_initialized() {
2522                return false;
2523            }
2524        };
2525        true
2526    }
2527
2528    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2529        while !is.eof()? {
2530            let (field_number, wire_type) = is.read_tag_unpack()?;
2531            match field_number {
2532                1 => {
2533                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2534                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2535                    }
2536                    self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::name(is.read_string()?));
2537                },
2538                4 => {
2539                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2540                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2541                    }
2542                    self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::coo_sparse(is.read_message()?));
2543                },
2544                5 => {
2545                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2546                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2547                    }
2548                    self.encoding = ::std::option::Option::Some(TensorInfo_oneof_encoding::composite_tensor(is.read_message()?));
2549                },
2550                2 => {
2551                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.dtype, 2, &mut self.unknown_fields)?
2552                },
2553                3 => {
2554                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.tensor_shape)?;
2555                },
2556                _ => {
2557                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2558                },
2559            };
2560        }
2561        ::std::result::Result::Ok(())
2562    }
2563
2564    // Compute sizes of nested messages
2565    #[allow(unused_variables)]
2566    fn compute_size(&self) -> u32 {
2567        let mut my_size = 0;
2568        if self.dtype != super::types::DataType::DT_INVALID {
2569            my_size += ::protobuf::rt::enum_size(2, self.dtype);
2570        }
2571        if let Some(ref v) = self.tensor_shape.as_ref() {
2572            let len = v.compute_size();
2573            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2574        }
2575        if let ::std::option::Option::Some(ref v) = self.encoding {
2576            match v {
2577                &TensorInfo_oneof_encoding::name(ref v) => {
2578                    my_size += ::protobuf::rt::string_size(1, &v);
2579                },
2580                &TensorInfo_oneof_encoding::coo_sparse(ref v) => {
2581                    let len = v.compute_size();
2582                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2583                },
2584                &TensorInfo_oneof_encoding::composite_tensor(ref v) => {
2585                    let len = v.compute_size();
2586                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2587                },
2588            };
2589        }
2590        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2591        self.cached_size.set(my_size);
2592        my_size
2593    }
2594
2595    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2596        if self.dtype != super::types::DataType::DT_INVALID {
2597            os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.dtype))?;
2598        }
2599        if let Some(ref v) = self.tensor_shape.as_ref() {
2600            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2601            os.write_raw_varint32(v.get_cached_size())?;
2602            v.write_to_with_cached_sizes(os)?;
2603        }
2604        if let ::std::option::Option::Some(ref v) = self.encoding {
2605            match v {
2606                &TensorInfo_oneof_encoding::name(ref v) => {
2607                    os.write_string(1, v)?;
2608                },
2609                &TensorInfo_oneof_encoding::coo_sparse(ref v) => {
2610                    os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2611                    os.write_raw_varint32(v.get_cached_size())?;
2612                    v.write_to_with_cached_sizes(os)?;
2613                },
2614                &TensorInfo_oneof_encoding::composite_tensor(ref v) => {
2615                    os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2616                    os.write_raw_varint32(v.get_cached_size())?;
2617                    v.write_to_with_cached_sizes(os)?;
2618                },
2619            };
2620        }
2621        os.write_unknown_fields(self.get_unknown_fields())?;
2622        ::std::result::Result::Ok(())
2623    }
2624
2625    fn get_cached_size(&self) -> u32 {
2626        self.cached_size.get()
2627    }
2628
2629    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2630        &self.unknown_fields
2631    }
2632
2633    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2634        &mut self.unknown_fields
2635    }
2636
2637    fn as_any(&self) -> &dyn (::std::any::Any) {
2638        self as &dyn (::std::any::Any)
2639    }
2640    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2641        self as &mut dyn (::std::any::Any)
2642    }
2643    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2644        self
2645    }
2646
2647    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2648        Self::descriptor_static()
2649    }
2650
2651    fn new() -> TensorInfo {
2652        TensorInfo::new()
2653    }
2654
2655    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2656        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2657        descriptor.get(|| {
2658            let mut fields = ::std::vec::Vec::new();
2659            fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
2660                "name",
2661                TensorInfo::has_name,
2662                TensorInfo::get_name,
2663            ));
2664            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, TensorInfo_CooSparse>(
2665                "coo_sparse",
2666                TensorInfo::has_coo_sparse,
2667                TensorInfo::get_coo_sparse,
2668            ));
2669            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, TensorInfo_CompositeTensor>(
2670                "composite_tensor",
2671                TensorInfo::has_composite_tensor,
2672                TensorInfo::get_composite_tensor,
2673            ));
2674            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::types::DataType>>(
2675                "dtype",
2676                |m: &TensorInfo| { &m.dtype },
2677                |m: &mut TensorInfo| { &mut m.dtype },
2678            ));
2679            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::tensor_shape::TensorShapeProto>>(
2680                "tensor_shape",
2681                |m: &TensorInfo| { &m.tensor_shape },
2682                |m: &mut TensorInfo| { &mut m.tensor_shape },
2683            ));
2684            ::protobuf::reflect::MessageDescriptor::new_pb_name::<TensorInfo>(
2685                "TensorInfo",
2686                fields,
2687                file_descriptor_proto()
2688            )
2689        })
2690    }
2691
2692    fn default_instance() -> &'static TensorInfo {
2693        static instance: ::protobuf::rt::LazyV2<TensorInfo> = ::protobuf::rt::LazyV2::INIT;
2694        instance.get(TensorInfo::new)
2695    }
2696}
2697
2698impl ::protobuf::Clear for TensorInfo {
2699    fn clear(&mut self) {
2700        self.encoding = ::std::option::Option::None;
2701        self.encoding = ::std::option::Option::None;
2702        self.encoding = ::std::option::Option::None;
2703        self.dtype = super::types::DataType::DT_INVALID;
2704        self.tensor_shape.clear();
2705        self.unknown_fields.clear();
2706    }
2707}
2708
2709impl ::std::fmt::Debug for TensorInfo {
2710    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2711        ::protobuf::text_format::fmt(self, f)
2712    }
2713}
2714
2715impl ::protobuf::reflect::ProtobufValue for TensorInfo {
2716    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2717        ::protobuf::reflect::ReflectValueRef::Message(self)
2718    }
2719}
2720
2721#[derive(PartialEq,Clone,Default)]
2722pub struct TensorInfo_CooSparse {
2723    // message fields
2724    pub values_tensor_name: ::std::string::String,
2725    pub indices_tensor_name: ::std::string::String,
2726    pub dense_shape_tensor_name: ::std::string::String,
2727    // special fields
2728    pub unknown_fields: ::protobuf::UnknownFields,
2729    pub cached_size: ::protobuf::CachedSize,
2730}
2731
2732impl<'a> ::std::default::Default for &'a TensorInfo_CooSparse {
2733    fn default() -> &'a TensorInfo_CooSparse {
2734        <TensorInfo_CooSparse as ::protobuf::Message>::default_instance()
2735    }
2736}
2737
2738impl TensorInfo_CooSparse {
2739    pub fn new() -> TensorInfo_CooSparse {
2740        ::std::default::Default::default()
2741    }
2742
2743    // string values_tensor_name = 1;
2744
2745
2746    pub fn get_values_tensor_name(&self) -> &str {
2747        &self.values_tensor_name
2748    }
2749    pub fn clear_values_tensor_name(&mut self) {
2750        self.values_tensor_name.clear();
2751    }
2752
2753    // Param is passed by value, moved
2754    pub fn set_values_tensor_name(&mut self, v: ::std::string::String) {
2755        self.values_tensor_name = v;
2756    }
2757
2758    // Mutable pointer to the field.
2759    // If field is not initialized, it is initialized with default value first.
2760    pub fn mut_values_tensor_name(&mut self) -> &mut ::std::string::String {
2761        &mut self.values_tensor_name
2762    }
2763
2764    // Take field
2765    pub fn take_values_tensor_name(&mut self) -> ::std::string::String {
2766        ::std::mem::replace(&mut self.values_tensor_name, ::std::string::String::new())
2767    }
2768
2769    // string indices_tensor_name = 2;
2770
2771
2772    pub fn get_indices_tensor_name(&self) -> &str {
2773        &self.indices_tensor_name
2774    }
2775    pub fn clear_indices_tensor_name(&mut self) {
2776        self.indices_tensor_name.clear();
2777    }
2778
2779    // Param is passed by value, moved
2780    pub fn set_indices_tensor_name(&mut self, v: ::std::string::String) {
2781        self.indices_tensor_name = v;
2782    }
2783
2784    // Mutable pointer to the field.
2785    // If field is not initialized, it is initialized with default value first.
2786    pub fn mut_indices_tensor_name(&mut self) -> &mut ::std::string::String {
2787        &mut self.indices_tensor_name
2788    }
2789
2790    // Take field
2791    pub fn take_indices_tensor_name(&mut self) -> ::std::string::String {
2792        ::std::mem::replace(&mut self.indices_tensor_name, ::std::string::String::new())
2793    }
2794
2795    // string dense_shape_tensor_name = 3;
2796
2797
2798    pub fn get_dense_shape_tensor_name(&self) -> &str {
2799        &self.dense_shape_tensor_name
2800    }
2801    pub fn clear_dense_shape_tensor_name(&mut self) {
2802        self.dense_shape_tensor_name.clear();
2803    }
2804
2805    // Param is passed by value, moved
2806    pub fn set_dense_shape_tensor_name(&mut self, v: ::std::string::String) {
2807        self.dense_shape_tensor_name = v;
2808    }
2809
2810    // Mutable pointer to the field.
2811    // If field is not initialized, it is initialized with default value first.
2812    pub fn mut_dense_shape_tensor_name(&mut self) -> &mut ::std::string::String {
2813        &mut self.dense_shape_tensor_name
2814    }
2815
2816    // Take field
2817    pub fn take_dense_shape_tensor_name(&mut self) -> ::std::string::String {
2818        ::std::mem::replace(&mut self.dense_shape_tensor_name, ::std::string::String::new())
2819    }
2820}
2821
2822impl ::protobuf::Message for TensorInfo_CooSparse {
2823    fn is_initialized(&self) -> bool {
2824        true
2825    }
2826
2827    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2828        while !is.eof()? {
2829            let (field_number, wire_type) = is.read_tag_unpack()?;
2830            match field_number {
2831                1 => {
2832                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.values_tensor_name)?;
2833                },
2834                2 => {
2835                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.indices_tensor_name)?;
2836                },
2837                3 => {
2838                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.dense_shape_tensor_name)?;
2839                },
2840                _ => {
2841                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2842                },
2843            };
2844        }
2845        ::std::result::Result::Ok(())
2846    }
2847
2848    // Compute sizes of nested messages
2849    #[allow(unused_variables)]
2850    fn compute_size(&self) -> u32 {
2851        let mut my_size = 0;
2852        if !self.values_tensor_name.is_empty() {
2853            my_size += ::protobuf::rt::string_size(1, &self.values_tensor_name);
2854        }
2855        if !self.indices_tensor_name.is_empty() {
2856            my_size += ::protobuf::rt::string_size(2, &self.indices_tensor_name);
2857        }
2858        if !self.dense_shape_tensor_name.is_empty() {
2859            my_size += ::protobuf::rt::string_size(3, &self.dense_shape_tensor_name);
2860        }
2861        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2862        self.cached_size.set(my_size);
2863        my_size
2864    }
2865
2866    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2867        if !self.values_tensor_name.is_empty() {
2868            os.write_string(1, &self.values_tensor_name)?;
2869        }
2870        if !self.indices_tensor_name.is_empty() {
2871            os.write_string(2, &self.indices_tensor_name)?;
2872        }
2873        if !self.dense_shape_tensor_name.is_empty() {
2874            os.write_string(3, &self.dense_shape_tensor_name)?;
2875        }
2876        os.write_unknown_fields(self.get_unknown_fields())?;
2877        ::std::result::Result::Ok(())
2878    }
2879
2880    fn get_cached_size(&self) -> u32 {
2881        self.cached_size.get()
2882    }
2883
2884    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2885        &self.unknown_fields
2886    }
2887
2888    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2889        &mut self.unknown_fields
2890    }
2891
2892    fn as_any(&self) -> &dyn (::std::any::Any) {
2893        self as &dyn (::std::any::Any)
2894    }
2895    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2896        self as &mut dyn (::std::any::Any)
2897    }
2898    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2899        self
2900    }
2901
2902    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2903        Self::descriptor_static()
2904    }
2905
2906    fn new() -> TensorInfo_CooSparse {
2907        TensorInfo_CooSparse::new()
2908    }
2909
2910    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2911        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2912        descriptor.get(|| {
2913            let mut fields = ::std::vec::Vec::new();
2914            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2915                "values_tensor_name",
2916                |m: &TensorInfo_CooSparse| { &m.values_tensor_name },
2917                |m: &mut TensorInfo_CooSparse| { &mut m.values_tensor_name },
2918            ));
2919            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2920                "indices_tensor_name",
2921                |m: &TensorInfo_CooSparse| { &m.indices_tensor_name },
2922                |m: &mut TensorInfo_CooSparse| { &mut m.indices_tensor_name },
2923            ));
2924            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2925                "dense_shape_tensor_name",
2926                |m: &TensorInfo_CooSparse| { &m.dense_shape_tensor_name },
2927                |m: &mut TensorInfo_CooSparse| { &mut m.dense_shape_tensor_name },
2928            ));
2929            ::protobuf::reflect::MessageDescriptor::new_pb_name::<TensorInfo_CooSparse>(
2930                "TensorInfo.CooSparse",
2931                fields,
2932                file_descriptor_proto()
2933            )
2934        })
2935    }
2936
2937    fn default_instance() -> &'static TensorInfo_CooSparse {
2938        static instance: ::protobuf::rt::LazyV2<TensorInfo_CooSparse> = ::protobuf::rt::LazyV2::INIT;
2939        instance.get(TensorInfo_CooSparse::new)
2940    }
2941}
2942
2943impl ::protobuf::Clear for TensorInfo_CooSparse {
2944    fn clear(&mut self) {
2945        self.values_tensor_name.clear();
2946        self.indices_tensor_name.clear();
2947        self.dense_shape_tensor_name.clear();
2948        self.unknown_fields.clear();
2949    }
2950}
2951
2952impl ::std::fmt::Debug for TensorInfo_CooSparse {
2953    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2954        ::protobuf::text_format::fmt(self, f)
2955    }
2956}
2957
2958impl ::protobuf::reflect::ProtobufValue for TensorInfo_CooSparse {
2959    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2960        ::protobuf::reflect::ReflectValueRef::Message(self)
2961    }
2962}
2963
2964#[derive(PartialEq,Clone,Default)]
2965pub struct TensorInfo_CompositeTensor {
2966    // message fields
2967    pub type_spec: ::protobuf::SingularPtrField<super::struct_pb::TypeSpecProto>,
2968    pub components: ::protobuf::RepeatedField<TensorInfo>,
2969    // special fields
2970    pub unknown_fields: ::protobuf::UnknownFields,
2971    pub cached_size: ::protobuf::CachedSize,
2972}
2973
2974impl<'a> ::std::default::Default for &'a TensorInfo_CompositeTensor {
2975    fn default() -> &'a TensorInfo_CompositeTensor {
2976        <TensorInfo_CompositeTensor as ::protobuf::Message>::default_instance()
2977    }
2978}
2979
2980impl TensorInfo_CompositeTensor {
2981    pub fn new() -> TensorInfo_CompositeTensor {
2982        ::std::default::Default::default()
2983    }
2984
2985    // .tensorflow.TypeSpecProto type_spec = 1;
2986
2987
2988    pub fn get_type_spec(&self) -> &super::struct_pb::TypeSpecProto {
2989        self.type_spec.as_ref().unwrap_or_else(|| <super::struct_pb::TypeSpecProto as ::protobuf::Message>::default_instance())
2990    }
2991    pub fn clear_type_spec(&mut self) {
2992        self.type_spec.clear();
2993    }
2994
2995    pub fn has_type_spec(&self) -> bool {
2996        self.type_spec.is_some()
2997    }
2998
2999    // Param is passed by value, moved
3000    pub fn set_type_spec(&mut self, v: super::struct_pb::TypeSpecProto) {
3001        self.type_spec = ::protobuf::SingularPtrField::some(v);
3002    }
3003
3004    // Mutable pointer to the field.
3005    // If field is not initialized, it is initialized with default value first.
3006    pub fn mut_type_spec(&mut self) -> &mut super::struct_pb::TypeSpecProto {
3007        if self.type_spec.is_none() {
3008            self.type_spec.set_default();
3009        }
3010        self.type_spec.as_mut().unwrap()
3011    }
3012
3013    // Take field
3014    pub fn take_type_spec(&mut self) -> super::struct_pb::TypeSpecProto {
3015        self.type_spec.take().unwrap_or_else(|| super::struct_pb::TypeSpecProto::new())
3016    }
3017
3018    // repeated .tensorflow.TensorInfo components = 2;
3019
3020
3021    pub fn get_components(&self) -> &[TensorInfo] {
3022        &self.components
3023    }
3024    pub fn clear_components(&mut self) {
3025        self.components.clear();
3026    }
3027
3028    // Param is passed by value, moved
3029    pub fn set_components(&mut self, v: ::protobuf::RepeatedField<TensorInfo>) {
3030        self.components = v;
3031    }
3032
3033    // Mutable pointer to the field.
3034    pub fn mut_components(&mut self) -> &mut ::protobuf::RepeatedField<TensorInfo> {
3035        &mut self.components
3036    }
3037
3038    // Take field
3039    pub fn take_components(&mut self) -> ::protobuf::RepeatedField<TensorInfo> {
3040        ::std::mem::replace(&mut self.components, ::protobuf::RepeatedField::new())
3041    }
3042}
3043
3044impl ::protobuf::Message for TensorInfo_CompositeTensor {
3045    fn is_initialized(&self) -> bool {
3046        for v in &self.type_spec {
3047            if !v.is_initialized() {
3048                return false;
3049            }
3050        };
3051        for v in &self.components {
3052            if !v.is_initialized() {
3053                return false;
3054            }
3055        };
3056        true
3057    }
3058
3059    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3060        while !is.eof()? {
3061            let (field_number, wire_type) = is.read_tag_unpack()?;
3062            match field_number {
3063                1 => {
3064                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.type_spec)?;
3065                },
3066                2 => {
3067                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.components)?;
3068                },
3069                _ => {
3070                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3071                },
3072            };
3073        }
3074        ::std::result::Result::Ok(())
3075    }
3076
3077    // Compute sizes of nested messages
3078    #[allow(unused_variables)]
3079    fn compute_size(&self) -> u32 {
3080        let mut my_size = 0;
3081        if let Some(ref v) = self.type_spec.as_ref() {
3082            let len = v.compute_size();
3083            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3084        }
3085        for value in &self.components {
3086            let len = value.compute_size();
3087            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3088        };
3089        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3090        self.cached_size.set(my_size);
3091        my_size
3092    }
3093
3094    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3095        if let Some(ref v) = self.type_spec.as_ref() {
3096            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3097            os.write_raw_varint32(v.get_cached_size())?;
3098            v.write_to_with_cached_sizes(os)?;
3099        }
3100        for v in &self.components {
3101            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3102            os.write_raw_varint32(v.get_cached_size())?;
3103            v.write_to_with_cached_sizes(os)?;
3104        };
3105        os.write_unknown_fields(self.get_unknown_fields())?;
3106        ::std::result::Result::Ok(())
3107    }
3108
3109    fn get_cached_size(&self) -> u32 {
3110        self.cached_size.get()
3111    }
3112
3113    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3114        &self.unknown_fields
3115    }
3116
3117    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3118        &mut self.unknown_fields
3119    }
3120
3121    fn as_any(&self) -> &dyn (::std::any::Any) {
3122        self as &dyn (::std::any::Any)
3123    }
3124    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3125        self as &mut dyn (::std::any::Any)
3126    }
3127    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3128        self
3129    }
3130
3131    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3132        Self::descriptor_static()
3133    }
3134
3135    fn new() -> TensorInfo_CompositeTensor {
3136        TensorInfo_CompositeTensor::new()
3137    }
3138
3139    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3140        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3141        descriptor.get(|| {
3142            let mut fields = ::std::vec::Vec::new();
3143            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::struct_pb::TypeSpecProto>>(
3144                "type_spec",
3145                |m: &TensorInfo_CompositeTensor| { &m.type_spec },
3146                |m: &mut TensorInfo_CompositeTensor| { &mut m.type_spec },
3147            ));
3148            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(
3149                "components",
3150                |m: &TensorInfo_CompositeTensor| { &m.components },
3151                |m: &mut TensorInfo_CompositeTensor| { &mut m.components },
3152            ));
3153            ::protobuf::reflect::MessageDescriptor::new_pb_name::<TensorInfo_CompositeTensor>(
3154                "TensorInfo.CompositeTensor",
3155                fields,
3156                file_descriptor_proto()
3157            )
3158        })
3159    }
3160
3161    fn default_instance() -> &'static TensorInfo_CompositeTensor {
3162        static instance: ::protobuf::rt::LazyV2<TensorInfo_CompositeTensor> = ::protobuf::rt::LazyV2::INIT;
3163        instance.get(TensorInfo_CompositeTensor::new)
3164    }
3165}
3166
3167impl ::protobuf::Clear for TensorInfo_CompositeTensor {
3168    fn clear(&mut self) {
3169        self.type_spec.clear();
3170        self.components.clear();
3171        self.unknown_fields.clear();
3172    }
3173}
3174
3175impl ::std::fmt::Debug for TensorInfo_CompositeTensor {
3176    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3177        ::protobuf::text_format::fmt(self, f)
3178    }
3179}
3180
3181impl ::protobuf::reflect::ProtobufValue for TensorInfo_CompositeTensor {
3182    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3183        ::protobuf::reflect::ReflectValueRef::Message(self)
3184    }
3185}
3186
3187#[derive(PartialEq,Clone,Default)]
3188pub struct SignatureDef {
3189    // message fields
3190    pub inputs: ::std::collections::HashMap<::std::string::String, TensorInfo>,
3191    pub outputs: ::std::collections::HashMap<::std::string::String, TensorInfo>,
3192    pub method_name: ::std::string::String,
3193    // special fields
3194    pub unknown_fields: ::protobuf::UnknownFields,
3195    pub cached_size: ::protobuf::CachedSize,
3196}
3197
3198impl<'a> ::std::default::Default for &'a SignatureDef {
3199    fn default() -> &'a SignatureDef {
3200        <SignatureDef as ::protobuf::Message>::default_instance()
3201    }
3202}
3203
3204impl SignatureDef {
3205    pub fn new() -> SignatureDef {
3206        ::std::default::Default::default()
3207    }
3208
3209    // repeated .tensorflow.SignatureDef.InputsEntry inputs = 1;
3210
3211
3212    pub fn get_inputs(&self) -> &::std::collections::HashMap<::std::string::String, TensorInfo> {
3213        &self.inputs
3214    }
3215    pub fn clear_inputs(&mut self) {
3216        self.inputs.clear();
3217    }
3218
3219    // Param is passed by value, moved
3220    pub fn set_inputs(&mut self, v: ::std::collections::HashMap<::std::string::String, TensorInfo>) {
3221        self.inputs = v;
3222    }
3223
3224    // Mutable pointer to the field.
3225    pub fn mut_inputs(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, TensorInfo> {
3226        &mut self.inputs
3227    }
3228
3229    // Take field
3230    pub fn take_inputs(&mut self) -> ::std::collections::HashMap<::std::string::String, TensorInfo> {
3231        ::std::mem::replace(&mut self.inputs, ::std::collections::HashMap::new())
3232    }
3233
3234    // repeated .tensorflow.SignatureDef.OutputsEntry outputs = 2;
3235
3236
3237    pub fn get_outputs(&self) -> &::std::collections::HashMap<::std::string::String, TensorInfo> {
3238        &self.outputs
3239    }
3240    pub fn clear_outputs(&mut self) {
3241        self.outputs.clear();
3242    }
3243
3244    // Param is passed by value, moved
3245    pub fn set_outputs(&mut self, v: ::std::collections::HashMap<::std::string::String, TensorInfo>) {
3246        self.outputs = v;
3247    }
3248
3249    // Mutable pointer to the field.
3250    pub fn mut_outputs(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, TensorInfo> {
3251        &mut self.outputs
3252    }
3253
3254    // Take field
3255    pub fn take_outputs(&mut self) -> ::std::collections::HashMap<::std::string::String, TensorInfo> {
3256        ::std::mem::replace(&mut self.outputs, ::std::collections::HashMap::new())
3257    }
3258
3259    // string method_name = 3;
3260
3261
3262    pub fn get_method_name(&self) -> &str {
3263        &self.method_name
3264    }
3265    pub fn clear_method_name(&mut self) {
3266        self.method_name.clear();
3267    }
3268
3269    // Param is passed by value, moved
3270    pub fn set_method_name(&mut self, v: ::std::string::String) {
3271        self.method_name = v;
3272    }
3273
3274    // Mutable pointer to the field.
3275    // If field is not initialized, it is initialized with default value first.
3276    pub fn mut_method_name(&mut self) -> &mut ::std::string::String {
3277        &mut self.method_name
3278    }
3279
3280    // Take field
3281    pub fn take_method_name(&mut self) -> ::std::string::String {
3282        ::std::mem::replace(&mut self.method_name, ::std::string::String::new())
3283    }
3284}
3285
3286impl ::protobuf::Message for SignatureDef {
3287    fn is_initialized(&self) -> bool {
3288        true
3289    }
3290
3291    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3292        while !is.eof()? {
3293            let (field_number, wire_type) = is.read_tag_unpack()?;
3294            match field_number {
3295                1 => {
3296                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(wire_type, is, &mut self.inputs)?;
3297                },
3298                2 => {
3299                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(wire_type, is, &mut self.outputs)?;
3300                },
3301                3 => {
3302                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.method_name)?;
3303                },
3304                _ => {
3305                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3306                },
3307            };
3308        }
3309        ::std::result::Result::Ok(())
3310    }
3311
3312    // Compute sizes of nested messages
3313    #[allow(unused_variables)]
3314    fn compute_size(&self) -> u32 {
3315        let mut my_size = 0;
3316        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(1, &self.inputs);
3317        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(2, &self.outputs);
3318        if !self.method_name.is_empty() {
3319            my_size += ::protobuf::rt::string_size(3, &self.method_name);
3320        }
3321        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3322        self.cached_size.set(my_size);
3323        my_size
3324    }
3325
3326    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3327        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(1, &self.inputs, os)?;
3328        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(2, &self.outputs, os)?;
3329        if !self.method_name.is_empty() {
3330            os.write_string(3, &self.method_name)?;
3331        }
3332        os.write_unknown_fields(self.get_unknown_fields())?;
3333        ::std::result::Result::Ok(())
3334    }
3335
3336    fn get_cached_size(&self) -> u32 {
3337        self.cached_size.get()
3338    }
3339
3340    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3341        &self.unknown_fields
3342    }
3343
3344    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3345        &mut self.unknown_fields
3346    }
3347
3348    fn as_any(&self) -> &dyn (::std::any::Any) {
3349        self as &dyn (::std::any::Any)
3350    }
3351    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3352        self as &mut dyn (::std::any::Any)
3353    }
3354    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3355        self
3356    }
3357
3358    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3359        Self::descriptor_static()
3360    }
3361
3362    fn new() -> SignatureDef {
3363        SignatureDef::new()
3364    }
3365
3366    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3367        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3368        descriptor.get(|| {
3369            let mut fields = ::std::vec::Vec::new();
3370            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(
3371                "inputs",
3372                |m: &SignatureDef| { &m.inputs },
3373                |m: &mut SignatureDef| { &mut m.inputs },
3374            ));
3375            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(
3376                "outputs",
3377                |m: &SignatureDef| { &m.outputs },
3378                |m: &mut SignatureDef| { &mut m.outputs },
3379            ));
3380            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3381                "method_name",
3382                |m: &SignatureDef| { &m.method_name },
3383                |m: &mut SignatureDef| { &mut m.method_name },
3384            ));
3385            ::protobuf::reflect::MessageDescriptor::new_pb_name::<SignatureDef>(
3386                "SignatureDef",
3387                fields,
3388                file_descriptor_proto()
3389            )
3390        })
3391    }
3392
3393    fn default_instance() -> &'static SignatureDef {
3394        static instance: ::protobuf::rt::LazyV2<SignatureDef> = ::protobuf::rt::LazyV2::INIT;
3395        instance.get(SignatureDef::new)
3396    }
3397}
3398
3399impl ::protobuf::Clear for SignatureDef {
3400    fn clear(&mut self) {
3401        self.inputs.clear();
3402        self.outputs.clear();
3403        self.method_name.clear();
3404        self.unknown_fields.clear();
3405    }
3406}
3407
3408impl ::std::fmt::Debug for SignatureDef {
3409    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3410        ::protobuf::text_format::fmt(self, f)
3411    }
3412}
3413
3414impl ::protobuf::reflect::ProtobufValue for SignatureDef {
3415    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3416        ::protobuf::reflect::ReflectValueRef::Message(self)
3417    }
3418}
3419
3420#[derive(PartialEq,Clone,Default)]
3421pub struct AssetFileDef {
3422    // message fields
3423    pub tensor_info: ::protobuf::SingularPtrField<TensorInfo>,
3424    pub filename: ::std::string::String,
3425    // special fields
3426    pub unknown_fields: ::protobuf::UnknownFields,
3427    pub cached_size: ::protobuf::CachedSize,
3428}
3429
3430impl<'a> ::std::default::Default for &'a AssetFileDef {
3431    fn default() -> &'a AssetFileDef {
3432        <AssetFileDef as ::protobuf::Message>::default_instance()
3433    }
3434}
3435
3436impl AssetFileDef {
3437    pub fn new() -> AssetFileDef {
3438        ::std::default::Default::default()
3439    }
3440
3441    // .tensorflow.TensorInfo tensor_info = 1;
3442
3443
3444    pub fn get_tensor_info(&self) -> &TensorInfo {
3445        self.tensor_info.as_ref().unwrap_or_else(|| <TensorInfo as ::protobuf::Message>::default_instance())
3446    }
3447    pub fn clear_tensor_info(&mut self) {
3448        self.tensor_info.clear();
3449    }
3450
3451    pub fn has_tensor_info(&self) -> bool {
3452        self.tensor_info.is_some()
3453    }
3454
3455    // Param is passed by value, moved
3456    pub fn set_tensor_info(&mut self, v: TensorInfo) {
3457        self.tensor_info = ::protobuf::SingularPtrField::some(v);
3458    }
3459
3460    // Mutable pointer to the field.
3461    // If field is not initialized, it is initialized with default value first.
3462    pub fn mut_tensor_info(&mut self) -> &mut TensorInfo {
3463        if self.tensor_info.is_none() {
3464            self.tensor_info.set_default();
3465        }
3466        self.tensor_info.as_mut().unwrap()
3467    }
3468
3469    // Take field
3470    pub fn take_tensor_info(&mut self) -> TensorInfo {
3471        self.tensor_info.take().unwrap_or_else(|| TensorInfo::new())
3472    }
3473
3474    // string filename = 2;
3475
3476
3477    pub fn get_filename(&self) -> &str {
3478        &self.filename
3479    }
3480    pub fn clear_filename(&mut self) {
3481        self.filename.clear();
3482    }
3483
3484    // Param is passed by value, moved
3485    pub fn set_filename(&mut self, v: ::std::string::String) {
3486        self.filename = v;
3487    }
3488
3489    // Mutable pointer to the field.
3490    // If field is not initialized, it is initialized with default value first.
3491    pub fn mut_filename(&mut self) -> &mut ::std::string::String {
3492        &mut self.filename
3493    }
3494
3495    // Take field
3496    pub fn take_filename(&mut self) -> ::std::string::String {
3497        ::std::mem::replace(&mut self.filename, ::std::string::String::new())
3498    }
3499}
3500
3501impl ::protobuf::Message for AssetFileDef {
3502    fn is_initialized(&self) -> bool {
3503        for v in &self.tensor_info {
3504            if !v.is_initialized() {
3505                return false;
3506            }
3507        };
3508        true
3509    }
3510
3511    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3512        while !is.eof()? {
3513            let (field_number, wire_type) = is.read_tag_unpack()?;
3514            match field_number {
3515                1 => {
3516                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.tensor_info)?;
3517                },
3518                2 => {
3519                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.filename)?;
3520                },
3521                _ => {
3522                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3523                },
3524            };
3525        }
3526        ::std::result::Result::Ok(())
3527    }
3528
3529    // Compute sizes of nested messages
3530    #[allow(unused_variables)]
3531    fn compute_size(&self) -> u32 {
3532        let mut my_size = 0;
3533        if let Some(ref v) = self.tensor_info.as_ref() {
3534            let len = v.compute_size();
3535            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3536        }
3537        if !self.filename.is_empty() {
3538            my_size += ::protobuf::rt::string_size(2, &self.filename);
3539        }
3540        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3541        self.cached_size.set(my_size);
3542        my_size
3543    }
3544
3545    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3546        if let Some(ref v) = self.tensor_info.as_ref() {
3547            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3548            os.write_raw_varint32(v.get_cached_size())?;
3549            v.write_to_with_cached_sizes(os)?;
3550        }
3551        if !self.filename.is_empty() {
3552            os.write_string(2, &self.filename)?;
3553        }
3554        os.write_unknown_fields(self.get_unknown_fields())?;
3555        ::std::result::Result::Ok(())
3556    }
3557
3558    fn get_cached_size(&self) -> u32 {
3559        self.cached_size.get()
3560    }
3561
3562    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3563        &self.unknown_fields
3564    }
3565
3566    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3567        &mut self.unknown_fields
3568    }
3569
3570    fn as_any(&self) -> &dyn (::std::any::Any) {
3571        self as &dyn (::std::any::Any)
3572    }
3573    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3574        self as &mut dyn (::std::any::Any)
3575    }
3576    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3577        self
3578    }
3579
3580    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3581        Self::descriptor_static()
3582    }
3583
3584    fn new() -> AssetFileDef {
3585        AssetFileDef::new()
3586    }
3587
3588    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3589        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3590        descriptor.get(|| {
3591            let mut fields = ::std::vec::Vec::new();
3592            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<TensorInfo>>(
3593                "tensor_info",
3594                |m: &AssetFileDef| { &m.tensor_info },
3595                |m: &mut AssetFileDef| { &mut m.tensor_info },
3596            ));
3597            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3598                "filename",
3599                |m: &AssetFileDef| { &m.filename },
3600                |m: &mut AssetFileDef| { &mut m.filename },
3601            ));
3602            ::protobuf::reflect::MessageDescriptor::new_pb_name::<AssetFileDef>(
3603                "AssetFileDef",
3604                fields,
3605                file_descriptor_proto()
3606            )
3607        })
3608    }
3609
3610    fn default_instance() -> &'static AssetFileDef {
3611        static instance: ::protobuf::rt::LazyV2<AssetFileDef> = ::protobuf::rt::LazyV2::INIT;
3612        instance.get(AssetFileDef::new)
3613    }
3614}
3615
3616impl ::protobuf::Clear for AssetFileDef {
3617    fn clear(&mut self) {
3618        self.tensor_info.clear();
3619        self.filename.clear();
3620        self.unknown_fields.clear();
3621    }
3622}
3623
3624impl ::std::fmt::Debug for AssetFileDef {
3625    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3626        ::protobuf::text_format::fmt(self, f)
3627    }
3628}
3629
3630impl ::protobuf::reflect::ProtobufValue for AssetFileDef {
3631    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3632        ::protobuf::reflect::ReflectValueRef::Message(self)
3633    }
3634}
3635
3636static file_descriptor_proto_data: &'static [u8] = b"\
3637    \n)tensorflow/core/protobuf/meta_graph.proto\x12\ntensorflow\x1a\x19goog\
3638    le/protobuf/any.proto\x1a%tensorflow/core/framework/graph.proto\x1a&tens\
3639    orflow/core/framework/op_def.proto\x1a,tensorflow/core/framework/tensor_\
3640    shape.proto\x1a%tensorflow/core/framework/types.proto\x1a1tensorflow/cor\
3641    e/protobuf/saved_object_graph.proto\x1a$tensorflow/core/protobuf/saver.p\
3642    roto\x1a%tensorflow/core/protobuf/struct.proto\"\xa9\t\n\x0cMetaGraphDef\
3643    \x12H\n\rmeta_info_def\x18\x01\x20\x01(\x0b2$.tensorflow.MetaGraphDef.Me\
3644    taInfoDefR\x0bmetaInfoDef\x121\n\tgraph_def\x18\x02\x20\x01(\x0b2\x14.te\
3645    nsorflow.GraphDefR\x08graphDef\x121\n\tsaver_def\x18\x03\x20\x01(\x0b2\
3646    \x14.tensorflow.SaverDefR\x08saverDef\x12R\n\x0ecollection_def\x18\x04\
3647    \x20\x03(\x0b2+.tensorflow.MetaGraphDef.CollectionDefEntryR\rcollectionD\
3648    ef\x12O\n\rsignature_def\x18\x05\x20\x03(\x0b2*.tensorflow.MetaGraphDef.\
3649    SignatureDefEntryR\x0csignatureDef\x12>\n\x0easset_file_def\x18\x06\x20\
3650    \x03(\x0b2\x18.tensorflow.AssetFileDefR\x0cassetFileDef\x12F\n\x10object\
3651    _graph_def\x18\x07\x20\x01(\x0b2\x1c.tensorflow.SavedObjectGraphR\x0eobj\
3652    ectGraphDef\x1a\x83\x04\n\x0bMetaInfoDef\x12,\n\x12meta_graph_version\
3653    \x18\x01\x20\x01(\tR\x10metaGraphVersion\x12<\n\x10stripped_op_list\x18\
3654    \x02\x20\x01(\x0b2\x12.tensorflow.OpListR\x0estrippedOpList\x12/\n\x08an\
3655    y_info\x18\x03\x20\x01(\x0b2\x14.google.protobuf.AnyR\x07anyInfo\x12\x12\
3656    \n\x04tags\x18\x04\x20\x03(\tR\x04tags\x12-\n\x12tensorflow_version\x18\
3657    \x05\x20\x01(\tR\x11tensorflowVersion\x124\n\x16tensorflow_git_version\
3658    \x18\x06\x20\x01(\tR\x14tensorflowGitVersion\x124\n\x16stripped_default_\
3659    attrs\x18\x07\x20\x01(\x08R\x14strippedDefaultAttrs\x12d\n\x10function_a\
3660    liases\x18\x08\x20\x03(\x0b29.tensorflow.MetaGraphDef.MetaInfoDef.Functi\
3661    onAliasesEntryR\x0ffunctionAliases\x1aB\n\x14FunctionAliasesEntry\x12\
3662    \x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\
3663    \x01(\tR\x05value:\x028\x01\x1a[\n\x12CollectionDefEntry\x12\x10\n\x03ke\
3664    y\x18\x01\x20\x01(\tR\x03key\x12/\n\x05value\x18\x02\x20\x01(\x0b2\x19.t\
3665    ensorflow.CollectionDefR\x05value:\x028\x01\x1aY\n\x11SignatureDefEntry\
3666    \x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12.\n\x05value\x18\x02\x20\
3667    \x01(\x0b2\x18.tensorflow.SignatureDefR\x05value:\x028\x01\"\xb6\x04\n\r\
3668    CollectionDef\x12A\n\tnode_list\x18\x01\x20\x01(\x0b2\".tensorflow.Colle\
3669    ctionDef.NodeListH\0R\x08nodeList\x12D\n\nbytes_list\x18\x02\x20\x01(\
3670    \x0b2#.tensorflow.CollectionDef.BytesListH\0R\tbytesList\x12D\n\nint64_l\
3671    ist\x18\x03\x20\x01(\x0b2#.tensorflow.CollectionDef.Int64ListH\0R\tint64\
3672    List\x12D\n\nfloat_list\x18\x04\x20\x01(\x0b2#.tensorflow.CollectionDef.\
3673    FloatListH\0R\tfloatList\x12>\n\x08any_list\x18\x05\x20\x01(\x0b2!.tenso\
3674    rflow.CollectionDef.AnyListH\0R\x07anyList\x1a\x20\n\x08NodeList\x12\x14\
3675    \n\x05value\x18\x01\x20\x03(\tR\x05value\x1a!\n\tBytesList\x12\x14\n\x05\
3676    value\x18\x01\x20\x03(\x0cR\x05value\x1a%\n\tInt64List\x12\x18\n\x05valu\
3677    e\x18\x01\x20\x03(\x03R\x05valueB\x02\x10\x01\x1a%\n\tFloatList\x12\x18\
3678    \n\x05value\x18\x01\x20\x03(\x02R\x05valueB\x02\x10\x01\x1a5\n\x07AnyLis\
3679    t\x12*\n\x05value\x18\x01\x20\x03(\x0b2\x14.google.protobuf.AnyR\x05valu\
3680    eB\x06\n\x04kind\"\xda\x04\n\nTensorInfo\x12\x14\n\x04name\x18\x01\x20\
3681    \x01(\tH\0R\x04name\x12A\n\ncoo_sparse\x18\x04\x20\x01(\x0b2\x20.tensorf\
3682    low.TensorInfo.CooSparseH\0R\tcooSparse\x12S\n\x10composite_tensor\x18\
3683    \x05\x20\x01(\x0b2&.tensorflow.TensorInfo.CompositeTensorH\0R\x0fcomposi\
3684    teTensor\x12*\n\x05dtype\x18\x02\x20\x01(\x0e2\x14.tensorflow.DataTypeR\
3685    \x05dtype\x12?\n\x0ctensor_shape\x18\x03\x20\x01(\x0b2\x1c.tensorflow.Te\
3686    nsorShapeProtoR\x0btensorShape\x1a\xa0\x01\n\tCooSparse\x12,\n\x12values\
3687    _tensor_name\x18\x01\x20\x01(\tR\x10valuesTensorName\x12.\n\x13indices_t\
3688    ensor_name\x18\x02\x20\x01(\tR\x11indicesTensorName\x125\n\x17dense_shap\
3689    e_tensor_name\x18\x03\x20\x01(\tR\x14denseShapeTensorName\x1a\x81\x01\n\
3690    \x0fCompositeTensor\x126\n\ttype_spec\x18\x01\x20\x01(\x0b2\x19.tensorfl\
3691    ow.TypeSpecProtoR\x08typeSpec\x126\n\ncomponents\x18\x02\x20\x03(\x0b2\
3692    \x16.tensorflow.TensorInfoR\ncomponentsB\n\n\x08encoding\"\xd5\x02\n\x0c\
3693    SignatureDef\x12<\n\x06inputs\x18\x01\x20\x03(\x0b2$.tensorflow.Signatur\
3694    eDef.InputsEntryR\x06inputs\x12?\n\x07outputs\x18\x02\x20\x03(\x0b2%.ten\
3695    sorflow.SignatureDef.OutputsEntryR\x07outputs\x12\x1f\n\x0bmethod_name\
3696    \x18\x03\x20\x01(\tR\nmethodName\x1aQ\n\x0bInputsEntry\x12\x10\n\x03key\
3697    \x18\x01\x20\x01(\tR\x03key\x12,\n\x05value\x18\x02\x20\x01(\x0b2\x16.te\
3698    nsorflow.TensorInfoR\x05value:\x028\x01\x1aR\n\x0cOutputsEntry\x12\x10\n\
3699    \x03key\x18\x01\x20\x01(\tR\x03key\x12,\n\x05value\x18\x02\x20\x01(\x0b2\
3700    \x16.tensorflow.TensorInfoR\x05value:\x028\x01\"c\n\x0cAssetFileDef\x127\
3701    \n\x0btensor_info\x18\x01\x20\x01(\x0b2\x16.tensorflow.TensorInfoR\ntens\
3702    orInfo\x12\x1a\n\x08filename\x18\x02\x20\x01(\tR\x08filenameB\x87\x01\n\
3703    \x18org.tensorflow.frameworkB\x0fMetaGraphProtosP\x01ZUgithub.com/tensor\
3704    flow/tensorflow/tensorflow/go/core/protobuf/for_core_protos_go_proto\xf8\
3705    \x01\x01b\x06proto3\
3706";
3707
3708static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
3709
3710fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
3711    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
3712}
3713
3714pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
3715    file_descriptor_proto_lazy.get(|| {
3716        parse_descriptor_proto()
3717    })
3718}