aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Utils/RopeTextReader.cs
blob: 43c8fc57b8aacafabed274c7171fd05a00225ae8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;

namespace Tango.Scripting.Editors.Utils
{
	/// <summary>
	/// TextReader implementation that reads text from a rope.
	/// </summary>
	public sealed class RopeTextReader : TextReader
	{
		Stack<RopeNode<char>> stack = new Stack<RopeNode<char>>();
		RopeNode<char> currentNode;
		int indexInsideNode;
		
		/// <summary>
		/// Creates a new RopeTextReader.
		/// Internally, this method creates a Clone of the rope; so the text reader will always read through the old
		/// version of the rope if it is modified. <seealso cref="Rope{T}.Clone()"/>
		/// </summary>
		public RopeTextReader(Rope<char> rope)
		{
			if (rope == null)
				throw new ArgumentNullException("rope");
			
			// We force the user to iterate through a clone of the rope to keep the API contract of RopeTextReader simple
			// (what happens when a rope is modified while iterating through it?)
			rope.root.Publish();
			
			// special case for the empty rope:
			// leave currentNode initialized to null (RopeTextReader doesn't support empty nodes)
			if (rope.Length != 0) {
				currentNode = rope.root;
				GoToLeftMostLeaf();
			}
		}
		
		void GoToLeftMostLeaf()
		{
			while (currentNode.contents == null) {
				if (currentNode.height == 0) {
					// this is a function node - move to its contained rope
					currentNode = currentNode.GetContentNode();
					continue;
				}
				Debug.Assert(currentNode.right != null);
				stack.Push(currentNode.right);
				currentNode = currentNode.left;
			}
			Debug.Assert(currentNode.height == 0);
		}
		
		/// <inheritdoc/>
		public override int Peek()
		{
			if (currentNode == null)
				return -1;
			return currentNode.contents[indexInsideNode];
		}
		
		/// <inheritdoc/>
		public override int Read()
		{
			if (currentNode == null)
				return -1;
			char result = currentNode.contents[indexInsideNode++];
			if (indexInsideNode >= currentNode.length)
				GoToNextNode();
			return result;
		}
		
		void GoToNextNode()
		{
			if (stack.Count == 0) {
				currentNode = null;
			} else {
				indexInsideNode = 0;
				currentNode = stack.Pop();
				GoToLeftMostLeaf();
			}
		}
		
		/// <inheritdoc/>
		public override int Read(char[] buffer, int index, int count)
		{
			if (currentNode == null)
				return 0;
			int amountInCurrentNode = currentNode.length - indexInsideNode;
			if (count < amountInCurrentNode) {
				Array.Copy(currentNode.contents, indexInsideNode, buffer, index, count);
				indexInsideNode += count;
				return count;
			} else {
				// read to end of current node
				Array.Copy(currentNode.contents, indexInsideNode, buffer, index, amountInCurrentNode);
				GoToNextNode();
				return amountInCurrentNode;
			}
		}
	}
}
ss="cp">#include "InputLiquid.pb.h" #include <algorithm> #include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/port.h> #include <google/protobuf/stubs/once.h> #include <google/protobuf/io/coded_stream.h> #include <google/protobuf/wire_format_lite_inl.h> #include <google/protobuf/descriptor.h> #include <google/protobuf/generated_message_reflection.h> #include <google/protobuf/reflection_ops.h> #include <google/protobuf/wire_format.h> // @@protoc_insertion_point(includes) namespace Tango { namespace PMR { namespace ColorLab { class InputLiquidDefaultTypeInternal { public: ::google::protobuf::internal::ExplicitlyConstructed<InputLiquid> _instance; } _InputLiquid_default_instance_; namespace protobuf_InputLiquid_2eproto { namespace { ::google::protobuf::Metadata file_level_metadata[1]; } // namespace PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0}, }; PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { ::google::protobuf::internal::AuxillaryParseTableField(), }; PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { { NULL, NULL, 0, -1, -1, -1, -1, NULL, false }, }; const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { ~0u, // no _has_bits_ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputLiquid, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputLiquid, liquidtype_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputLiquid, calibrationdata_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputLiquid, maxnanoliterpercentimeter_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputLiquid, volume_), }; static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(InputLiquid)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { reinterpret_cast<const ::google::protobuf::Message*>(&_InputLiquid_default_instance_), }; namespace { void protobuf_AssignDescriptors() { AddDescriptors(); ::google::protobuf::MessageFactory* factory = NULL; AssignDescriptors( "InputLiquid.proto", schemas, file_default_instances, TableStruct::offsets, factory, file_level_metadata, NULL, NULL); } void protobuf_AssignDescriptorsOnce() { static GOOGLE_PROTOBUF_DECLARE_ONCE(once); ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors); } void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD; void protobuf_RegisterTypes(const ::std::string&) { protobuf_AssignDescriptorsOnce(); ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1); } } // namespace void TableStruct::InitDefaultsImpl() { GOOGLE_PROTOBUF_VERIFY_VERSION; ::google::protobuf::internal::InitProtobufDefaults(); ::Tango::PMR::ColorLab::protobuf_LiquidType_2eproto::InitDefaults(); ::Tango::PMR::ColorLab::protobuf_CalibrationData_2eproto::InitDefaults(); _InputLiquid_default_instance_._instance.DefaultConstruct(); ::google::protobuf::internal::OnShutdownDestroyMessage( &_InputLiquid_default_instance_);_InputLiquid_default_instance_._instance.get_mutable()->calibrationdata_ = const_cast< ::Tango::PMR::ColorLab::CalibrationData*>( ::Tango::PMR::ColorLab::CalibrationData::internal_default_instance()); } void InitDefaults() { static GOOGLE_PROTOBUF_DECLARE_ONCE(once); ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl); } namespace { void AddDescriptorsImpl() { InitDefaults(); static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { "\n\021InputLiquid.proto\022\022Tango.PMR.ColorLab\032" "\020LiquidType.proto\032\025CalibrationData.proto" "\"\262\001\n\013InputLiquid\0222\n\nLiquidType\030\001 \001(\0162\036.T" "ango.PMR.ColorLab.LiquidType\022<\n\017Calibrat" "ionData\030\002 \001(\0132#.Tango.PMR.ColorLab.Calib" "rationData\022!\n\031MaxNanoliterPerCentimeter\030" "\003 \001(\001\022\016\n\006Volume\030\004 \001(\001B\036\n\034com.twine.tango" ".pmr.colorlabb\006proto3" }; ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( descriptor, 301); ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( "InputLiquid.proto", &protobuf_RegisterTypes); ::Tango::PMR::ColorLab::protobuf_LiquidType_2eproto::AddDescriptors(); ::Tango::PMR::ColorLab::protobuf_CalibrationData_2eproto::AddDescriptors(); } } // anonymous namespace void AddDescriptors() { static GOOGLE_PROTOBUF_DECLARE_ONCE(once); ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl); } // Force AddDescriptors() to be called at dynamic initialization time. struct StaticDescriptorInitializer { StaticDescriptorInitializer() { AddDescriptors(); } } static_descriptor_initializer; } // namespace protobuf_InputLiquid_2eproto // =================================================================== #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int InputLiquid::kLiquidTypeFieldNumber; const int InputLiquid::kCalibrationDataFieldNumber; const int InputLiquid::kMaxNanoliterPerCentimeterFieldNumber; const int InputLiquid::kVolumeFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 InputLiquid::InputLiquid() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { protobuf_InputLiquid_2eproto::InitDefaults(); } SharedCtor(); // @@protoc_insertion_point(constructor:Tango.PMR.ColorLab.InputLiquid) } InputLiquid::InputLiquid(const InputLiquid& from) : ::google::protobuf::Message(), _internal_metadata_(NULL), _cached_size_(0) { _internal_metadata_.MergeFrom(from._internal_metadata_); if (from.has_calibrationdata()) { calibrationdata_ = new ::Tango::PMR::ColorLab::CalibrationData(*from.calibrationdata_); } else { calibrationdata_ = NULL; } ::memcpy(&maxnanoliterpercentimeter_, &from.maxnanoliterpercentimeter_, static_cast<size_t>(reinterpret_cast<char*>(&liquidtype_) - reinterpret_cast<char*>(&maxnanoliterpercentimeter_)) + sizeof(liquidtype_)); // @@protoc_insertion_point(copy_constructor:Tango.PMR.ColorLab.InputLiquid) } void InputLiquid::SharedCtor() { ::memset(&calibrationdata_, 0, static_cast<size_t>( reinterpret_cast<char*>(&liquidtype_) - reinterpret_cast<char*>(&calibrationdata_)) + sizeof(liquidtype_)); _cached_size_ = 0; } InputLiquid::~InputLiquid() { // @@protoc_insertion_point(destructor:Tango.PMR.ColorLab.InputLiquid) SharedDtor(); } void InputLiquid::SharedDtor() { if (this != internal_default_instance()) delete calibrationdata_; } void InputLiquid::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } const ::google::protobuf::Descriptor* InputLiquid::descriptor() { protobuf_InputLiquid_2eproto::protobuf_AssignDescriptorsOnce(); return protobuf_InputLiquid_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; } const InputLiquid& InputLiquid::default_instance() { protobuf_InputLiquid_2eproto::InitDefaults(); return *internal_default_instance(); } InputLiquid* InputLiquid::New(::google::protobuf::Arena* arena) const { InputLiquid* n = new InputLiquid; if (arena != NULL) { arena->Own(n); } return n; } void InputLiquid::Clear() { // @@protoc_insertion_point(message_clear_start:Tango.PMR.ColorLab.InputLiquid) ::google::protobuf::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; if (GetArenaNoVirtual() == NULL && calibrationdata_ != NULL) { delete calibrationdata_; } calibrationdata_ = NULL; ::memset(&maxnanoliterpercentimeter_, 0, static_cast<size_t>( reinterpret_cast<char*>(&liquidtype_) - reinterpret_cast<char*>(&maxnanoliterpercentimeter_)) + sizeof(liquidtype_)); _internal_metadata_.Clear(); } bool InputLiquid::MergePartialFromCodedStream( ::google::protobuf::io::CodedInputStream* input) { #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure ::google::protobuf::uint32 tag; // @@protoc_insertion_point(parse_start:Tango.PMR.ColorLab.InputLiquid) for (;;) { ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { // .Tango.PMR.ColorLab.LiquidType LiquidType = 1; case 1: { if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { int value; DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( input, &value))); set_liquidtype(static_cast< ::Tango::PMR::ColorLab::LiquidType >(value)); } else { goto handle_unusual; } break; } // .Tango.PMR.ColorLab.CalibrationData CalibrationData = 2; case 2: { if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( input, mutable_calibrationdata())); } else { goto handle_unusual; } break; } // double MaxNanoliterPerCentimeter = 3; case 3: { if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(25u /* 25 & 0xFF */)) { DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( input, &maxnanoliterpercentimeter_))); } else { goto handle_unusual; } break; } // double Volume = 4; case 4: { if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(33u /* 33 & 0xFF */)) { DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>( input, &volume_))); } else { goto handle_unusual; } break; } default: { handle_unusual: if (tag == 0) { goto success; } DO_(::google::protobuf::internal::WireFormat::SkipField( input, tag, _internal_metadata_.mutable_unknown_fields())); break; } } } success: // @@protoc_insertion_point(parse_success:Tango.PMR.ColorLab.InputLiquid) return true; failure: // @@protoc_insertion_point(parse_failure:Tango.PMR.ColorLab.InputLiquid) return false; #undef DO_ } void InputLiquid::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { // @@protoc_insertion_point(serialize_start:Tango.PMR.ColorLab.InputLiquid) ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; // .Tango.PMR.ColorLab.LiquidType LiquidType = 1; if (this->liquidtype() != 0) { ::google::protobuf::internal::WireFormatLite::WriteEnum( 1, this->liquidtype(), output); } // .Tango.PMR.ColorLab.CalibrationData CalibrationData = 2; if (this->has_calibrationdata()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 2, *this->calibrationdata_, output); } // double MaxNanoliterPerCentimeter = 3; if (this->maxnanoliterpercentimeter() != 0) { ::google::protobuf::internal::WireFormatLite::WriteDouble(3, this->maxnanoliterpercentimeter(), output); } // double Volume = 4; if (this->volume() != 0) { ::google::protobuf::internal::WireFormatLite::WriteDouble(4, this->volume(), output); } if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); } // @@protoc_insertion_point(serialize_end:Tango.PMR.ColorLab.InputLiquid) } ::google::protobuf::uint8* InputLiquid::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.ColorLab.InputLiquid) ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; // .Tango.PMR.ColorLab.LiquidType LiquidType = 1; if (this->liquidtype() != 0) { target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( 1, this->liquidtype(), target); } // .Tango.PMR.ColorLab.CalibrationData CalibrationData = 2; if (this->has_calibrationdata()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageNoVirtualToArray( 2, *this->calibrationdata_, deterministic, target); } // double MaxNanoliterPerCentimeter = 3; if (this->maxnanoliterpercentimeter() != 0) { target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(3, this->maxnanoliterpercentimeter(), target); } // double Volume = 4; if (this->volume() != 0) { target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(4, this->volume(), target); } if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); } // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.ColorLab.InputLiquid) return target; } size_t InputLiquid::ByteSizeLong() const { // @@protoc_insertion_point(message_byte_size_start:Tango.PMR.ColorLab.InputLiquid) size_t total_size = 0; if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { total_size += ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); } // .Tango.PMR.ColorLab.CalibrationData CalibrationData = 2; if (this->has_calibrationdata()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( *this->calibrationdata_); } // double MaxNanoliterPerCentimeter = 3; if (this->maxnanoliterpercentimeter() != 0) { total_size += 1 + 8; } // double Volume = 4; if (this->volume() != 0) { total_size += 1 + 8; } // .Tango.PMR.ColorLab.LiquidType LiquidType = 1; if (this->liquidtype() != 0) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::EnumSize(this->liquidtype()); } int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = cached_size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); return total_size; } void InputLiquid::MergeFrom(const ::google::protobuf::Message& from) { // @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.ColorLab.InputLiquid) GOOGLE_DCHECK_NE(&from, this); const InputLiquid* source = ::google::protobuf::internal::DynamicCastToGenerated<const InputLiquid>( &from); if (source == NULL) { // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.ColorLab.InputLiquid) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.ColorLab.InputLiquid) MergeFrom(*source); } } void InputLiquid::MergeFrom(const InputLiquid& from) { // @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.ColorLab.InputLiquid) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom(from._internal_metadata_); ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; if (from.has_calibrationdata()) { mutable_calibrationdata()->::Tango::PMR::ColorLab::CalibrationData::MergeFrom(from.calibrationdata()); } if (from.maxnanoliterpercentimeter() != 0) { set_maxnanoliterpercentimeter(from.maxnanoliterpercentimeter()); } if (from.volume() != 0) { set_volume(from.volume()); } if (from.liquidtype() != 0) { set_liquidtype(from.liquidtype()); } } void InputLiquid::CopyFrom(const ::google::protobuf::Message& from) { // @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.ColorLab.InputLiquid) if (&from == this) return; Clear(); MergeFrom(from); } void InputLiquid::CopyFrom(const InputLiquid& from) { // @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.ColorLab.InputLiquid) if (&from == this) return; Clear(); MergeFrom(from); } bool InputLiquid::IsInitialized() const { return true; } void InputLiquid::Swap(InputLiquid* other) { if (other == this) return; InternalSwap(other); } void InputLiquid::InternalSwap(InputLiquid* other) { using std::swap; swap(calibrationdata_, other->calibrationdata_); swap(maxnanoliterpercentimeter_, other->maxnanoliterpercentimeter_); swap(volume_, other->volume_); swap(liquidtype_, other->liquidtype_); _internal_metadata_.Swap(&other->_internal_metadata_); swap(_cached_size_, other->_cached_size_); } ::google::protobuf::Metadata InputLiquid::GetMetadata() const { protobuf_InputLiquid_2eproto::protobuf_AssignDescriptorsOnce(); return protobuf_InputLiquid_2eproto::file_level_metadata[kIndexInFileMessages]; } #if PROTOBUF_INLINE_NOT_IN_HEADERS // InputLiquid // .Tango.PMR.ColorLab.LiquidType LiquidType = 1; void InputLiquid::clear_liquidtype() { liquidtype_ = 0; } ::Tango::PMR::ColorLab::LiquidType InputLiquid::liquidtype() const { // @@protoc_insertion_point(field_get:Tango.PMR.ColorLab.InputLiquid.LiquidType) return static_cast< ::Tango::PMR::ColorLab::LiquidType >(liquidtype_); } void InputLiquid::set_liquidtype(::Tango::PMR::ColorLab::LiquidType value) { liquidtype_ = value; // @@protoc_insertion_point(field_set:Tango.PMR.ColorLab.InputLiquid.LiquidType) } // .Tango.PMR.ColorLab.CalibrationData CalibrationData = 2; bool InputLiquid::has_calibrationdata() const { return this != internal_default_instance() && calibrationdata_ != NULL; } void InputLiquid::clear_calibrationdata() { if (GetArenaNoVirtual() == NULL && calibrationdata_ != NULL) delete calibrationdata_; calibrationdata_ = NULL; } const ::Tango::PMR::ColorLab::CalibrationData& InputLiquid::calibrationdata() const { const ::Tango::PMR::ColorLab::CalibrationData* p = calibrationdata_; // @@protoc_insertion_point(field_get:Tango.PMR.ColorLab.InputLiquid.CalibrationData) return p != NULL ? *p : *reinterpret_cast<const ::Tango::PMR::ColorLab::CalibrationData*>( &::Tango::PMR::ColorLab::_CalibrationData_default_instance_); } ::Tango::PMR::ColorLab::CalibrationData* InputLiquid::mutable_calibrationdata() { if (calibrationdata_ == NULL) { calibrationdata_ = new ::Tango::PMR::ColorLab::CalibrationData; } // @@protoc_insertion_point(field_mutable:Tango.PMR.ColorLab.InputLiquid.CalibrationData) return calibrationdata_; } ::Tango::PMR::ColorLab::CalibrationData* InputLiquid::release_calibrationdata() { // @@protoc_insertion_point(field_release:Tango.PMR.ColorLab.InputLiquid.CalibrationData) ::Tango::PMR::ColorLab::CalibrationData* temp = calibrationdata_; calibrationdata_ = NULL; return temp; } void InputLiquid::set_allocated_calibrationdata(::Tango::PMR::ColorLab::CalibrationData* calibrationdata) { delete calibrationdata_; calibrationdata_ = calibrationdata; if (calibrationdata) { } else { } // @@protoc_insertion_point(field_set_allocated:Tango.PMR.ColorLab.InputLiquid.CalibrationData) } // double MaxNanoliterPerCentimeter = 3; void InputLiquid::clear_maxnanoliterpercentimeter() { maxnanoliterpercentimeter_ = 0; } double InputLiquid::maxnanoliterpercentimeter() const { // @@protoc_insertion_point(field_get:Tango.PMR.ColorLab.InputLiquid.MaxNanoliterPerCentimeter) return maxnanoliterpercentimeter_; } void InputLiquid::set_maxnanoliterpercentimeter(double value) { maxnanoliterpercentimeter_ = value; // @@protoc_insertion_point(field_set:Tango.PMR.ColorLab.InputLiquid.MaxNanoliterPerCentimeter) } // double Volume = 4; void InputLiquid::clear_volume() { volume_ = 0; } double InputLiquid::volume() const { // @@protoc_insertion_point(field_get:Tango.PMR.ColorLab.InputLiquid.Volume) return volume_; } void InputLiquid::set_volume(double value) { volume_ = value; // @@protoc_insertion_point(field_set:Tango.PMR.ColorLab.InputLiquid.Volume) } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS // @@protoc_insertion_point(namespace_scope) } // namespace ColorLab } // namespace PMR } // namespace Tango // @@protoc_insertion_point(global_scope)