// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: hq/response/TickerResponse.proto

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "hq/response/TickerResponse.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 {

const ::google::protobuf::Descriptor* TickerResponse_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
  TickerResponse_reflection_ = NULL;

}  // namespace


void protobuf_AssignDesc_hq_2fresponse_2fTickerResponse_2eproto() GOOGLE_ATTRIBUTE_COLD;
void protobuf_AssignDesc_hq_2fresponse_2fTickerResponse_2eproto() {
  protobuf_AddDesc_hq_2fresponse_2fTickerResponse_2eproto();
  const ::google::protobuf::FileDescriptor* file =
    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
      "hq/response/TickerResponse.proto");
  GOOGLE_CHECK(file != NULL);
  TickerResponse_descriptor_ = file->message_type(0);
  static const int TickerResponse_offsets_[2] = {
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TickerResponse, security_),
    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TickerResponse, ticker_),
  };
  TickerResponse_reflection_ =
    ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
      TickerResponse_descriptor_,
      TickerResponse::internal_default_instance(),
      TickerResponse_offsets_,
      -1,
      -1,
      -1,
      sizeof(TickerResponse),
      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TickerResponse, _internal_metadata_));
}

namespace {

GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
void protobuf_AssignDescriptorsOnce() {
  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
                 &protobuf_AssignDesc_hq_2fresponse_2fTickerResponse_2eproto);
}

void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
void protobuf_RegisterTypes(const ::std::string&) {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
      TickerResponse_descriptor_, TickerResponse::internal_default_instance());
}

}  // namespace

void protobuf_ShutdownFile_hq_2fresponse_2fTickerResponse_2eproto() {
  TickerResponse_default_instance_.Shutdown();
  delete TickerResponse_reflection_;
}

void protobuf_InitDefaults_hq_2fresponse_2fTickerResponse_2eproto_impl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  ::protobuf_InitDefaults_hq_2fdto_2fSecurity_2eproto();
  ::protobuf_InitDefaults_hq_2fdto_2fTicker_2eproto();
  TickerResponse_default_instance_.DefaultConstruct();
  TickerResponse_default_instance_.get_mutable()->InitAsDefaultInstance();
}

GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_InitDefaults_hq_2fresponse_2fTickerResponse_2eproto_once_);
void protobuf_InitDefaults_hq_2fresponse_2fTickerResponse_2eproto() {
  ::google::protobuf::GoogleOnceInit(&protobuf_InitDefaults_hq_2fresponse_2fTickerResponse_2eproto_once_,
                 &protobuf_InitDefaults_hq_2fresponse_2fTickerResponse_2eproto_impl);
}
void protobuf_AddDesc_hq_2fresponse_2fTickerResponse_2eproto_impl() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  protobuf_InitDefaults_hq_2fresponse_2fTickerResponse_2eproto();
  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
    "\n hq/response/TickerResponse.proto\032\025hq/d"
    "to/Security.proto\032\023hq/dto/Ticker.proto\"F"
    "\n\016TickerResponse\022\033\n\010security\030\001 \001(\0132\t.Sec"
    "urity\022\027\n\006ticker\030\002 \003(\0132\007.TickerBG\n0com.hu"
    "asheng.quant.open.sdk.protobuf.hq.respon"
    "seB\023TickerResponseProtob\006proto3", 231);
  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    "hq/response/TickerResponse.proto", &protobuf_RegisterTypes);
  ::protobuf_AddDesc_hq_2fdto_2fSecurity_2eproto();
  ::protobuf_AddDesc_hq_2fdto_2fTicker_2eproto();
  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_hq_2fresponse_2fTickerResponse_2eproto);
}

GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_hq_2fresponse_2fTickerResponse_2eproto_once_);
void protobuf_AddDesc_hq_2fresponse_2fTickerResponse_2eproto() {
  ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_hq_2fresponse_2fTickerResponse_2eproto_once_,
                 &protobuf_AddDesc_hq_2fresponse_2fTickerResponse_2eproto_impl);
}
// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer_hq_2fresponse_2fTickerResponse_2eproto {
  StaticDescriptorInitializer_hq_2fresponse_2fTickerResponse_2eproto() {
    protobuf_AddDesc_hq_2fresponse_2fTickerResponse_2eproto();
  }
} static_descriptor_initializer_hq_2fresponse_2fTickerResponse_2eproto_;

namespace {

static void MergeFromFail(int line) GOOGLE_ATTRIBUTE_COLD GOOGLE_ATTRIBUTE_NORETURN;
static void MergeFromFail(int line) {
  ::google::protobuf::internal::MergeFromFail(__FILE__, line);
}

}  // namespace


// ===================================================================

#if !defined(_MSC_VER) || _MSC_VER >= 1900
const int TickerResponse::kSecurityFieldNumber;
const int TickerResponse::kTickerFieldNumber;
#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900

TickerResponse::TickerResponse()
  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
  if (this != internal_default_instance()) protobuf_InitDefaults_hq_2fresponse_2fTickerResponse_2eproto();
  SharedCtor();
  // @@protoc_insertion_point(constructor:TickerResponse)
}

void TickerResponse::InitAsDefaultInstance() {
  security_ = const_cast< ::Security*>(
      ::Security::internal_default_instance());
}

TickerResponse::TickerResponse(const TickerResponse& from)
  : ::google::protobuf::Message(),
    _internal_metadata_(NULL) {
  SharedCtor();
  UnsafeMergeFrom(from);
  // @@protoc_insertion_point(copy_constructor:TickerResponse)
}

void TickerResponse::SharedCtor() {
  security_ = NULL;
  _cached_size_ = 0;
}

TickerResponse::~TickerResponse() {
  // @@protoc_insertion_point(destructor:TickerResponse)
  SharedDtor();
}

void TickerResponse::SharedDtor() {
  if (this != &TickerResponse_default_instance_.get()) {
    delete security_;
  }
}

void TickerResponse::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* TickerResponse::descriptor() {
  protobuf_AssignDescriptorsOnce();
  return TickerResponse_descriptor_;
}

const TickerResponse& TickerResponse::default_instance() {
  protobuf_InitDefaults_hq_2fresponse_2fTickerResponse_2eproto();
  return *internal_default_instance();
}

::google::protobuf::internal::ExplicitlyConstructed<TickerResponse> TickerResponse_default_instance_;

TickerResponse* TickerResponse::New(::google::protobuf::Arena* arena) const {
  TickerResponse* n = new TickerResponse;
  if (arena != NULL) {
    arena->Own(n);
  }
  return n;
}

void TickerResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:TickerResponse)
  if (GetArenaNoVirtual() == NULL && security_ != NULL) delete security_;
  security_ = NULL;
  ticker_.Clear();
}

bool TickerResponse::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:TickerResponse)
  for (;;) {
    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    tag = p.first;
    if (!p.second) goto handle_unusual;
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // optional .Security security = 1;
      case 1: {
        if (tag == 10) {
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_security()));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_ticker;
        break;
      }

      // repeated .Ticker ticker = 2;
      case 2: {
        if (tag == 18) {
         parse_ticker:
          DO_(input->IncrementRecursionDepth());
         parse_loop_ticker:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
                input, add_ticker()));
        } else {
          goto handle_unusual;
        }
        if (input->ExpectTag(18)) goto parse_loop_ticker;
        input->UnsafeDecrementRecursionDepth();
        if (input->ExpectAtEnd()) goto success;
        break;
      }

      default: {
      handle_unusual:
        if (tag == 0 ||
            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          goto success;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
success:
  // @@protoc_insertion_point(parse_success:TickerResponse)
  return true;
failure:
  // @@protoc_insertion_point(parse_failure:TickerResponse)
  return false;
#undef DO_
}

void TickerResponse::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // @@protoc_insertion_point(serialize_start:TickerResponse)
  // optional .Security security = 1;
  if (this->has_security()) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      1, *this->security_, output);
  }

  // repeated .Ticker ticker = 2;
  for (unsigned int i = 0, n = this->ticker_size(); i < n; i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
      2, this->ticker(i), output);
  }

  // @@protoc_insertion_point(serialize_end:TickerResponse)
}

::google::protobuf::uint8* TickerResponse::InternalSerializeWithCachedSizesToArray(
    bool deterministic, ::google::protobuf::uint8* target) const {
  (void)deterministic; // Unused
  // @@protoc_insertion_point(serialize_to_array_start:TickerResponse)
  // optional .Security security = 1;
  if (this->has_security()) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        1, *this->security_, false, target);
  }

  // repeated .Ticker ticker = 2;
  for (unsigned int i = 0, n = this->ticker_size(); i < n; i++) {
    target = ::google::protobuf::internal::WireFormatLite::
      InternalWriteMessageNoVirtualToArray(
        2, this->ticker(i), false, target);
  }

  // @@protoc_insertion_point(serialize_to_array_end:TickerResponse)
  return target;
}

size_t TickerResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:TickerResponse)
  size_t total_size = 0;

  // optional .Security security = 1;
  if (this->has_security()) {
    total_size += 1 +
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        *this->security_);
  }

  // repeated .Ticker ticker = 2;
  {
    unsigned int count = this->ticker_size();
    total_size += 1UL * count;
    for (unsigned int i = 0; i < count; i++) {
      total_size +=
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->ticker(i));
    }
  }

  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 TickerResponse::MergeFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:TickerResponse)
  if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
  const TickerResponse* source =
      ::google::protobuf::internal::DynamicCastToGenerated<const TickerResponse>(
          &from);
  if (source == NULL) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:TickerResponse)
    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:TickerResponse)
    UnsafeMergeFrom(*source);
  }
}

void TickerResponse::MergeFrom(const TickerResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:TickerResponse)
  if (GOOGLE_PREDICT_TRUE(&from != this)) {
    UnsafeMergeFrom(from);
  } else {
    MergeFromFail(__LINE__);
  }
}

void TickerResponse::UnsafeMergeFrom(const TickerResponse& from) {
  GOOGLE_DCHECK(&from != this);
  ticker_.MergeFrom(from.ticker_);
  if (from.has_security()) {
    mutable_security()->::Security::MergeFrom(from.security());
  }
}

void TickerResponse::CopyFrom(const ::google::protobuf::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:TickerResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TickerResponse::CopyFrom(const TickerResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:TickerResponse)
  if (&from == this) return;
  Clear();
  UnsafeMergeFrom(from);
}

bool TickerResponse::IsInitialized() const {

  return true;
}

void TickerResponse::Swap(TickerResponse* other) {
  if (other == this) return;
  InternalSwap(other);
}
void TickerResponse::InternalSwap(TickerResponse* other) {
  std::swap(security_, other->security_);
  ticker_.UnsafeArenaSwap(&other->ticker_);
  _internal_metadata_.Swap(&other->_internal_metadata_);
  std::swap(_cached_size_, other->_cached_size_);
}

::google::protobuf::Metadata TickerResponse::GetMetadata() const {
  protobuf_AssignDescriptorsOnce();
  ::google::protobuf::Metadata metadata;
  metadata.descriptor = TickerResponse_descriptor_;
  metadata.reflection = TickerResponse_reflection_;
  return metadata;
}

#if PROTOBUF_INLINE_NOT_IN_HEADERS
// TickerResponse

// optional .Security security = 1;
bool TickerResponse::has_security() const {
  return this != internal_default_instance() && security_ != NULL;
}
void TickerResponse::clear_security() {
  if (GetArenaNoVirtual() == NULL && security_ != NULL) delete security_;
  security_ = NULL;
}
const ::Security& TickerResponse::security() const {
  // @@protoc_insertion_point(field_get:TickerResponse.security)
  return security_ != NULL ? *security_
                         : *::Security::internal_default_instance();
}
::Security* TickerResponse::mutable_security() {
  
  if (security_ == NULL) {
    security_ = new ::Security;
  }
  // @@protoc_insertion_point(field_mutable:TickerResponse.security)
  return security_;
}
::Security* TickerResponse::release_security() {
  // @@protoc_insertion_point(field_release:TickerResponse.security)
  
  ::Security* temp = security_;
  security_ = NULL;
  return temp;
}
void TickerResponse::set_allocated_security(::Security* security) {
  delete security_;
  security_ = security;
  if (security) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_set_allocated:TickerResponse.security)
}

// repeated .Ticker ticker = 2;
int TickerResponse::ticker_size() const {
  return ticker_.size();
}
void TickerResponse::clear_ticker() {
  ticker_.Clear();
}
const ::Ticker& TickerResponse::ticker(int index) const {
  // @@protoc_insertion_point(field_get:TickerResponse.ticker)
  return ticker_.Get(index);
}
::Ticker* TickerResponse::mutable_ticker(int index) {
  // @@protoc_insertion_point(field_mutable:TickerResponse.ticker)
  return ticker_.Mutable(index);
}
::Ticker* TickerResponse::add_ticker() {
  // @@protoc_insertion_point(field_add:TickerResponse.ticker)
  return ticker_.Add();
}
::google::protobuf::RepeatedPtrField< ::Ticker >*
TickerResponse::mutable_ticker() {
  // @@protoc_insertion_point(field_mutable_list:TickerResponse.ticker)
  return &ticker_;
}
const ::google::protobuf::RepeatedPtrField< ::Ticker >&
TickerResponse::ticker() const {
  // @@protoc_insertion_point(field_list:TickerResponse.ticker)
  return ticker_;
}

inline const TickerResponse* TickerResponse::internal_default_instance() {
  return &TickerResponse_default_instance_.get();
}
#endif  // PROTOBUF_INLINE_NOT_IN_HEADERS

// @@protoc_insertion_point(namespace_scope)

// @@protoc_insertion_point(global_scope)
