// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: trade/vo/futures/FuturesProductInfoVo.proto

#ifndef PROTOBUF_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto__INCLUDED
#define PROTOBUF_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3001000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)

// Internal implementation detail -- do not call these.
void protobuf_AddDesc_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto();
void protobuf_InitDefaults_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto();
void protobuf_AssignDesc_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto();
void protobuf_ShutdownFile_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto();

class FuturesProductInfoVo;

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

class FuturesProductInfoVo : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:FuturesProductInfoVo) */ {
 public:
  FuturesProductInfoVo();
  virtual ~FuturesProductInfoVo();

  FuturesProductInfoVo(const FuturesProductInfoVo& from);

  inline FuturesProductInfoVo& operator=(const FuturesProductInfoVo& from) {
    CopyFrom(from);
    return *this;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const FuturesProductInfoVo& default_instance();

  static const FuturesProductInfoVo* internal_default_instance();

  void Swap(FuturesProductInfoVo* other);

  // implements Message ----------------------------------------------

  inline FuturesProductInfoVo* New() const { return New(NULL); }

  FuturesProductInfoVo* New(::google::protobuf::Arena* arena) const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const FuturesProductInfoVo& from);
  void MergeFrom(const FuturesProductInfoVo& from);
  void Clear();
  bool IsInitialized() const;

  size_t ByteSizeLong() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
    return InternalSerializeWithCachedSizesToArray(false, output);
  }
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(FuturesProductInfoVo* other);
  void UnsafeMergeFrom(const FuturesProductInfoVo& from);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return _internal_metadata_.arena();
  }
  inline void* MaybeArenaPtr() const {
    return _internal_metadata_.raw_arena_ptr();
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // optional string prodCode = 1;
  void clear_prodcode();
  static const int kProdCodeFieldNumber = 1;
  const ::std::string& prodcode() const;
  void set_prodcode(const ::std::string& value);
  void set_prodcode(const char* value);
  void set_prodcode(const char* value, size_t size);
  ::std::string* mutable_prodcode();
  ::std::string* release_prodcode();
  void set_allocated_prodcode(::std::string* prodcode);

  // optional string instCode = 2;
  void clear_instcode();
  static const int kInstCodeFieldNumber = 2;
  const ::std::string& instcode() const;
  void set_instcode(const ::std::string& value);
  void set_instcode(const char* value);
  void set_instcode(const char* value, size_t size);
  ::std::string* mutable_instcode();
  ::std::string* release_instcode();
  void set_allocated_instcode(::std::string* instcode);

  // optional int32 lotSize = 3;
  void clear_lotsize();
  static const int kLotSizeFieldNumber = 3;
  ::google::protobuf::int32 lotsize() const;
  void set_lotsize(::google::protobuf::int32 value);

  // optional int32 decInPrice = 4;
  void clear_decinprice();
  static const int kDecInPriceFieldNumber = 4;
  ::google::protobuf::int32 decinprice() const;
  void set_decinprice(::google::protobuf::int32 value);

  // optional string contractSize = 5;
  void clear_contractsize();
  static const int kContractSizeFieldNumber = 5;
  const ::std::string& contractsize() const;
  void set_contractsize(const ::std::string& value);
  void set_contractsize(const char* value);
  void set_contractsize(const char* value, size_t size);
  ::std::string* mutable_contractsize();
  ::std::string* release_contractsize();
  void set_allocated_contractsize(::std::string* contractsize);

  // optional string priceDecimalPoint = 6;
  void clear_pricedecimalpoint();
  static const int kPriceDecimalPointFieldNumber = 6;
  const ::std::string& pricedecimalpoint() const;
  void set_pricedecimalpoint(const ::std::string& value);
  void set_pricedecimalpoint(const char* value);
  void set_pricedecimalpoint(const char* value, size_t size);
  ::std::string* mutable_pricedecimalpoint();
  ::std::string* release_pricedecimalpoint();
  void set_allocated_pricedecimalpoint(::std::string* pricedecimalpoint);

  // optional string expiryDate = 7;
  void clear_expirydate();
  static const int kExpiryDateFieldNumber = 7;
  const ::std::string& expirydate() const;
  void set_expirydate(const ::std::string& value);
  void set_expirydate(const char* value);
  void set_expirydate(const char* value, size_t size);
  ::std::string* mutable_expirydate();
  ::std::string* release_expirydate();
  void set_allocated_expirydate(::std::string* expirydate);

  // optional int32 isSupportT1 = 8;
  void clear_issupportt1();
  static const int kIsSupportT1FieldNumber = 8;
  ::google::protobuf::int32 issupportt1() const;
  void set_issupportt1(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:FuturesProductInfoVo)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::ArenaStringPtr prodcode_;
  ::google::protobuf::internal::ArenaStringPtr instcode_;
  ::google::protobuf::internal::ArenaStringPtr contractsize_;
  ::google::protobuf::internal::ArenaStringPtr pricedecimalpoint_;
  ::google::protobuf::internal::ArenaStringPtr expirydate_;
  ::google::protobuf::int32 lotsize_;
  ::google::protobuf::int32 decinprice_;
  ::google::protobuf::int32 issupportt1_;
  mutable int _cached_size_;
  friend void  protobuf_InitDefaults_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto_impl();
  friend void  protobuf_AddDesc_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto_impl();
  friend void protobuf_AssignDesc_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto();
  friend void protobuf_ShutdownFile_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto();

  void InitAsDefaultInstance();
};
extern ::google::protobuf::internal::ExplicitlyConstructed<FuturesProductInfoVo> FuturesProductInfoVo_default_instance_;

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


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

#if !PROTOBUF_INLINE_NOT_IN_HEADERS
// FuturesProductInfoVo

// optional string prodCode = 1;
inline void FuturesProductInfoVo::clear_prodcode() {
  prodcode_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& FuturesProductInfoVo::prodcode() const {
  // @@protoc_insertion_point(field_get:FuturesProductInfoVo.prodCode)
  return prodcode_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_prodcode(const ::std::string& value) {
  
  prodcode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:FuturesProductInfoVo.prodCode)
}
inline void FuturesProductInfoVo::set_prodcode(const char* value) {
  
  prodcode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:FuturesProductInfoVo.prodCode)
}
inline void FuturesProductInfoVo::set_prodcode(const char* value, size_t size) {
  
  prodcode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:FuturesProductInfoVo.prodCode)
}
inline ::std::string* FuturesProductInfoVo::mutable_prodcode() {
  
  // @@protoc_insertion_point(field_mutable:FuturesProductInfoVo.prodCode)
  return prodcode_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* FuturesProductInfoVo::release_prodcode() {
  // @@protoc_insertion_point(field_release:FuturesProductInfoVo.prodCode)
  
  return prodcode_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_allocated_prodcode(::std::string* prodcode) {
  if (prodcode != NULL) {
    
  } else {
    
  }
  prodcode_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), prodcode);
  // @@protoc_insertion_point(field_set_allocated:FuturesProductInfoVo.prodCode)
}

// optional string instCode = 2;
inline void FuturesProductInfoVo::clear_instcode() {
  instcode_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& FuturesProductInfoVo::instcode() const {
  // @@protoc_insertion_point(field_get:FuturesProductInfoVo.instCode)
  return instcode_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_instcode(const ::std::string& value) {
  
  instcode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:FuturesProductInfoVo.instCode)
}
inline void FuturesProductInfoVo::set_instcode(const char* value) {
  
  instcode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:FuturesProductInfoVo.instCode)
}
inline void FuturesProductInfoVo::set_instcode(const char* value, size_t size) {
  
  instcode_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:FuturesProductInfoVo.instCode)
}
inline ::std::string* FuturesProductInfoVo::mutable_instcode() {
  
  // @@protoc_insertion_point(field_mutable:FuturesProductInfoVo.instCode)
  return instcode_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* FuturesProductInfoVo::release_instcode() {
  // @@protoc_insertion_point(field_release:FuturesProductInfoVo.instCode)
  
  return instcode_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_allocated_instcode(::std::string* instcode) {
  if (instcode != NULL) {
    
  } else {
    
  }
  instcode_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instcode);
  // @@protoc_insertion_point(field_set_allocated:FuturesProductInfoVo.instCode)
}

// optional int32 lotSize = 3;
inline void FuturesProductInfoVo::clear_lotsize() {
  lotsize_ = 0;
}
inline ::google::protobuf::int32 FuturesProductInfoVo::lotsize() const {
  // @@protoc_insertion_point(field_get:FuturesProductInfoVo.lotSize)
  return lotsize_;
}
inline void FuturesProductInfoVo::set_lotsize(::google::protobuf::int32 value) {
  
  lotsize_ = value;
  // @@protoc_insertion_point(field_set:FuturesProductInfoVo.lotSize)
}

// optional int32 decInPrice = 4;
inline void FuturesProductInfoVo::clear_decinprice() {
  decinprice_ = 0;
}
inline ::google::protobuf::int32 FuturesProductInfoVo::decinprice() const {
  // @@protoc_insertion_point(field_get:FuturesProductInfoVo.decInPrice)
  return decinprice_;
}
inline void FuturesProductInfoVo::set_decinprice(::google::protobuf::int32 value) {
  
  decinprice_ = value;
  // @@protoc_insertion_point(field_set:FuturesProductInfoVo.decInPrice)
}

// optional string contractSize = 5;
inline void FuturesProductInfoVo::clear_contractsize() {
  contractsize_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& FuturesProductInfoVo::contractsize() const {
  // @@protoc_insertion_point(field_get:FuturesProductInfoVo.contractSize)
  return contractsize_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_contractsize(const ::std::string& value) {
  
  contractsize_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:FuturesProductInfoVo.contractSize)
}
inline void FuturesProductInfoVo::set_contractsize(const char* value) {
  
  contractsize_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:FuturesProductInfoVo.contractSize)
}
inline void FuturesProductInfoVo::set_contractsize(const char* value, size_t size) {
  
  contractsize_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:FuturesProductInfoVo.contractSize)
}
inline ::std::string* FuturesProductInfoVo::mutable_contractsize() {
  
  // @@protoc_insertion_point(field_mutable:FuturesProductInfoVo.contractSize)
  return contractsize_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* FuturesProductInfoVo::release_contractsize() {
  // @@protoc_insertion_point(field_release:FuturesProductInfoVo.contractSize)
  
  return contractsize_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_allocated_contractsize(::std::string* contractsize) {
  if (contractsize != NULL) {
    
  } else {
    
  }
  contractsize_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), contractsize);
  // @@protoc_insertion_point(field_set_allocated:FuturesProductInfoVo.contractSize)
}

// optional string priceDecimalPoint = 6;
inline void FuturesProductInfoVo::clear_pricedecimalpoint() {
  pricedecimalpoint_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& FuturesProductInfoVo::pricedecimalpoint() const {
  // @@protoc_insertion_point(field_get:FuturesProductInfoVo.priceDecimalPoint)
  return pricedecimalpoint_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_pricedecimalpoint(const ::std::string& value) {
  
  pricedecimalpoint_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:FuturesProductInfoVo.priceDecimalPoint)
}
inline void FuturesProductInfoVo::set_pricedecimalpoint(const char* value) {
  
  pricedecimalpoint_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:FuturesProductInfoVo.priceDecimalPoint)
}
inline void FuturesProductInfoVo::set_pricedecimalpoint(const char* value, size_t size) {
  
  pricedecimalpoint_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:FuturesProductInfoVo.priceDecimalPoint)
}
inline ::std::string* FuturesProductInfoVo::mutable_pricedecimalpoint() {
  
  // @@protoc_insertion_point(field_mutable:FuturesProductInfoVo.priceDecimalPoint)
  return pricedecimalpoint_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* FuturesProductInfoVo::release_pricedecimalpoint() {
  // @@protoc_insertion_point(field_release:FuturesProductInfoVo.priceDecimalPoint)
  
  return pricedecimalpoint_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_allocated_pricedecimalpoint(::std::string* pricedecimalpoint) {
  if (pricedecimalpoint != NULL) {
    
  } else {
    
  }
  pricedecimalpoint_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), pricedecimalpoint);
  // @@protoc_insertion_point(field_set_allocated:FuturesProductInfoVo.priceDecimalPoint)
}

// optional string expiryDate = 7;
inline void FuturesProductInfoVo::clear_expirydate() {
  expirydate_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline const ::std::string& FuturesProductInfoVo::expirydate() const {
  // @@protoc_insertion_point(field_get:FuturesProductInfoVo.expiryDate)
  return expirydate_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_expirydate(const ::std::string& value) {
  
  expirydate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:FuturesProductInfoVo.expiryDate)
}
inline void FuturesProductInfoVo::set_expirydate(const char* value) {
  
  expirydate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:FuturesProductInfoVo.expiryDate)
}
inline void FuturesProductInfoVo::set_expirydate(const char* value, size_t size) {
  
  expirydate_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:FuturesProductInfoVo.expiryDate)
}
inline ::std::string* FuturesProductInfoVo::mutable_expirydate() {
  
  // @@protoc_insertion_point(field_mutable:FuturesProductInfoVo.expiryDate)
  return expirydate_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* FuturesProductInfoVo::release_expirydate() {
  // @@protoc_insertion_point(field_release:FuturesProductInfoVo.expiryDate)
  
  return expirydate_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void FuturesProductInfoVo::set_allocated_expirydate(::std::string* expirydate) {
  if (expirydate != NULL) {
    
  } else {
    
  }
  expirydate_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), expirydate);
  // @@protoc_insertion_point(field_set_allocated:FuturesProductInfoVo.expiryDate)
}

// optional int32 isSupportT1 = 8;
inline void FuturesProductInfoVo::clear_issupportt1() {
  issupportt1_ = 0;
}
inline ::google::protobuf::int32 FuturesProductInfoVo::issupportt1() const {
  // @@protoc_insertion_point(field_get:FuturesProductInfoVo.isSupportT1)
  return issupportt1_;
}
inline void FuturesProductInfoVo::set_issupportt1(::google::protobuf::int32 value) {
  
  issupportt1_ = value;
  // @@protoc_insertion_point(field_set:FuturesProductInfoVo.isSupportT1)
}

inline const FuturesProductInfoVo* FuturesProductInfoVo::internal_default_instance() {
  return &FuturesProductInfoVo_default_instance_.get();
}
#endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS

// @@protoc_insertion_point(namespace_scope)

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_trade_2fvo_2ffutures_2fFuturesProductInfoVo_2eproto__INCLUDED
