1#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![cfg_attr(rustfmt, rustfmt_skip)]
9
10#![allow(box_pointers)]
11#![allow(dead_code)]
12#![allow(missing_docs)]
13#![allow(non_camel_case_types)]
14#![allow(non_snake_case)]
15#![allow(non_upper_case_globals)]
16#![allow(trivial_casts)]
17#![allow(unsafe_code)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20use protobuf::Message as Message_imported_for_functions;
23use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
24
25#[derive(PartialEq,Clone,Default)]
30pub struct OpDef {
31 pub name: ::std::string::String,
33 pub input_arg: ::protobuf::RepeatedField<OpDef_ArgDef>,
34 pub output_arg: ::protobuf::RepeatedField<OpDef_ArgDef>,
35 pub control_output: ::protobuf::RepeatedField<::std::string::String>,
36 pub attr: ::protobuf::RepeatedField<OpDef_AttrDef>,
37 pub deprecation: ::protobuf::SingularPtrField<OpDeprecation>,
38 pub summary: ::std::string::String,
39 pub description: ::std::string::String,
40 pub is_commutative: bool,
41 pub is_aggregate: bool,
42 pub is_stateful: bool,
43 pub allows_uninitialized_input: bool,
44 pub unknown_fields: ::protobuf::UnknownFields,
46 pub cached_size: ::protobuf::CachedSize,
47}
48
49impl<'a> ::std::default::Default for &'a OpDef {
50 fn default() -> &'a OpDef {
51 <OpDef as ::protobuf::Message>::default_instance()
52 }
53}
54
55impl OpDef {
56 pub fn new() -> OpDef {
57 ::std::default::Default::default()
58 }
59
60 pub fn get_name(&self) -> &str {
64 &self.name
65 }
66 pub fn clear_name(&mut self) {
67 self.name.clear();
68 }
69
70 pub fn set_name(&mut self, v: ::std::string::String) {
72 self.name = v;
73 }
74
75 pub fn mut_name(&mut self) -> &mut ::std::string::String {
78 &mut self.name
79 }
80
81 pub fn take_name(&mut self) -> ::std::string::String {
83 ::std::mem::replace(&mut self.name, ::std::string::String::new())
84 }
85
86 pub fn get_input_arg(&self) -> &[OpDef_ArgDef] {
90 &self.input_arg
91 }
92 pub fn clear_input_arg(&mut self) {
93 self.input_arg.clear();
94 }
95
96 pub fn set_input_arg(&mut self, v: ::protobuf::RepeatedField<OpDef_ArgDef>) {
98 self.input_arg = v;
99 }
100
101 pub fn mut_input_arg(&mut self) -> &mut ::protobuf::RepeatedField<OpDef_ArgDef> {
103 &mut self.input_arg
104 }
105
106 pub fn take_input_arg(&mut self) -> ::protobuf::RepeatedField<OpDef_ArgDef> {
108 ::std::mem::replace(&mut self.input_arg, ::protobuf::RepeatedField::new())
109 }
110
111 pub fn get_output_arg(&self) -> &[OpDef_ArgDef] {
115 &self.output_arg
116 }
117 pub fn clear_output_arg(&mut self) {
118 self.output_arg.clear();
119 }
120
121 pub fn set_output_arg(&mut self, v: ::protobuf::RepeatedField<OpDef_ArgDef>) {
123 self.output_arg = v;
124 }
125
126 pub fn mut_output_arg(&mut self) -> &mut ::protobuf::RepeatedField<OpDef_ArgDef> {
128 &mut self.output_arg
129 }
130
131 pub fn take_output_arg(&mut self) -> ::protobuf::RepeatedField<OpDef_ArgDef> {
133 ::std::mem::replace(&mut self.output_arg, ::protobuf::RepeatedField::new())
134 }
135
136 pub fn get_control_output(&self) -> &[::std::string::String] {
140 &self.control_output
141 }
142 pub fn clear_control_output(&mut self) {
143 self.control_output.clear();
144 }
145
146 pub fn set_control_output(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
148 self.control_output = v;
149 }
150
151 pub fn mut_control_output(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
153 &mut self.control_output
154 }
155
156 pub fn take_control_output(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
158 ::std::mem::replace(&mut self.control_output, ::protobuf::RepeatedField::new())
159 }
160
161 pub fn get_attr(&self) -> &[OpDef_AttrDef] {
165 &self.attr
166 }
167 pub fn clear_attr(&mut self) {
168 self.attr.clear();
169 }
170
171 pub fn set_attr(&mut self, v: ::protobuf::RepeatedField<OpDef_AttrDef>) {
173 self.attr = v;
174 }
175
176 pub fn mut_attr(&mut self) -> &mut ::protobuf::RepeatedField<OpDef_AttrDef> {
178 &mut self.attr
179 }
180
181 pub fn take_attr(&mut self) -> ::protobuf::RepeatedField<OpDef_AttrDef> {
183 ::std::mem::replace(&mut self.attr, ::protobuf::RepeatedField::new())
184 }
185
186 pub fn get_deprecation(&self) -> &OpDeprecation {
190 self.deprecation.as_ref().unwrap_or_else(|| OpDeprecation::default_instance())
191 }
192 pub fn clear_deprecation(&mut self) {
193 self.deprecation.clear();
194 }
195
196 pub fn has_deprecation(&self) -> bool {
197 self.deprecation.is_some()
198 }
199
200 pub fn set_deprecation(&mut self, v: OpDeprecation) {
202 self.deprecation = ::protobuf::SingularPtrField::some(v);
203 }
204
205 pub fn mut_deprecation(&mut self) -> &mut OpDeprecation {
208 if self.deprecation.is_none() {
209 self.deprecation.set_default();
210 }
211 self.deprecation.as_mut().unwrap()
212 }
213
214 pub fn take_deprecation(&mut self) -> OpDeprecation {
216 self.deprecation.take().unwrap_or_else(|| OpDeprecation::new())
217 }
218
219 pub fn get_summary(&self) -> &str {
223 &self.summary
224 }
225 pub fn clear_summary(&mut self) {
226 self.summary.clear();
227 }
228
229 pub fn set_summary(&mut self, v: ::std::string::String) {
231 self.summary = v;
232 }
233
234 pub fn mut_summary(&mut self) -> &mut ::std::string::String {
237 &mut self.summary
238 }
239
240 pub fn take_summary(&mut self) -> ::std::string::String {
242 ::std::mem::replace(&mut self.summary, ::std::string::String::new())
243 }
244
245 pub fn get_description(&self) -> &str {
249 &self.description
250 }
251 pub fn clear_description(&mut self) {
252 self.description.clear();
253 }
254
255 pub fn set_description(&mut self, v: ::std::string::String) {
257 self.description = v;
258 }
259
260 pub fn mut_description(&mut self) -> &mut ::std::string::String {
263 &mut self.description
264 }
265
266 pub fn take_description(&mut self) -> ::std::string::String {
268 ::std::mem::replace(&mut self.description, ::std::string::String::new())
269 }
270
271 pub fn get_is_commutative(&self) -> bool {
275 self.is_commutative
276 }
277 pub fn clear_is_commutative(&mut self) {
278 self.is_commutative = false;
279 }
280
281 pub fn set_is_commutative(&mut self, v: bool) {
283 self.is_commutative = v;
284 }
285
286 pub fn get_is_aggregate(&self) -> bool {
290 self.is_aggregate
291 }
292 pub fn clear_is_aggregate(&mut self) {
293 self.is_aggregate = false;
294 }
295
296 pub fn set_is_aggregate(&mut self, v: bool) {
298 self.is_aggregate = v;
299 }
300
301 pub fn get_is_stateful(&self) -> bool {
305 self.is_stateful
306 }
307 pub fn clear_is_stateful(&mut self) {
308 self.is_stateful = false;
309 }
310
311 pub fn set_is_stateful(&mut self, v: bool) {
313 self.is_stateful = v;
314 }
315
316 pub fn get_allows_uninitialized_input(&self) -> bool {
320 self.allows_uninitialized_input
321 }
322 pub fn clear_allows_uninitialized_input(&mut self) {
323 self.allows_uninitialized_input = false;
324 }
325
326 pub fn set_allows_uninitialized_input(&mut self, v: bool) {
328 self.allows_uninitialized_input = v;
329 }
330}
331
332impl ::protobuf::Message for OpDef {
333 fn is_initialized(&self) -> bool {
334 for v in &self.input_arg {
335 if !v.is_initialized() {
336 return false;
337 }
338 };
339 for v in &self.output_arg {
340 if !v.is_initialized() {
341 return false;
342 }
343 };
344 for v in &self.attr {
345 if !v.is_initialized() {
346 return false;
347 }
348 };
349 for v in &self.deprecation {
350 if !v.is_initialized() {
351 return false;
352 }
353 };
354 true
355 }
356
357 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
358 while !is.eof()? {
359 let (field_number, wire_type) = is.read_tag_unpack()?;
360 match field_number {
361 1 => {
362 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
363 },
364 2 => {
365 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.input_arg)?;
366 },
367 3 => {
368 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.output_arg)?;
369 },
370 20 => {
371 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.control_output)?;
372 },
373 4 => {
374 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.attr)?;
375 },
376 8 => {
377 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.deprecation)?;
378 },
379 5 => {
380 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.summary)?;
381 },
382 6 => {
383 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
384 },
385 18 => {
386 if wire_type != ::protobuf::wire_format::WireTypeVarint {
387 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
388 }
389 let tmp = is.read_bool()?;
390 self.is_commutative = tmp;
391 },
392 16 => {
393 if wire_type != ::protobuf::wire_format::WireTypeVarint {
394 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
395 }
396 let tmp = is.read_bool()?;
397 self.is_aggregate = tmp;
398 },
399 17 => {
400 if wire_type != ::protobuf::wire_format::WireTypeVarint {
401 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
402 }
403 let tmp = is.read_bool()?;
404 self.is_stateful = tmp;
405 },
406 19 => {
407 if wire_type != ::protobuf::wire_format::WireTypeVarint {
408 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
409 }
410 let tmp = is.read_bool()?;
411 self.allows_uninitialized_input = tmp;
412 },
413 _ => {
414 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
415 },
416 };
417 }
418 ::std::result::Result::Ok(())
419 }
420
421 #[allow(unused_variables)]
423 fn compute_size(&self) -> u32 {
424 let mut my_size = 0;
425 if !self.name.is_empty() {
426 my_size += ::protobuf::rt::string_size(1, &self.name);
427 }
428 for value in &self.input_arg {
429 let len = value.compute_size();
430 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
431 };
432 for value in &self.output_arg {
433 let len = value.compute_size();
434 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
435 };
436 for value in &self.control_output {
437 my_size += ::protobuf::rt::string_size(20, &value);
438 };
439 for value in &self.attr {
440 let len = value.compute_size();
441 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
442 };
443 if let Some(ref v) = self.deprecation.as_ref() {
444 let len = v.compute_size();
445 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
446 }
447 if !self.summary.is_empty() {
448 my_size += ::protobuf::rt::string_size(5, &self.summary);
449 }
450 if !self.description.is_empty() {
451 my_size += ::protobuf::rt::string_size(6, &self.description);
452 }
453 if self.is_commutative != false {
454 my_size += 3;
455 }
456 if self.is_aggregate != false {
457 my_size += 3;
458 }
459 if self.is_stateful != false {
460 my_size += 3;
461 }
462 if self.allows_uninitialized_input != false {
463 my_size += 3;
464 }
465 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
466 self.cached_size.set(my_size);
467 my_size
468 }
469
470 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
471 if !self.name.is_empty() {
472 os.write_string(1, &self.name)?;
473 }
474 for v in &self.input_arg {
475 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
476 os.write_raw_varint32(v.get_cached_size())?;
477 v.write_to_with_cached_sizes(os)?;
478 };
479 for v in &self.output_arg {
480 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
481 os.write_raw_varint32(v.get_cached_size())?;
482 v.write_to_with_cached_sizes(os)?;
483 };
484 for v in &self.control_output {
485 os.write_string(20, &v)?;
486 };
487 for v in &self.attr {
488 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
489 os.write_raw_varint32(v.get_cached_size())?;
490 v.write_to_with_cached_sizes(os)?;
491 };
492 if let Some(ref v) = self.deprecation.as_ref() {
493 os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
494 os.write_raw_varint32(v.get_cached_size())?;
495 v.write_to_with_cached_sizes(os)?;
496 }
497 if !self.summary.is_empty() {
498 os.write_string(5, &self.summary)?;
499 }
500 if !self.description.is_empty() {
501 os.write_string(6, &self.description)?;
502 }
503 if self.is_commutative != false {
504 os.write_bool(18, self.is_commutative)?;
505 }
506 if self.is_aggregate != false {
507 os.write_bool(16, self.is_aggregate)?;
508 }
509 if self.is_stateful != false {
510 os.write_bool(17, self.is_stateful)?;
511 }
512 if self.allows_uninitialized_input != false {
513 os.write_bool(19, self.allows_uninitialized_input)?;
514 }
515 os.write_unknown_fields(self.get_unknown_fields())?;
516 ::std::result::Result::Ok(())
517 }
518
519 fn get_cached_size(&self) -> u32 {
520 self.cached_size.get()
521 }
522
523 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
524 &self.unknown_fields
525 }
526
527 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
528 &mut self.unknown_fields
529 }
530
531 fn as_any(&self) -> &dyn (::std::any::Any) {
532 self as &dyn (::std::any::Any)
533 }
534 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
535 self as &mut dyn (::std::any::Any)
536 }
537 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
538 self
539 }
540
541 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
542 Self::descriptor_static()
543 }
544
545 fn new() -> OpDef {
546 OpDef::new()
547 }
548
549 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
550 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
551 unsafe {
552 descriptor.get(|| {
553 let mut fields = ::std::vec::Vec::new();
554 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
555 "name",
556 |m: &OpDef| { &m.name },
557 |m: &mut OpDef| { &mut m.name },
558 ));
559 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OpDef_ArgDef>>(
560 "input_arg",
561 |m: &OpDef| { &m.input_arg },
562 |m: &mut OpDef| { &mut m.input_arg },
563 ));
564 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OpDef_ArgDef>>(
565 "output_arg",
566 |m: &OpDef| { &m.output_arg },
567 |m: &mut OpDef| { &mut m.output_arg },
568 ));
569 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
570 "control_output",
571 |m: &OpDef| { &m.control_output },
572 |m: &mut OpDef| { &mut m.control_output },
573 ));
574 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OpDef_AttrDef>>(
575 "attr",
576 |m: &OpDef| { &m.attr },
577 |m: &mut OpDef| { &mut m.attr },
578 ));
579 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OpDeprecation>>(
580 "deprecation",
581 |m: &OpDef| { &m.deprecation },
582 |m: &mut OpDef| { &mut m.deprecation },
583 ));
584 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
585 "summary",
586 |m: &OpDef| { &m.summary },
587 |m: &mut OpDef| { &mut m.summary },
588 ));
589 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
590 "description",
591 |m: &OpDef| { &m.description },
592 |m: &mut OpDef| { &mut m.description },
593 ));
594 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
595 "is_commutative",
596 |m: &OpDef| { &m.is_commutative },
597 |m: &mut OpDef| { &mut m.is_commutative },
598 ));
599 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
600 "is_aggregate",
601 |m: &OpDef| { &m.is_aggregate },
602 |m: &mut OpDef| { &mut m.is_aggregate },
603 ));
604 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
605 "is_stateful",
606 |m: &OpDef| { &m.is_stateful },
607 |m: &mut OpDef| { &mut m.is_stateful },
608 ));
609 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
610 "allows_uninitialized_input",
611 |m: &OpDef| { &m.allows_uninitialized_input },
612 |m: &mut OpDef| { &mut m.allows_uninitialized_input },
613 ));
614 ::protobuf::reflect::MessageDescriptor::new_pb_name::<OpDef>(
615 "OpDef",
616 fields,
617 file_descriptor_proto()
618 )
619 })
620 }
621 }
622
623 fn default_instance() -> &'static OpDef {
624 static mut instance: ::protobuf::lazy::Lazy<OpDef> = ::protobuf::lazy::Lazy::INIT;
625 unsafe {
626 instance.get(OpDef::new)
627 }
628 }
629}
630
631impl ::protobuf::Clear for OpDef {
632 fn clear(&mut self) {
633 self.name.clear();
634 self.input_arg.clear();
635 self.output_arg.clear();
636 self.control_output.clear();
637 self.attr.clear();
638 self.deprecation.clear();
639 self.summary.clear();
640 self.description.clear();
641 self.is_commutative = false;
642 self.is_aggregate = false;
643 self.is_stateful = false;
644 self.allows_uninitialized_input = false;
645 self.unknown_fields.clear();
646 }
647}
648
649impl ::std::fmt::Debug for OpDef {
650 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
651 ::protobuf::text_format::fmt(self, f)
652 }
653}
654
655impl ::protobuf::reflect::ProtobufValue for OpDef {
656 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
657 ::protobuf::reflect::ReflectValueRef::Message(self)
658 }
659}
660
661#[derive(PartialEq,Clone,Default)]
662pub struct OpDef_ArgDef {
663 pub name: ::std::string::String,
665 pub description: ::std::string::String,
666 pub field_type: super::types::DataType,
667 pub type_attr: ::std::string::String,
668 pub number_attr: ::std::string::String,
669 pub type_list_attr: ::std::string::String,
670 pub is_ref: bool,
671 pub unknown_fields: ::protobuf::UnknownFields,
673 pub cached_size: ::protobuf::CachedSize,
674}
675
676impl<'a> ::std::default::Default for &'a OpDef_ArgDef {
677 fn default() -> &'a OpDef_ArgDef {
678 <OpDef_ArgDef as ::protobuf::Message>::default_instance()
679 }
680}
681
682impl OpDef_ArgDef {
683 pub fn new() -> OpDef_ArgDef {
684 ::std::default::Default::default()
685 }
686
687 pub fn get_name(&self) -> &str {
691 &self.name
692 }
693 pub fn clear_name(&mut self) {
694 self.name.clear();
695 }
696
697 pub fn set_name(&mut self, v: ::std::string::String) {
699 self.name = v;
700 }
701
702 pub fn mut_name(&mut self) -> &mut ::std::string::String {
705 &mut self.name
706 }
707
708 pub fn take_name(&mut self) -> ::std::string::String {
710 ::std::mem::replace(&mut self.name, ::std::string::String::new())
711 }
712
713 pub fn get_description(&self) -> &str {
717 &self.description
718 }
719 pub fn clear_description(&mut self) {
720 self.description.clear();
721 }
722
723 pub fn set_description(&mut self, v: ::std::string::String) {
725 self.description = v;
726 }
727
728 pub fn mut_description(&mut self) -> &mut ::std::string::String {
731 &mut self.description
732 }
733
734 pub fn take_description(&mut self) -> ::std::string::String {
736 ::std::mem::replace(&mut self.description, ::std::string::String::new())
737 }
738
739 pub fn get_field_type(&self) -> super::types::DataType {
743 self.field_type
744 }
745 pub fn clear_field_type(&mut self) {
746 self.field_type = super::types::DataType::DT_INVALID;
747 }
748
749 pub fn set_field_type(&mut self, v: super::types::DataType) {
751 self.field_type = v;
752 }
753
754 pub fn get_type_attr(&self) -> &str {
758 &self.type_attr
759 }
760 pub fn clear_type_attr(&mut self) {
761 self.type_attr.clear();
762 }
763
764 pub fn set_type_attr(&mut self, v: ::std::string::String) {
766 self.type_attr = v;
767 }
768
769 pub fn mut_type_attr(&mut self) -> &mut ::std::string::String {
772 &mut self.type_attr
773 }
774
775 pub fn take_type_attr(&mut self) -> ::std::string::String {
777 ::std::mem::replace(&mut self.type_attr, ::std::string::String::new())
778 }
779
780 pub fn get_number_attr(&self) -> &str {
784 &self.number_attr
785 }
786 pub fn clear_number_attr(&mut self) {
787 self.number_attr.clear();
788 }
789
790 pub fn set_number_attr(&mut self, v: ::std::string::String) {
792 self.number_attr = v;
793 }
794
795 pub fn mut_number_attr(&mut self) -> &mut ::std::string::String {
798 &mut self.number_attr
799 }
800
801 pub fn take_number_attr(&mut self) -> ::std::string::String {
803 ::std::mem::replace(&mut self.number_attr, ::std::string::String::new())
804 }
805
806 pub fn get_type_list_attr(&self) -> &str {
810 &self.type_list_attr
811 }
812 pub fn clear_type_list_attr(&mut self) {
813 self.type_list_attr.clear();
814 }
815
816 pub fn set_type_list_attr(&mut self, v: ::std::string::String) {
818 self.type_list_attr = v;
819 }
820
821 pub fn mut_type_list_attr(&mut self) -> &mut ::std::string::String {
824 &mut self.type_list_attr
825 }
826
827 pub fn take_type_list_attr(&mut self) -> ::std::string::String {
829 ::std::mem::replace(&mut self.type_list_attr, ::std::string::String::new())
830 }
831
832 pub fn get_is_ref(&self) -> bool {
836 self.is_ref
837 }
838 pub fn clear_is_ref(&mut self) {
839 self.is_ref = false;
840 }
841
842 pub fn set_is_ref(&mut self, v: bool) {
844 self.is_ref = v;
845 }
846}
847
848impl ::protobuf::Message for OpDef_ArgDef {
849 fn is_initialized(&self) -> bool {
850 true
851 }
852
853 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
854 while !is.eof()? {
855 let (field_number, wire_type) = is.read_tag_unpack()?;
856 match field_number {
857 1 => {
858 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
859 },
860 2 => {
861 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
862 },
863 3 => {
864 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 3, &mut self.unknown_fields)?
865 },
866 4 => {
867 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.type_attr)?;
868 },
869 5 => {
870 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.number_attr)?;
871 },
872 6 => {
873 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.type_list_attr)?;
874 },
875 16 => {
876 if wire_type != ::protobuf::wire_format::WireTypeVarint {
877 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
878 }
879 let tmp = is.read_bool()?;
880 self.is_ref = tmp;
881 },
882 _ => {
883 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
884 },
885 };
886 }
887 ::std::result::Result::Ok(())
888 }
889
890 #[allow(unused_variables)]
892 fn compute_size(&self) -> u32 {
893 let mut my_size = 0;
894 if !self.name.is_empty() {
895 my_size += ::protobuf::rt::string_size(1, &self.name);
896 }
897 if !self.description.is_empty() {
898 my_size += ::protobuf::rt::string_size(2, &self.description);
899 }
900 if self.field_type != super::types::DataType::DT_INVALID {
901 my_size += ::protobuf::rt::enum_size(3, self.field_type);
902 }
903 if !self.type_attr.is_empty() {
904 my_size += ::protobuf::rt::string_size(4, &self.type_attr);
905 }
906 if !self.number_attr.is_empty() {
907 my_size += ::protobuf::rt::string_size(5, &self.number_attr);
908 }
909 if !self.type_list_attr.is_empty() {
910 my_size += ::protobuf::rt::string_size(6, &self.type_list_attr);
911 }
912 if self.is_ref != false {
913 my_size += 3;
914 }
915 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
916 self.cached_size.set(my_size);
917 my_size
918 }
919
920 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
921 if !self.name.is_empty() {
922 os.write_string(1, &self.name)?;
923 }
924 if !self.description.is_empty() {
925 os.write_string(2, &self.description)?;
926 }
927 if self.field_type != super::types::DataType::DT_INVALID {
928 os.write_enum(3, self.field_type.value())?;
929 }
930 if !self.type_attr.is_empty() {
931 os.write_string(4, &self.type_attr)?;
932 }
933 if !self.number_attr.is_empty() {
934 os.write_string(5, &self.number_attr)?;
935 }
936 if !self.type_list_attr.is_empty() {
937 os.write_string(6, &self.type_list_attr)?;
938 }
939 if self.is_ref != false {
940 os.write_bool(16, self.is_ref)?;
941 }
942 os.write_unknown_fields(self.get_unknown_fields())?;
943 ::std::result::Result::Ok(())
944 }
945
946 fn get_cached_size(&self) -> u32 {
947 self.cached_size.get()
948 }
949
950 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
951 &self.unknown_fields
952 }
953
954 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
955 &mut self.unknown_fields
956 }
957
958 fn as_any(&self) -> &dyn (::std::any::Any) {
959 self as &dyn (::std::any::Any)
960 }
961 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
962 self as &mut dyn (::std::any::Any)
963 }
964 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
965 self
966 }
967
968 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
969 Self::descriptor_static()
970 }
971
972 fn new() -> OpDef_ArgDef {
973 OpDef_ArgDef::new()
974 }
975
976 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
977 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
978 unsafe {
979 descriptor.get(|| {
980 let mut fields = ::std::vec::Vec::new();
981 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
982 "name",
983 |m: &OpDef_ArgDef| { &m.name },
984 |m: &mut OpDef_ArgDef| { &mut m.name },
985 ));
986 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
987 "description",
988 |m: &OpDef_ArgDef| { &m.description },
989 |m: &mut OpDef_ArgDef| { &mut m.description },
990 ));
991 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::types::DataType>>(
992 "type",
993 |m: &OpDef_ArgDef| { &m.field_type },
994 |m: &mut OpDef_ArgDef| { &mut m.field_type },
995 ));
996 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
997 "type_attr",
998 |m: &OpDef_ArgDef| { &m.type_attr },
999 |m: &mut OpDef_ArgDef| { &mut m.type_attr },
1000 ));
1001 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1002 "number_attr",
1003 |m: &OpDef_ArgDef| { &m.number_attr },
1004 |m: &mut OpDef_ArgDef| { &mut m.number_attr },
1005 ));
1006 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1007 "type_list_attr",
1008 |m: &OpDef_ArgDef| { &m.type_list_attr },
1009 |m: &mut OpDef_ArgDef| { &mut m.type_list_attr },
1010 ));
1011 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
1012 "is_ref",
1013 |m: &OpDef_ArgDef| { &m.is_ref },
1014 |m: &mut OpDef_ArgDef| { &mut m.is_ref },
1015 ));
1016 ::protobuf::reflect::MessageDescriptor::new_pb_name::<OpDef_ArgDef>(
1017 "OpDef.ArgDef",
1018 fields,
1019 file_descriptor_proto()
1020 )
1021 })
1022 }
1023 }
1024
1025 fn default_instance() -> &'static OpDef_ArgDef {
1026 static mut instance: ::protobuf::lazy::Lazy<OpDef_ArgDef> = ::protobuf::lazy::Lazy::INIT;
1027 unsafe {
1028 instance.get(OpDef_ArgDef::new)
1029 }
1030 }
1031}
1032
1033impl ::protobuf::Clear for OpDef_ArgDef {
1034 fn clear(&mut self) {
1035 self.name.clear();
1036 self.description.clear();
1037 self.field_type = super::types::DataType::DT_INVALID;
1038 self.type_attr.clear();
1039 self.number_attr.clear();
1040 self.type_list_attr.clear();
1041 self.is_ref = false;
1042 self.unknown_fields.clear();
1043 }
1044}
1045
1046impl ::std::fmt::Debug for OpDef_ArgDef {
1047 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1048 ::protobuf::text_format::fmt(self, f)
1049 }
1050}
1051
1052impl ::protobuf::reflect::ProtobufValue for OpDef_ArgDef {
1053 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1054 ::protobuf::reflect::ReflectValueRef::Message(self)
1055 }
1056}
1057
1058#[derive(PartialEq,Clone,Default)]
1059pub struct OpDef_AttrDef {
1060 pub name: ::std::string::String,
1062 pub field_type: ::std::string::String,
1063 pub default_value: ::protobuf::SingularPtrField<super::attr_value::AttrValue>,
1064 pub description: ::std::string::String,
1065 pub has_minimum: bool,
1066 pub minimum: i64,
1067 pub allowed_values: ::protobuf::SingularPtrField<super::attr_value::AttrValue>,
1068 pub unknown_fields: ::protobuf::UnknownFields,
1070 pub cached_size: ::protobuf::CachedSize,
1071}
1072
1073impl<'a> ::std::default::Default for &'a OpDef_AttrDef {
1074 fn default() -> &'a OpDef_AttrDef {
1075 <OpDef_AttrDef as ::protobuf::Message>::default_instance()
1076 }
1077}
1078
1079impl OpDef_AttrDef {
1080 pub fn new() -> OpDef_AttrDef {
1081 ::std::default::Default::default()
1082 }
1083
1084 pub fn get_name(&self) -> &str {
1088 &self.name
1089 }
1090 pub fn clear_name(&mut self) {
1091 self.name.clear();
1092 }
1093
1094 pub fn set_name(&mut self, v: ::std::string::String) {
1096 self.name = v;
1097 }
1098
1099 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1102 &mut self.name
1103 }
1104
1105 pub fn take_name(&mut self) -> ::std::string::String {
1107 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1108 }
1109
1110 pub fn get_field_type(&self) -> &str {
1114 &self.field_type
1115 }
1116 pub fn clear_field_type(&mut self) {
1117 self.field_type.clear();
1118 }
1119
1120 pub fn set_field_type(&mut self, v: ::std::string::String) {
1122 self.field_type = v;
1123 }
1124
1125 pub fn mut_field_type(&mut self) -> &mut ::std::string::String {
1128 &mut self.field_type
1129 }
1130
1131 pub fn take_field_type(&mut self) -> ::std::string::String {
1133 ::std::mem::replace(&mut self.field_type, ::std::string::String::new())
1134 }
1135
1136 pub fn get_default_value(&self) -> &super::attr_value::AttrValue {
1140 self.default_value.as_ref().unwrap_or_else(|| super::attr_value::AttrValue::default_instance())
1141 }
1142 pub fn clear_default_value(&mut self) {
1143 self.default_value.clear();
1144 }
1145
1146 pub fn has_default_value(&self) -> bool {
1147 self.default_value.is_some()
1148 }
1149
1150 pub fn set_default_value(&mut self, v: super::attr_value::AttrValue) {
1152 self.default_value = ::protobuf::SingularPtrField::some(v);
1153 }
1154
1155 pub fn mut_default_value(&mut self) -> &mut super::attr_value::AttrValue {
1158 if self.default_value.is_none() {
1159 self.default_value.set_default();
1160 }
1161 self.default_value.as_mut().unwrap()
1162 }
1163
1164 pub fn take_default_value(&mut self) -> super::attr_value::AttrValue {
1166 self.default_value.take().unwrap_or_else(|| super::attr_value::AttrValue::new())
1167 }
1168
1169 pub fn get_description(&self) -> &str {
1173 &self.description
1174 }
1175 pub fn clear_description(&mut self) {
1176 self.description.clear();
1177 }
1178
1179 pub fn set_description(&mut self, v: ::std::string::String) {
1181 self.description = v;
1182 }
1183
1184 pub fn mut_description(&mut self) -> &mut ::std::string::String {
1187 &mut self.description
1188 }
1189
1190 pub fn take_description(&mut self) -> ::std::string::String {
1192 ::std::mem::replace(&mut self.description, ::std::string::String::new())
1193 }
1194
1195 pub fn get_has_minimum(&self) -> bool {
1199 self.has_minimum
1200 }
1201 pub fn clear_has_minimum(&mut self) {
1202 self.has_minimum = false;
1203 }
1204
1205 pub fn set_has_minimum(&mut self, v: bool) {
1207 self.has_minimum = v;
1208 }
1209
1210 pub fn get_minimum(&self) -> i64 {
1214 self.minimum
1215 }
1216 pub fn clear_minimum(&mut self) {
1217 self.minimum = 0;
1218 }
1219
1220 pub fn set_minimum(&mut self, v: i64) {
1222 self.minimum = v;
1223 }
1224
1225 pub fn get_allowed_values(&self) -> &super::attr_value::AttrValue {
1229 self.allowed_values.as_ref().unwrap_or_else(|| super::attr_value::AttrValue::default_instance())
1230 }
1231 pub fn clear_allowed_values(&mut self) {
1232 self.allowed_values.clear();
1233 }
1234
1235 pub fn has_allowed_values(&self) -> bool {
1236 self.allowed_values.is_some()
1237 }
1238
1239 pub fn set_allowed_values(&mut self, v: super::attr_value::AttrValue) {
1241 self.allowed_values = ::protobuf::SingularPtrField::some(v);
1242 }
1243
1244 pub fn mut_allowed_values(&mut self) -> &mut super::attr_value::AttrValue {
1247 if self.allowed_values.is_none() {
1248 self.allowed_values.set_default();
1249 }
1250 self.allowed_values.as_mut().unwrap()
1251 }
1252
1253 pub fn take_allowed_values(&mut self) -> super::attr_value::AttrValue {
1255 self.allowed_values.take().unwrap_or_else(|| super::attr_value::AttrValue::new())
1256 }
1257}
1258
1259impl ::protobuf::Message for OpDef_AttrDef {
1260 fn is_initialized(&self) -> bool {
1261 for v in &self.default_value {
1262 if !v.is_initialized() {
1263 return false;
1264 }
1265 };
1266 for v in &self.allowed_values {
1267 if !v.is_initialized() {
1268 return false;
1269 }
1270 };
1271 true
1272 }
1273
1274 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1275 while !is.eof()? {
1276 let (field_number, wire_type) = is.read_tag_unpack()?;
1277 match field_number {
1278 1 => {
1279 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1280 },
1281 2 => {
1282 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.field_type)?;
1283 },
1284 3 => {
1285 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.default_value)?;
1286 },
1287 4 => {
1288 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
1289 },
1290 5 => {
1291 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1292 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1293 }
1294 let tmp = is.read_bool()?;
1295 self.has_minimum = tmp;
1296 },
1297 6 => {
1298 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1299 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1300 }
1301 let tmp = is.read_int64()?;
1302 self.minimum = tmp;
1303 },
1304 7 => {
1305 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.allowed_values)?;
1306 },
1307 _ => {
1308 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1309 },
1310 };
1311 }
1312 ::std::result::Result::Ok(())
1313 }
1314
1315 #[allow(unused_variables)]
1317 fn compute_size(&self) -> u32 {
1318 let mut my_size = 0;
1319 if !self.name.is_empty() {
1320 my_size += ::protobuf::rt::string_size(1, &self.name);
1321 }
1322 if !self.field_type.is_empty() {
1323 my_size += ::protobuf::rt::string_size(2, &self.field_type);
1324 }
1325 if let Some(ref v) = self.default_value.as_ref() {
1326 let len = v.compute_size();
1327 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1328 }
1329 if !self.description.is_empty() {
1330 my_size += ::protobuf::rt::string_size(4, &self.description);
1331 }
1332 if self.has_minimum != false {
1333 my_size += 2;
1334 }
1335 if self.minimum != 0 {
1336 my_size += ::protobuf::rt::value_size(6, self.minimum, ::protobuf::wire_format::WireTypeVarint);
1337 }
1338 if let Some(ref v) = self.allowed_values.as_ref() {
1339 let len = v.compute_size();
1340 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1341 }
1342 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1343 self.cached_size.set(my_size);
1344 my_size
1345 }
1346
1347 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1348 if !self.name.is_empty() {
1349 os.write_string(1, &self.name)?;
1350 }
1351 if !self.field_type.is_empty() {
1352 os.write_string(2, &self.field_type)?;
1353 }
1354 if let Some(ref v) = self.default_value.as_ref() {
1355 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1356 os.write_raw_varint32(v.get_cached_size())?;
1357 v.write_to_with_cached_sizes(os)?;
1358 }
1359 if !self.description.is_empty() {
1360 os.write_string(4, &self.description)?;
1361 }
1362 if self.has_minimum != false {
1363 os.write_bool(5, self.has_minimum)?;
1364 }
1365 if self.minimum != 0 {
1366 os.write_int64(6, self.minimum)?;
1367 }
1368 if let Some(ref v) = self.allowed_values.as_ref() {
1369 os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1370 os.write_raw_varint32(v.get_cached_size())?;
1371 v.write_to_with_cached_sizes(os)?;
1372 }
1373 os.write_unknown_fields(self.get_unknown_fields())?;
1374 ::std::result::Result::Ok(())
1375 }
1376
1377 fn get_cached_size(&self) -> u32 {
1378 self.cached_size.get()
1379 }
1380
1381 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1382 &self.unknown_fields
1383 }
1384
1385 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1386 &mut self.unknown_fields
1387 }
1388
1389 fn as_any(&self) -> &dyn (::std::any::Any) {
1390 self as &dyn (::std::any::Any)
1391 }
1392 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1393 self as &mut dyn (::std::any::Any)
1394 }
1395 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1396 self
1397 }
1398
1399 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1400 Self::descriptor_static()
1401 }
1402
1403 fn new() -> OpDef_AttrDef {
1404 OpDef_AttrDef::new()
1405 }
1406
1407 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1408 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
1409 unsafe {
1410 descriptor.get(|| {
1411 let mut fields = ::std::vec::Vec::new();
1412 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1413 "name",
1414 |m: &OpDef_AttrDef| { &m.name },
1415 |m: &mut OpDef_AttrDef| { &mut m.name },
1416 ));
1417 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1418 "type",
1419 |m: &OpDef_AttrDef| { &m.field_type },
1420 |m: &mut OpDef_AttrDef| { &mut m.field_type },
1421 ));
1422 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::attr_value::AttrValue>>(
1423 "default_value",
1424 |m: &OpDef_AttrDef| { &m.default_value },
1425 |m: &mut OpDef_AttrDef| { &mut m.default_value },
1426 ));
1427 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1428 "description",
1429 |m: &OpDef_AttrDef| { &m.description },
1430 |m: &mut OpDef_AttrDef| { &mut m.description },
1431 ));
1432 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
1433 "has_minimum",
1434 |m: &OpDef_AttrDef| { &m.has_minimum },
1435 |m: &mut OpDef_AttrDef| { &mut m.has_minimum },
1436 ));
1437 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1438 "minimum",
1439 |m: &OpDef_AttrDef| { &m.minimum },
1440 |m: &mut OpDef_AttrDef| { &mut m.minimum },
1441 ));
1442 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::attr_value::AttrValue>>(
1443 "allowed_values",
1444 |m: &OpDef_AttrDef| { &m.allowed_values },
1445 |m: &mut OpDef_AttrDef| { &mut m.allowed_values },
1446 ));
1447 ::protobuf::reflect::MessageDescriptor::new_pb_name::<OpDef_AttrDef>(
1448 "OpDef.AttrDef",
1449 fields,
1450 file_descriptor_proto()
1451 )
1452 })
1453 }
1454 }
1455
1456 fn default_instance() -> &'static OpDef_AttrDef {
1457 static mut instance: ::protobuf::lazy::Lazy<OpDef_AttrDef> = ::protobuf::lazy::Lazy::INIT;
1458 unsafe {
1459 instance.get(OpDef_AttrDef::new)
1460 }
1461 }
1462}
1463
1464impl ::protobuf::Clear for OpDef_AttrDef {
1465 fn clear(&mut self) {
1466 self.name.clear();
1467 self.field_type.clear();
1468 self.default_value.clear();
1469 self.description.clear();
1470 self.has_minimum = false;
1471 self.minimum = 0;
1472 self.allowed_values.clear();
1473 self.unknown_fields.clear();
1474 }
1475}
1476
1477impl ::std::fmt::Debug for OpDef_AttrDef {
1478 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1479 ::protobuf::text_format::fmt(self, f)
1480 }
1481}
1482
1483impl ::protobuf::reflect::ProtobufValue for OpDef_AttrDef {
1484 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1485 ::protobuf::reflect::ReflectValueRef::Message(self)
1486 }
1487}
1488
1489#[derive(PartialEq,Clone,Default)]
1490pub struct OpDeprecation {
1491 pub version: i32,
1493 pub explanation: ::std::string::String,
1494 pub unknown_fields: ::protobuf::UnknownFields,
1496 pub cached_size: ::protobuf::CachedSize,
1497}
1498
1499impl<'a> ::std::default::Default for &'a OpDeprecation {
1500 fn default() -> &'a OpDeprecation {
1501 <OpDeprecation as ::protobuf::Message>::default_instance()
1502 }
1503}
1504
1505impl OpDeprecation {
1506 pub fn new() -> OpDeprecation {
1507 ::std::default::Default::default()
1508 }
1509
1510 pub fn get_version(&self) -> i32 {
1514 self.version
1515 }
1516 pub fn clear_version(&mut self) {
1517 self.version = 0;
1518 }
1519
1520 pub fn set_version(&mut self, v: i32) {
1522 self.version = v;
1523 }
1524
1525 pub fn get_explanation(&self) -> &str {
1529 &self.explanation
1530 }
1531 pub fn clear_explanation(&mut self) {
1532 self.explanation.clear();
1533 }
1534
1535 pub fn set_explanation(&mut self, v: ::std::string::String) {
1537 self.explanation = v;
1538 }
1539
1540 pub fn mut_explanation(&mut self) -> &mut ::std::string::String {
1543 &mut self.explanation
1544 }
1545
1546 pub fn take_explanation(&mut self) -> ::std::string::String {
1548 ::std::mem::replace(&mut self.explanation, ::std::string::String::new())
1549 }
1550}
1551
1552impl ::protobuf::Message for OpDeprecation {
1553 fn is_initialized(&self) -> bool {
1554 true
1555 }
1556
1557 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1558 while !is.eof()? {
1559 let (field_number, wire_type) = is.read_tag_unpack()?;
1560 match field_number {
1561 1 => {
1562 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1563 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1564 }
1565 let tmp = is.read_int32()?;
1566 self.version = tmp;
1567 },
1568 2 => {
1569 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.explanation)?;
1570 },
1571 _ => {
1572 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1573 },
1574 };
1575 }
1576 ::std::result::Result::Ok(())
1577 }
1578
1579 #[allow(unused_variables)]
1581 fn compute_size(&self) -> u32 {
1582 let mut my_size = 0;
1583 if self.version != 0 {
1584 my_size += ::protobuf::rt::value_size(1, self.version, ::protobuf::wire_format::WireTypeVarint);
1585 }
1586 if !self.explanation.is_empty() {
1587 my_size += ::protobuf::rt::string_size(2, &self.explanation);
1588 }
1589 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1590 self.cached_size.set(my_size);
1591 my_size
1592 }
1593
1594 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1595 if self.version != 0 {
1596 os.write_int32(1, self.version)?;
1597 }
1598 if !self.explanation.is_empty() {
1599 os.write_string(2, &self.explanation)?;
1600 }
1601 os.write_unknown_fields(self.get_unknown_fields())?;
1602 ::std::result::Result::Ok(())
1603 }
1604
1605 fn get_cached_size(&self) -> u32 {
1606 self.cached_size.get()
1607 }
1608
1609 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1610 &self.unknown_fields
1611 }
1612
1613 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1614 &mut self.unknown_fields
1615 }
1616
1617 fn as_any(&self) -> &dyn (::std::any::Any) {
1618 self as &dyn (::std::any::Any)
1619 }
1620 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1621 self as &mut dyn (::std::any::Any)
1622 }
1623 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1624 self
1625 }
1626
1627 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1628 Self::descriptor_static()
1629 }
1630
1631 fn new() -> OpDeprecation {
1632 OpDeprecation::new()
1633 }
1634
1635 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1636 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
1637 unsafe {
1638 descriptor.get(|| {
1639 let mut fields = ::std::vec::Vec::new();
1640 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1641 "version",
1642 |m: &OpDeprecation| { &m.version },
1643 |m: &mut OpDeprecation| { &mut m.version },
1644 ));
1645 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1646 "explanation",
1647 |m: &OpDeprecation| { &m.explanation },
1648 |m: &mut OpDeprecation| { &mut m.explanation },
1649 ));
1650 ::protobuf::reflect::MessageDescriptor::new_pb_name::<OpDeprecation>(
1651 "OpDeprecation",
1652 fields,
1653 file_descriptor_proto()
1654 )
1655 })
1656 }
1657 }
1658
1659 fn default_instance() -> &'static OpDeprecation {
1660 static mut instance: ::protobuf::lazy::Lazy<OpDeprecation> = ::protobuf::lazy::Lazy::INIT;
1661 unsafe {
1662 instance.get(OpDeprecation::new)
1663 }
1664 }
1665}
1666
1667impl ::protobuf::Clear for OpDeprecation {
1668 fn clear(&mut self) {
1669 self.version = 0;
1670 self.explanation.clear();
1671 self.unknown_fields.clear();
1672 }
1673}
1674
1675impl ::std::fmt::Debug for OpDeprecation {
1676 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1677 ::protobuf::text_format::fmt(self, f)
1678 }
1679}
1680
1681impl ::protobuf::reflect::ProtobufValue for OpDeprecation {
1682 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1683 ::protobuf::reflect::ReflectValueRef::Message(self)
1684 }
1685}
1686
1687#[derive(PartialEq,Clone,Default)]
1688pub struct OpList {
1689 pub op: ::protobuf::RepeatedField<OpDef>,
1691 pub unknown_fields: ::protobuf::UnknownFields,
1693 pub cached_size: ::protobuf::CachedSize,
1694}
1695
1696impl<'a> ::std::default::Default for &'a OpList {
1697 fn default() -> &'a OpList {
1698 <OpList as ::protobuf::Message>::default_instance()
1699 }
1700}
1701
1702impl OpList {
1703 pub fn new() -> OpList {
1704 ::std::default::Default::default()
1705 }
1706
1707 pub fn get_op(&self) -> &[OpDef] {
1711 &self.op
1712 }
1713 pub fn clear_op(&mut self) {
1714 self.op.clear();
1715 }
1716
1717 pub fn set_op(&mut self, v: ::protobuf::RepeatedField<OpDef>) {
1719 self.op = v;
1720 }
1721
1722 pub fn mut_op(&mut self) -> &mut ::protobuf::RepeatedField<OpDef> {
1724 &mut self.op
1725 }
1726
1727 pub fn take_op(&mut self) -> ::protobuf::RepeatedField<OpDef> {
1729 ::std::mem::replace(&mut self.op, ::protobuf::RepeatedField::new())
1730 }
1731}
1732
1733impl ::protobuf::Message for OpList {
1734 fn is_initialized(&self) -> bool {
1735 for v in &self.op {
1736 if !v.is_initialized() {
1737 return false;
1738 }
1739 };
1740 true
1741 }
1742
1743 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1744 while !is.eof()? {
1745 let (field_number, wire_type) = is.read_tag_unpack()?;
1746 match field_number {
1747 1 => {
1748 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.op)?;
1749 },
1750 _ => {
1751 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1752 },
1753 };
1754 }
1755 ::std::result::Result::Ok(())
1756 }
1757
1758 #[allow(unused_variables)]
1760 fn compute_size(&self) -> u32 {
1761 let mut my_size = 0;
1762 for value in &self.op {
1763 let len = value.compute_size();
1764 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1765 };
1766 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1767 self.cached_size.set(my_size);
1768 my_size
1769 }
1770
1771 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1772 for v in &self.op {
1773 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1774 os.write_raw_varint32(v.get_cached_size())?;
1775 v.write_to_with_cached_sizes(os)?;
1776 };
1777 os.write_unknown_fields(self.get_unknown_fields())?;
1778 ::std::result::Result::Ok(())
1779 }
1780
1781 fn get_cached_size(&self) -> u32 {
1782 self.cached_size.get()
1783 }
1784
1785 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1786 &self.unknown_fields
1787 }
1788
1789 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1790 &mut self.unknown_fields
1791 }
1792
1793 fn as_any(&self) -> &dyn (::std::any::Any) {
1794 self as &dyn (::std::any::Any)
1795 }
1796 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1797 self as &mut dyn (::std::any::Any)
1798 }
1799 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1800 self
1801 }
1802
1803 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1804 Self::descriptor_static()
1805 }
1806
1807 fn new() -> OpList {
1808 OpList::new()
1809 }
1810
1811 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1812 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
1813 unsafe {
1814 descriptor.get(|| {
1815 let mut fields = ::std::vec::Vec::new();
1816 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OpDef>>(
1817 "op",
1818 |m: &OpList| { &m.op },
1819 |m: &mut OpList| { &mut m.op },
1820 ));
1821 ::protobuf::reflect::MessageDescriptor::new_pb_name::<OpList>(
1822 "OpList",
1823 fields,
1824 file_descriptor_proto()
1825 )
1826 })
1827 }
1828 }
1829
1830 fn default_instance() -> &'static OpList {
1831 static mut instance: ::protobuf::lazy::Lazy<OpList> = ::protobuf::lazy::Lazy::INIT;
1832 unsafe {
1833 instance.get(OpList::new)
1834 }
1835 }
1836}
1837
1838impl ::protobuf::Clear for OpList {
1839 fn clear(&mut self) {
1840 self.op.clear();
1841 self.unknown_fields.clear();
1842 }
1843}
1844
1845impl ::std::fmt::Debug for OpList {
1846 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1847 ::protobuf::text_format::fmt(self, f)
1848 }
1849}
1850
1851impl ::protobuf::reflect::ProtobufValue for OpList {
1852 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1853 ::protobuf::reflect::ReflectValueRef::Message(self)
1854 }
1855}
1856
1857static file_descriptor_proto_data: &'static [u8] = b"\
1858 \n&tensorflow/core/framework/op_def.proto\x12\ntensorflow\x1a*tensorflow\
1859 /core/framework/attr_value.proto\x1a%tensorflow/core/framework/types.pro\
1860 to\"\xf4\x07\n\x05OpDef\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\
1861 \x125\n\tinput_arg\x18\x02\x20\x03(\x0b2\x18.tensorflow.OpDef.ArgDefR\
1862 \x08inputArg\x127\n\noutput_arg\x18\x03\x20\x03(\x0b2\x18.tensorflow.OpD\
1863 ef.ArgDefR\toutputArg\x12%\n\x0econtrol_output\x18\x14\x20\x03(\tR\rcont\
1864 rolOutput\x12-\n\x04attr\x18\x04\x20\x03(\x0b2\x19.tensorflow.OpDef.Attr\
1865 DefR\x04attr\x12;\n\x0bdeprecation\x18\x08\x20\x01(\x0b2\x19.tensorflow.\
1866 OpDeprecationR\x0bdeprecation\x12\x18\n\x07summary\x18\x05\x20\x01(\tR\
1867 \x07summary\x12\x20\n\x0bdescription\x18\x06\x20\x01(\tR\x0bdescription\
1868 \x12%\n\x0eis_commutative\x18\x12\x20\x01(\x08R\risCommutative\x12!\n\
1869 \x0cis_aggregate\x18\x10\x20\x01(\x08R\x0bisAggregate\x12\x1f\n\x0bis_st\
1870 ateful\x18\x11\x20\x01(\x08R\nisStateful\x12<\n\x1aallows_uninitialized_\
1871 input\x18\x13\x20\x01(\x08R\x18allowsUninitializedInput\x1a\xe3\x01\n\
1872 \x06ArgDef\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x20\n\x0bde\
1873 scription\x18\x02\x20\x01(\tR\x0bdescription\x12(\n\x04type\x18\x03\x20\
1874 \x01(\x0e2\x14.tensorflow.DataTypeR\x04type\x12\x1b\n\ttype_attr\x18\x04\
1875 \x20\x01(\tR\x08typeAttr\x12\x1f\n\x0bnumber_attr\x18\x05\x20\x01(\tR\nn\
1876 umberAttr\x12$\n\x0etype_list_attr\x18\x06\x20\x01(\tR\x0ctypeListAttr\
1877 \x12\x15\n\x06is_ref\x18\x10\x20\x01(\x08R\x05isRef\x1a\x88\x02\n\x07Att\
1878 rDef\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x12\n\x04type\x18\
1879 \x02\x20\x01(\tR\x04type\x12:\n\rdefault_value\x18\x03\x20\x01(\x0b2\x15\
1880 .tensorflow.AttrValueR\x0cdefaultValue\x12\x20\n\x0bdescription\x18\x04\
1881 \x20\x01(\tR\x0bdescription\x12\x1f\n\x0bhas_minimum\x18\x05\x20\x01(\
1882 \x08R\nhasMinimum\x12\x18\n\x07minimum\x18\x06\x20\x01(\x03R\x07minimum\
1883 \x12<\n\x0eallowed_values\x18\x07\x20\x01(\x0b2\x15.tensorflow.AttrValue\
1884 R\rallowedValues\"K\n\rOpDeprecation\x12\x18\n\x07version\x18\x01\x20\
1885 \x01(\x05R\x07version\x12\x20\n\x0bexplanation\x18\x02\x20\x01(\tR\x0bex\
1886 planation\"+\n\x06OpList\x12!\n\x02op\x18\x01\x20\x03(\x0b2\x11.tensorfl\
1887 ow.OpDefR\x02opB{\n\x18org.tensorflow.frameworkB\x0bOpDefProtosP\x01ZMgi\
1888 thub.com/tensorflow/tensorflow/tensorflow/go/core/framework/op_def_go_pr\
1889 oto\xf8\x01\x01J\x948\n\x07\x12\x05\0\0\xa9\x01\x02\n\x08\n\x01\x0c\x12\
1890 \x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x02\0\x13\n\x08\n\x01\x08\x12\x03\
1891 \x03\0\x1f\n\t\n\x02\x08\x1f\x12\x03\x03\0\x1f\n\x08\n\x01\x08\x12\x03\
1892 \x04\0,\n\t\n\x02\x08\x08\x12\x03\x04\0,\n\x08\n\x01\x08\x12\x03\x05\0\"\
1893 \n\t\n\x02\x08\n\x12\x03\x05\0\"\n\x08\n\x01\x08\x12\x03\x06\01\n\t\n\
1894 \x02\x08\x01\x12\x03\x06\01\n\x08\n\x01\x08\x12\x03\x07\0d\n\t\n\x02\x08\
1895 \x0b\x12\x03\x07\0d\n\t\n\x02\x03\0\x12\x03\x08\04\n\t\n\x02\x03\x01\x12\
1896 \x03\t\0/\n\x9d\x01\n\x02\x04\0\x12\x05\x0e\0\x99\x01\x01\x1a\x8f\x01\
1897 \x20Defines\x20an\x20operation.\x20A\x20NodeDef\x20in\x20a\x20GraphDef\
1898 \x20specifies\x20an\x20Op\x20by\n\x20using\x20the\x20\"op\"\x20field\x20\
1899 which\x20should\x20match\x20the\x20name\x20of\x20a\x20OpDef.\n\x20LINT.I\
1900 fChange\n\n\n\n\x03\x04\0\x01\x12\x03\x0e\x08\r\n\x9a\x01\n\x04\x04\0\
1901 \x02\0\x12\x03\x11\x02\x12\x1a\x8c\x01\x20Op\x20names\x20starting\x20wit\
1902 h\x20an\x20underscore\x20are\x20reserved\x20for\x20internal\x20use.\n\
1903 \x20Names\x20should\x20be\x20CamelCase\x20and\x20match\x20the\x20regexp\
1904 \x20\"[A-Z][a-zA-Z0-9>_]*\".\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x11\
1905 \x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x11\t\r\n\x0c\n\x05\x04\0\
1906 \x02\0\x03\x12\x03\x11\x10\x11\n2\n\x04\x04\0\x03\0\x12\x04\x14\x020\x03\
1907 \x1a$\x20For\x20describing\x20inputs\x20and\x20outputs.\n\n\x0c\n\x05\
1908 \x04\0\x03\0\x01\x12\x03\x14\n\x10\nW\n\x06\x04\0\x03\0\x02\0\x12\x03\
1909 \x16\x04\x14\x1aH\x20Name\x20for\x20the\x20input/output.\x20\x20Should\
1910 \x20match\x20the\x20regexp\x20\"[a-z][a-z0-9_]*\".\n\n\x0e\n\x07\x04\0\
1911 \x03\0\x02\0\x05\x12\x03\x16\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\0\x01\x12\
1912 \x03\x16\x0b\x0f\n\x0e\n\x07\x04\0\x03\0\x02\0\x03\x12\x03\x16\x12\x13\n\
1913 ,\n\x06\x04\0\x03\0\x02\x01\x12\x03\x19\x04\x1b\x1a\x1d\x20Human\x20read\
1914 able\x20description.\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x05\x12\x03\x19\
1915 \x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x01\x12\x03\x19\x0b\x16\n\x0e\n\
1916 \x07\x04\0\x03\0\x02\x01\x03\x12\x03\x19\x19\x1a\n\xe1\x04\n\x06\x04\0\
1917 \x03\0\x02\x02\x12\x03%\x04\x16\x1a\xd1\x04\x20Describes\x20the\x20type\
1918 \x20of\x20one\x20or\x20more\x20tensors\x20that\x20are\x20accepted/produc\
1919 ed\n\x20by\x20this\x20input/output\x20arg.\x20\x20The\x20only\x20legal\
1920 \x20combinations\x20are:\n\x20*\x20For\x20a\x20single\x20tensor:\x20eith\
1921 er\x20the\x20\"type\"\x20field\x20is\x20set\x20or\x20the\n\x20\x20\x20\"\
1922 type_attr\"\x20field\x20is\x20set\x20to\x20the\x20name\x20of\x20an\x20at\
1923 tr\x20with\x20type\x20\"type\".\n\x20*\x20For\x20a\x20sequence\x20of\x20\
1924 tensors\x20with\x20the\x20same\x20type:\x20the\x20\"number_attr\"\n\x20\
1925 \x20\x20field\x20will\x20be\x20set\x20to\x20the\x20name\x20of\x20an\x20a\
1926 ttr\x20with\x20type\x20\"int\",\x20and\n\x20\x20\x20either\x20the\x20\"t\
1927 ype\"\x20or\x20\"type_attr\"\x20field\x20will\x20be\x20set\x20as\x20for\
1928 \n\x20\x20\x20single\x20tensors.\n\x20*\x20For\x20a\x20sequence\x20of\
1929 \x20tensors,\x20the\x20\"type_list_attr\"\x20field\x20will\x20be\x20set\
1930 \n\x20\x20\x20to\x20the\x20name\x20of\x20an\x20attr\x20with\x20type\x20\
1931 \"list(type)\".\n\n\x0e\n\x07\x04\0\x03\0\x02\x02\x06\x12\x03%\x04\x0c\n\
1932 \x0e\n\x07\x04\0\x03\0\x02\x02\x01\x12\x03%\r\x11\n\x0e\n\x07\x04\0\x03\
1933 \0\x02\x02\x03\x12\x03%\x14\x15\n9\n\x06\x04\0\x03\0\x02\x03\x12\x03&\
1934 \x04\x19\"*\x20if\x20specified,\x20attr\x20must\x20have\x20type\x20\"typ\
1935 e\"\n\n\x0e\n\x07\x04\0\x03\0\x02\x03\x05\x12\x03&\x04\n\n\x0e\n\x07\x04\
1936 \0\x03\0\x02\x03\x01\x12\x03&\x0b\x14\n\x0e\n\x07\x04\0\x03\0\x02\x03\
1937 \x03\x12\x03&\x17\x18\n8\n\x06\x04\0\x03\0\x02\x04\x12\x03'\x04\x1b\")\
1938 \x20if\x20specified,\x20attr\x20must\x20have\x20type\x20\"int\"\n\n\x0e\
1939 \n\x07\x04\0\x03\0\x02\x04\x05\x12\x03'\x04\n\n\x0e\n\x07\x04\0\x03\0\
1940 \x02\x04\x01\x12\x03'\x0b\x16\n\x0e\n\x07\x04\0\x03\0\x02\x04\x03\x12\
1941 \x03'\x19\x1a\n\x80\x01\n\x06\x04\0\x03\0\x02\x05\x12\x03*\x04\x1e\x1aq\
1942 \x20If\x20specified,\x20attr\x20must\x20have\x20type\x20\"list(type)\",\
1943 \x20and\x20none\x20of\n\x20type,\x20type_attr,\x20and\x20number_attr\x20\
1944 may\x20be\x20specified.\n\n\x0e\n\x07\x04\0\x03\0\x02\x05\x05\x12\x03*\
1945 \x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x05\x01\x12\x03*\x0b\x19\n\x0e\n\x07\
1946 \x04\0\x03\0\x02\x05\x03\x12\x03*\x1c\x1d\n\xc1\x01\n\x06\x04\0\x03\0\
1947 \x02\x06\x12\x03/\x04\x15\x1a\xb1\x01\x20For\x20inputs:\x20if\x20true,\
1948 \x20the\x20inputs\x20are\x20required\x20to\x20be\x20refs.\n\x20\x20\x20B\
1949 y\x20default,\x20inputs\x20can\x20be\x20either\x20refs\x20or\x20non-refs\
1950 .\n\x20For\x20outputs:\x20if\x20true,\x20outputs\x20are\x20refs,\x20othe\
1951 rwise\x20they\x20are\x20not.\n\n\x0e\n\x07\x04\0\x03\0\x02\x06\x05\x12\
1952 \x03/\x04\x08\n\x0e\n\x07\x04\0\x03\0\x02\x06\x01\x12\x03/\t\x0f\n\x0e\n\
1953 \x07\x04\0\x03\0\x02\x06\x03\x12\x03/\x12\x14\n+\n\x04\x04\0\x02\x01\x12\
1954 \x033\x02\x20\x1a\x1e\x20Description\x20of\x20the\x20input(s).\n\n\x0c\n\
1955 \x05\x04\0\x02\x01\x04\x12\x033\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\
1956 \x033\x0b\x11\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x033\x12\x1b\n\x0c\n\x05\
1957 \x04\0\x02\x01\x03\x12\x033\x1e\x1f\n,\n\x04\x04\0\x02\x02\x12\x036\x02!\
1958 \x1a\x1f\x20Description\x20of\x20the\x20output(s).\n\n\x0c\n\x05\x04\0\
1959 \x02\x02\x04\x12\x036\x02\n\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x036\x0b\
1960 \x11\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x036\x12\x1c\n\x0c\n\x05\x04\0\
1961 \x02\x02\x03\x12\x036\x1f\x20\n\x9e\x01\n\x04\x04\0\x02\x03\x12\x03:\x02\
1962 &\x1a\x90\x01\x20Named\x20control\x20outputs\x20for\x20this\x20operation\
1963 .\x20Useful\x20only\x20for\x20composite\n\x20operations\x20(i.e.\x20func\
1964 tions)\x20which\x20want\x20to\x20name\x20different\x20control\x20outputs\
1965 .\n\n\x0c\n\x05\x04\0\x02\x03\x04\x12\x03:\x02\n\n\x0c\n\x05\x04\0\x02\
1966 \x03\x05\x12\x03:\x0b\x11\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03:\x12\x20\
1967 \n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03:#%\n\xae\x01\n\x04\x04\0\x03\x01\
1968 \x12\x04?\x02b\x03\x1a\x9f\x01\x20Description\x20of\x20the\x20graph-cons\
1969 truction-time\x20configuration\x20of\x20this\n\x20Op.\x20\x20That\x20is\
1970 \x20to\x20say,\x20this\x20describes\x20the\x20attr\x20fields\x20that\x20\
1971 will\n\x20be\x20specified\x20in\x20the\x20NodeDef.\n\n\x0c\n\x05\x04\0\
1972 \x03\x01\x01\x12\x03?\n\x11\n\xaf\x01\n\x06\x04\0\x03\x01\x02\0\x12\x03C\
1973 \x04\x14\x1a\x9f\x01\x20A\x20descriptive\x20name\x20for\x20the\x20argume\
1974 nt.\x20\x20May\x20be\x20used,\x20e.g.\x20by\x20the\n\x20Python\x20client\
1975 ,\x20as\x20a\x20keyword\x20argument\x20name,\x20and\x20so\x20should\x20m\
1976 atch\n\x20the\x20regexp\x20\"[a-z][a-z0-9_]+\".\n\n\x0e\n\x07\x04\0\x03\
1977 \x01\x02\0\x05\x12\x03C\x04\n\n\x0e\n\x07\x04\0\x03\x01\x02\0\x01\x12\
1978 \x03C\x0b\x0f\n\x0e\n\x07\x04\0\x03\x01\x02\0\x03\x12\x03C\x12\x13\nf\n\
1979 \x06\x04\0\x03\x01\x02\x01\x12\x03G\x04\x14\x1aW\x20One\x20of\x20the\x20\
1980 type\x20names\x20from\x20attr_value.proto\x20(\"string\",\x20\"list(stri\
1981 ng)\",\n\x20\"int\",\x20etc.).\n\n\x0e\n\x07\x04\0\x03\x01\x02\x01\x05\
1982 \x12\x03G\x04\n\n\x0e\n\x07\x04\0\x03\x01\x02\x01\x01\x12\x03G\x0b\x0f\n\
1983 \x0e\n\x07\x04\0\x03\x01\x02\x01\x03\x12\x03G\x12\x13\n\x90\x01\n\x06\
1984 \x04\0\x03\x01\x02\x02\x12\x03K\x04\x20\x1a\x80\x01\x20A\x20reasonable\
1985 \x20default\x20for\x20this\x20attribute\x20if\x20the\x20user\x20does\x20\
1986 not\x20supply\n\x20a\x20value.\x20\x20If\x20not\x20specified,\x20the\x20\
1987 user\x20must\x20supply\x20a\x20value.\n\n\x0e\n\x07\x04\0\x03\x01\x02\
1988 \x02\x06\x12\x03K\x04\r\n\x0e\n\x07\x04\0\x03\x01\x02\x02\x01\x12\x03K\
1989 \x0e\x1b\n\x0e\n\x07\x04\0\x03\x01\x02\x02\x03\x12\x03K\x1e\x1f\n,\n\x06\
1990 \x04\0\x03\x01\x02\x03\x12\x03N\x04\x1b\x1a\x1d\x20Human-readable\x20des\
1991 cription.\n\n\x0e\n\x07\x04\0\x03\x01\x02\x03\x05\x12\x03N\x04\n\n\x0e\n\
1992 \x07\x04\0\x03\x01\x02\x03\x01\x12\x03N\x0b\x16\n\x0e\n\x07\x04\0\x03\
1993 \x01\x02\x03\x03\x12\x03N\x19\x1a\n\xfd\x01\n\x06\x04\0\x03\x01\x02\x04\
1994 \x12\x03X\x04\x19\x1ab\x20For\x20type\x20==\x20\"int\",\x20this\x20is\
1995 \x20a\x20minimum\x20value.\x20\x20For\x20\"list(___)\"\n\x20types,\x20th\
1996 is\x20is\x20the\x20minimum\x20length.\n2\"\x20TODO(josh11b):\x20bool\x20\
1997 is_optional?\n2f\x20---\x20Constraints\x20---\n\x20These\x20constraints\
1998 \x20are\x20only\x20in\x20effect\x20if\x20specified.\x20\x20Default\x20is\
1999 \x20no\n\x20constraints.\n\n\x0e\n\x07\x04\0\x03\x01\x02\x04\x05\x12\x03\
2000 X\x04\x08\n\x0e\n\x07\x04\0\x03\x01\x02\x04\x01\x12\x03X\t\x14\n\x0e\n\
2001 \x07\x04\0\x03\x01\x02\x04\x03\x12\x03X\x17\x18\n\r\n\x06\x04\0\x03\x01\
2002 \x02\x05\x12\x03Y\x04\x16\n\x0e\n\x07\x04\0\x03\x01\x02\x05\x05\x12\x03Y\
2003 \x04\t\n\x0e\n\x07\x04\0\x03\x01\x02\x05\x01\x12\x03Y\n\x11\n\x0e\n\x07\
2004 \x04\0\x03\x01\x02\x05\x03\x12\x03Y\x14\x15\n\x83\x03\n\x06\x04\0\x03\
2005 \x01\x02\x06\x12\x03a\x04!\x1a\xf3\x02\x20The\x20set\x20of\x20allowed\
2006 \x20values.\x20\x20Has\x20type\x20that\x20is\x20the\x20\"list\"\x20versi\
2007 on\n\x20of\x20the\x20\"type\"\x20field\x20above\x20(uses\x20the\x20\"lis\
2008 t\"\x20field\x20of\x20AttrValue).\n\x20If\x20type\x20==\x20\"type\"\x20o\
2009 r\x20\"list(type)\"\x20above,\x20then\x20the\x20\"type\"\x20field\n\x20o\
2010 f\x20\"allowed_values.list\"\x20has\x20the\x20set\x20of\x20allowed\x20Da\
2011 taTypes.\n\x20If\x20type\x20==\x20\"string\"\x20or\x20\"list(string)\",\
2012 \x20then\x20the\x20\"s\"\x20field\x20of\n\x20\"allowed_values.list\"\x20\
2013 has\x20the\x20set\x20of\x20allowed\x20strings.\n\n\x0e\n\x07\x04\0\x03\
2014 \x01\x02\x06\x06\x12\x03a\x04\r\n\x0e\n\x07\x04\0\x03\x01\x02\x06\x01\
2015 \x12\x03a\x0e\x1c\n\x0e\n\x07\x04\0\x03\x01\x02\x06\x03\x12\x03a\x1f\x20\
2016 \n\x0b\n\x04\x04\0\x02\x04\x12\x03c\x02\x1c\n\x0c\n\x05\x04\0\x02\x04\
2017 \x04\x12\x03c\x02\n\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03c\x0b\x12\n\x0c\
2018 \n\x05\x04\0\x02\x04\x01\x12\x03c\x13\x17\n\x0c\n\x05\x04\0\x02\x04\x03\
2019 \x12\x03c\x1a\x1b\n?\n\x04\x04\0\x02\x05\x12\x03f\x02\x20\x1a2\x20Option\
2020 al\x20deprecation\x20based\x20on\x20GraphDef\x20versions.\n\n\x0c\n\x05\
2021 \x04\0\x02\x05\x06\x12\x03f\x02\x0f\n\x0c\n\x05\x04\0\x02\x05\x01\x12\
2022 \x03f\x10\x1b\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03f\x1e\x1f\nG\n\x04\
2023 \x04\0\x02\x06\x12\x03i\x02\x15\x1a:\x20One-line\x20human-readable\x20de\
2024 scription\x20of\x20what\x20the\x20Op\x20does.\n\n\x0c\n\x05\x04\0\x02\
2025 \x06\x05\x12\x03i\x02\x08\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03i\t\x10\n\
2026 \x0c\n\x05\x04\0\x02\x06\x03\x12\x03i\x13\x14\nQ\n\x04\x04\0\x02\x07\x12\
2027 \x03l\x02\x19\x1aD\x20Additional,\x20longer\x20human-readable\x20descrip\
2028 tion\x20of\x20what\x20the\x20Op\x20does.\n\n\x0c\n\x05\x04\0\x02\x07\x05\
2029 \x12\x03l\x02\x08\n\x0c\n\x05\x04\0\x02\x07\x01\x12\x03l\t\x14\n\x0c\n\
2030 \x05\x04\0\x02\x07\x03\x12\x03l\x17\x18\n\xdf\x01\n\x04\x04\0\x02\x08\
2031 \x12\x03r\x02\x1b\x1aL\x20True\x20if\x20the\x20operation\x20is\x20commut\
2032 ative\x20(\"op(a,b)\x20==\x20op(b,a)\"\x20for\x20all\x20inputs)\n2\x83\
2033 \x01\x20----------------------------------------------------------------\
2034 ---------\n\x20Which\x20optimizations\x20this\x20operation\x20can\x20par\
2035 ticipate\x20in.\n\n\x0c\n\x05\x04\0\x02\x08\x05\x12\x03r\x02\x06\n\x0c\n\
2036 \x05\x04\0\x02\x08\x01\x12\x03r\x07\x15\n\x0c\n\x05\x04\0\x02\x08\x03\
2037 \x12\x03r\x18\x1a\n\xff\x03\n\x04\x04\0\x02\t\x12\x03|\x02\x19\x1a\xda\
2038 \x03\x20If\x20is_aggregate\x20is\x20true,\x20then\x20this\x20operation\
2039 \x20accepts\x20N\x20>=\x202\n\x20inputs\x20and\x20produces\x201\x20outpu\
2040 t\x20all\x20of\x20the\x20same\x20type.\x20\x20Should\x20be\n\x20associat\
2041 ive\x20and\x20commutative,\x20and\x20produce\x20output\x20with\x20the\
2042 \x20same\n\x20shape\x20as\x20the\x20input.\x20\x20The\x20optimizer\x20ma\
2043 y\x20replace\x20an\x20aggregate\x20op\n\x20taking\x20input\x20from\x20mu\
2044 ltiple\x20devices\x20with\x20a\x20tree\x20of\x20aggregate\x20ops\n\x20th\
2045 at\x20aggregate\x20locally\x20within\x20each\x20device\x20(and\x20possib\
2046 ly\x20within\n\x20groups\x20of\x20nearby\x20devices)\x20before\x20commun\
2047 icating.\n\x20TODO(josh11b):\x20Implement\x20that\x20optimization.\n\"\
2048 \x15\x20for\x20things\x20like\x20add\n\n\x0c\n\x05\x04\0\x02\t\x05\x12\
2049 \x03|\x02\x06\n\x0c\n\x05\x04\0\x02\t\x01\x12\x03|\x07\x13\n\x0c\n\x05\
2050 \x04\0\x02\t\x03\x12\x03|\x16\x18\n\xd6\x06\n\x04\x04\0\x02\n\x12\x04\
2051 \x8f\x01\x02\x18\x1a\xca\x04\x20Ops\x20are\x20marked\x20as\x20stateful\
2052 \x20if\x20their\x20behavior\x20depends\x20on\x20some\x20state\x20beyond\
2053 \n\x20their\x20input\x20tensors\x20(e.g.\x20variable\x20reading\x20op)\
2054 \x20or\x20if\x20they\x20have\n\x20a\x20side-effect\x20(e.g.\x20printing\
2055 \x20or\x20asserting\x20ops).\x20Equivalently,\x20stateless\x20ops\n\x20m\
2056 ust\x20always\x20produce\x20the\x20same\x20output\x20for\x20the\x20same\
2057 \x20input\x20and\x20have\n\x20no\x20side-effects.\n\n\x20By\x20default\
2058 \x20Ops\x20may\x20be\x20moved\x20between\x20devices.\x20\x20Stateful\x20\
2059 ops\x20should\n\x20either\x20not\x20be\x20moved,\x20or\x20should\x20only\
2060 \x20be\x20moved\x20if\x20that\x20state\x20can\x20also\n\x20be\x20moved\
2061 \x20(e.g.\x20via\x20some\x20sort\x20of\x20save\x20/\x20restore).\n\x20St\
2062 ateful\x20ops\x20are\x20guaranteed\x20to\x20never\x20be\x20optimized\x20\
2063 away\x20by\x20Common\n\x20Subexpression\x20Elimination\x20(CSE).\n\"\"\
2064 \x20for\x20things\x20like\x20variables,\x20queue\n2o\x20Other\x20optimiz\
2065 ations\x20go\x20here,\x20like\n\x20\x20\x20can_alias_input,\x20rewrite_w\
2066 hen_output_unused,\x20partitioning_strategy,\x20etc.\n2f\x20------------\
2067 -------------------------------------------------------------\n\x20Optim\
2068 ization\x20constraints.\n\n\r\n\x05\x04\0\x02\n\x05\x12\x04\x8f\x01\x02\
2069 \x06\n\r\n\x05\x04\0\x02\n\x01\x12\x04\x8f\x01\x07\x12\n\r\n\x05\x04\0\
2070 \x02\n\x03\x12\x04\x8f\x01\x15\x17\n\xd5\x02\n\x04\x04\0\x02\x0b\x12\x04\
2071 \x98\x01\x02'\x1a\xce\x01\x20By\x20default,\x20all\x20inputs\x20to\x20an\
2072 \x20Op\x20must\x20be\x20initialized\x20Tensors.\x20\x20Ops\n\x20that\x20\
2073 may\x20initialize\x20tensors\x20for\x20the\x20first\x20time\x20should\
2074 \x20set\x20this\n\x20field\x20to\x20true,\x20to\x20allow\x20the\x20Op\
2075 \x20to\x20take\x20an\x20uninitialized\x20Tensor\x20as\n\x20input.\n\"\
2076 \x12\x20for\x20Assign,\x20etc.\n2b\x20----------------------------------\
2077 ---------------------------------------\n\x20Non-standard\x20options.\n\
2078 \n\r\n\x05\x04\0\x02\x0b\x05\x12\x04\x98\x01\x02\x06\n\r\n\x05\x04\0\x02\
2079 \x0b\x01\x12\x04\x98\x01\x07!\n\r\n\x05\x04\0\x02\x0b\x03\x12\x04\x98\
2080 \x01$&\nH\n\x02\x04\x01\x12\x06\x9e\x01\0\xa4\x01\x01\x1a:\x20Informatio\
2081 n\x20about\x20version-dependent\x20deprecation\x20of\x20an\x20op\n\n\x0b\
2082 \n\x03\x04\x01\x01\x12\x04\x9e\x01\x08\x15\nE\n\x04\x04\x01\x02\0\x12\
2083 \x04\xa0\x01\x02\x14\x1a7\x20First\x20GraphDef\x20version\x20at\x20which\
2084 \x20the\x20op\x20is\x20disallowed.\n\n\r\n\x05\x04\x01\x02\0\x05\x12\x04\
2085 \xa0\x01\x02\x07\n\r\n\x05\x04\x01\x02\0\x01\x12\x04\xa0\x01\x08\x0f\n\r\
2086 \n\x05\x04\x01\x02\0\x03\x12\x04\xa0\x01\x12\x13\nM\n\x04\x04\x01\x02\
2087 \x01\x12\x04\xa3\x01\x02\x19\x1a?\x20Explanation\x20of\x20why\x20it\x20w\
2088 as\x20deprecated\x20and\x20what\x20to\x20use\x20instead.\n\n\r\n\x05\x04\
2089 \x01\x02\x01\x05\x12\x04\xa3\x01\x02\x08\n\r\n\x05\x04\x01\x02\x01\x01\
2090 \x12\x04\xa3\x01\t\x14\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\xa3\x01\x17\
2091 \x18\n&\n\x02\x04\x02\x12\x06\xa7\x01\0\xa9\x01\x01\x1a\x18\x20A\x20coll\
2092 ection\x20of\x20OpDefs\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xa7\x01\x08\x0e\
2093 \n\x0c\n\x04\x04\x02\x02\0\x12\x04\xa8\x01\x02\x18\n\r\n\x05\x04\x02\x02\
2094 \0\x04\x12\x04\xa8\x01\x02\n\n\r\n\x05\x04\x02\x02\0\x06\x12\x04\xa8\x01\
2095 \x0b\x10\n\r\n\x05\x04\x02\x02\0\x01\x12\x04\xa8\x01\x11\x13\n\r\n\x05\
2096 \x04\x02\x02\0\x03\x12\x04\xa8\x01\x16\x17b\x06proto3\
2097";
2098
2099static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
2100
2101fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
2102 ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
2103}
2104
2105pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
2106 unsafe {
2107 file_descriptor_proto_lazy.get(|| {
2108 parse_descriptor_proto()
2109 })
2110 }
2111}