// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: calculator.proto

#ifndef PROTOBUF_calculator_2eproto__INCLUDED
#define PROTOBUF_calculator_2eproto__INCLUDED

#include <string>

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

#if GOOGLE_PROTOBUF_VERSION < 3005000
#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 3005001 < 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/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)

namespace protobuf_calculator_2eproto {
// Internal implementation detail -- do not use these members.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[8];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static const ::google::protobuf::uint32 offsets[];
};
void AddDescriptors();
void InitDefaultsAddRequestImpl();
void InitDefaultsAddRequest();
void InitDefaultsAddResultImpl();
void InitDefaultsAddResult();
void InitDefaultsSubRequestImpl();
void InitDefaultsSubRequest();
void InitDefaultsSubResultImpl();
void InitDefaultsSubResult();
void InitDefaultsMulRequestImpl();
void InitDefaultsMulRequest();
void InitDefaultsMulResultImpl();
void InitDefaultsMulResult();
void InitDefaultsDivRequestImpl();
void InitDefaultsDivRequest();
void InitDefaultsDivResultImpl();
void InitDefaultsDivResult();
inline void InitDefaults() {
  InitDefaultsAddRequest();
  InitDefaultsAddResult();
  InitDefaultsSubRequest();
  InitDefaultsSubResult();
  InitDefaultsMulRequest();
  InitDefaultsMulResult();
  InitDefaultsDivRequest();
  InitDefaultsDivResult();
}
}  // namespace protobuf_calculator_2eproto
namespace Calculator {
class AddRequest;
class AddRequestDefaultTypeInternal;
extern AddRequestDefaultTypeInternal _AddRequest_default_instance_;
class AddResult;
class AddResultDefaultTypeInternal;
extern AddResultDefaultTypeInternal _AddResult_default_instance_;
class DivRequest;
class DivRequestDefaultTypeInternal;
extern DivRequestDefaultTypeInternal _DivRequest_default_instance_;
class DivResult;
class DivResultDefaultTypeInternal;
extern DivResultDefaultTypeInternal _DivResult_default_instance_;
class MulRequest;
class MulRequestDefaultTypeInternal;
extern MulRequestDefaultTypeInternal _MulRequest_default_instance_;
class MulResult;
class MulResultDefaultTypeInternal;
extern MulResultDefaultTypeInternal _MulResult_default_instance_;
class SubRequest;
class SubRequestDefaultTypeInternal;
extern SubRequestDefaultTypeInternal _SubRequest_default_instance_;
class SubResult;
class SubResultDefaultTypeInternal;
extern SubResultDefaultTypeInternal _SubResult_default_instance_;
}  // namespace Calculator
namespace Calculator {

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

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

  AddRequest(const AddRequest& from);

  inline AddRequest& operator=(const AddRequest& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  AddRequest(AddRequest&& from) noexcept
    : AddRequest() {
    *this = ::std::move(from);
  }

  inline AddRequest& operator=(AddRequest&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const AddRequest& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const AddRequest* internal_default_instance() {
    return reinterpret_cast<const AddRequest*>(
               &_AddRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

  void Swap(AddRequest* other);
  friend void swap(AddRequest& a, AddRequest& b) {
    a.Swap(&b);
  }

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

  inline AddRequest* New() const PROTOBUF_FINAL { return New(NULL); }

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

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(AddRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

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

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

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

  // int32 lhs = 1;
  void clear_lhs();
  static const int kLhsFieldNumber = 1;
  ::google::protobuf::int32 lhs() const;
  void set_lhs(::google::protobuf::int32 value);

  // int32 rhs = 2;
  void clear_rhs();
  static const int kRhsFieldNumber = 2;
  ::google::protobuf::int32 rhs() const;
  void set_rhs(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:Calculator.AddRequest)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int32 lhs_;
  ::google::protobuf::int32 rhs_;
  mutable int _cached_size_;
  friend struct ::protobuf_calculator_2eproto::TableStruct;
  friend void ::protobuf_calculator_2eproto::InitDefaultsAddRequestImpl();
};
// -------------------------------------------------------------------

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

  AddResult(const AddResult& from);

  inline AddResult& operator=(const AddResult& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  AddResult(AddResult&& from) noexcept
    : AddResult() {
    *this = ::std::move(from);
  }

  inline AddResult& operator=(AddResult&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const AddResult& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const AddResult* internal_default_instance() {
    return reinterpret_cast<const AddResult*>(
               &_AddResult_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    1;

  void Swap(AddResult* other);
  friend void swap(AddResult& a, AddResult& b) {
    a.Swap(&b);
  }

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

  inline AddResult* New() const PROTOBUF_FINAL { return New(NULL); }

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

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(AddResult* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

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

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

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

  // int32 value = 1;
  void clear_value();
  static const int kValueFieldNumber = 1;
  ::google::protobuf::int32 value() const;
  void set_value(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:Calculator.AddResult)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int32 value_;
  mutable int _cached_size_;
  friend struct ::protobuf_calculator_2eproto::TableStruct;
  friend void ::protobuf_calculator_2eproto::InitDefaultsAddResultImpl();
};
// -------------------------------------------------------------------

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

  SubRequest(const SubRequest& from);

  inline SubRequest& operator=(const SubRequest& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  SubRequest(SubRequest&& from) noexcept
    : SubRequest() {
    *this = ::std::move(from);
  }

  inline SubRequest& operator=(SubRequest&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const SubRequest& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const SubRequest* internal_default_instance() {
    return reinterpret_cast<const SubRequest*>(
               &_SubRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    2;

  void Swap(SubRequest* other);
  friend void swap(SubRequest& a, SubRequest& b) {
    a.Swap(&b);
  }

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

  inline SubRequest* New() const PROTOBUF_FINAL { return New(NULL); }

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

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SubRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

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

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

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

  // int32 lhs = 1;
  void clear_lhs();
  static const int kLhsFieldNumber = 1;
  ::google::protobuf::int32 lhs() const;
  void set_lhs(::google::protobuf::int32 value);

  // int32 rhs = 2;
  void clear_rhs();
  static const int kRhsFieldNumber = 2;
  ::google::protobuf::int32 rhs() const;
  void set_rhs(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:Calculator.SubRequest)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int32 lhs_;
  ::google::protobuf::int32 rhs_;
  mutable int _cached_size_;
  friend struct ::protobuf_calculator_2eproto::TableStruct;
  friend void ::protobuf_calculator_2eproto::InitDefaultsSubRequestImpl();
};
// -------------------------------------------------------------------

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

  SubResult(const SubResult& from);

  inline SubResult& operator=(const SubResult& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  SubResult(SubResult&& from) noexcept
    : SubResult() {
    *this = ::std::move(from);
  }

  inline SubResult& operator=(SubResult&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const SubResult& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const SubResult* internal_default_instance() {
    return reinterpret_cast<const SubResult*>(
               &_SubResult_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    3;

  void Swap(SubResult* other);
  friend void swap(SubResult& a, SubResult& b) {
    a.Swap(&b);
  }

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

  inline SubResult* New() const PROTOBUF_FINAL { return New(NULL); }

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

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(SubResult* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

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

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

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

  // int32 value = 1;
  void clear_value();
  static const int kValueFieldNumber = 1;
  ::google::protobuf::int32 value() const;
  void set_value(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:Calculator.SubResult)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int32 value_;
  mutable int _cached_size_;
  friend struct ::protobuf_calculator_2eproto::TableStruct;
  friend void ::protobuf_calculator_2eproto::InitDefaultsSubResultImpl();
};
// -------------------------------------------------------------------

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

  MulRequest(const MulRequest& from);

  inline MulRequest& operator=(const MulRequest& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  MulRequest(MulRequest&& from) noexcept
    : MulRequest() {
    *this = ::std::move(from);
  }

  inline MulRequest& operator=(MulRequest&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const MulRequest& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const MulRequest* internal_default_instance() {
    return reinterpret_cast<const MulRequest*>(
               &_MulRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    4;

  void Swap(MulRequest* other);
  friend void swap(MulRequest& a, MulRequest& b) {
    a.Swap(&b);
  }

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

  inline MulRequest* New() const PROTOBUF_FINAL { return New(NULL); }

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

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(MulRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

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

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

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

  // int32 lhs = 1;
  void clear_lhs();
  static const int kLhsFieldNumber = 1;
  ::google::protobuf::int32 lhs() const;
  void set_lhs(::google::protobuf::int32 value);

  // int32 rhs = 2;
  void clear_rhs();
  static const int kRhsFieldNumber = 2;
  ::google::protobuf::int32 rhs() const;
  void set_rhs(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:Calculator.MulRequest)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int32 lhs_;
  ::google::protobuf::int32 rhs_;
  mutable int _cached_size_;
  friend struct ::protobuf_calculator_2eproto::TableStruct;
  friend void ::protobuf_calculator_2eproto::InitDefaultsMulRequestImpl();
};
// -------------------------------------------------------------------

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

  MulResult(const MulResult& from);

  inline MulResult& operator=(const MulResult& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  MulResult(MulResult&& from) noexcept
    : MulResult() {
    *this = ::std::move(from);
  }

  inline MulResult& operator=(MulResult&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const MulResult& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const MulResult* internal_default_instance() {
    return reinterpret_cast<const MulResult*>(
               &_MulResult_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    5;

  void Swap(MulResult* other);
  friend void swap(MulResult& a, MulResult& b) {
    a.Swap(&b);
  }

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

  inline MulResult* New() const PROTOBUF_FINAL { return New(NULL); }

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

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(MulResult* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

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

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

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

  // int32 value = 1;
  void clear_value();
  static const int kValueFieldNumber = 1;
  ::google::protobuf::int32 value() const;
  void set_value(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:Calculator.MulResult)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int32 value_;
  mutable int _cached_size_;
  friend struct ::protobuf_calculator_2eproto::TableStruct;
  friend void ::protobuf_calculator_2eproto::InitDefaultsMulResultImpl();
};
// -------------------------------------------------------------------

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

  DivRequest(const DivRequest& from);

  inline DivRequest& operator=(const DivRequest& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  DivRequest(DivRequest&& from) noexcept
    : DivRequest() {
    *this = ::std::move(from);
  }

  inline DivRequest& operator=(DivRequest&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const DivRequest& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const DivRequest* internal_default_instance() {
    return reinterpret_cast<const DivRequest*>(
               &_DivRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    6;

  void Swap(DivRequest* other);
  friend void swap(DivRequest& a, DivRequest& b) {
    a.Swap(&b);
  }

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

  inline DivRequest* New() const PROTOBUF_FINAL { return New(NULL); }

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

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(DivRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

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

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

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

  // int32 lhs = 1;
  void clear_lhs();
  static const int kLhsFieldNumber = 1;
  ::google::protobuf::int32 lhs() const;
  void set_lhs(::google::protobuf::int32 value);

  // int32 rhs = 2;
  void clear_rhs();
  static const int kRhsFieldNumber = 2;
  ::google::protobuf::int32 rhs() const;
  void set_rhs(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:Calculator.DivRequest)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int32 lhs_;
  ::google::protobuf::int32 rhs_;
  mutable int _cached_size_;
  friend struct ::protobuf_calculator_2eproto::TableStruct;
  friend void ::protobuf_calculator_2eproto::InitDefaultsDivRequestImpl();
};
// -------------------------------------------------------------------

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

  DivResult(const DivResult& from);

  inline DivResult& operator=(const DivResult& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  DivResult(DivResult&& from) noexcept
    : DivResult() {
    *this = ::std::move(from);
  }

  inline DivResult& operator=(DivResult&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const DivResult& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const DivResult* internal_default_instance() {
    return reinterpret_cast<const DivResult*>(
               &_DivResult_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    7;

  void Swap(DivResult* other);
  friend void swap(DivResult& a, DivResult& b) {
    a.Swap(&b);
  }

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

  inline DivResult* New() const PROTOBUF_FINAL { return New(NULL); }

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

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(DivResult* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

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

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

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

  // int32 value = 1;
  void clear_value();
  static const int kValueFieldNumber = 1;
  ::google::protobuf::int32 value() const;
  void set_value(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:Calculator.DivResult)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::int32 value_;
  mutable int _cached_size_;
  friend struct ::protobuf_calculator_2eproto::TableStruct;
  friend void ::protobuf_calculator_2eproto::InitDefaultsDivResultImpl();
};
// ===================================================================


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

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// AddRequest

// int32 lhs = 1;
inline void AddRequest::clear_lhs() {
  lhs_ = 0;
}
inline ::google::protobuf::int32 AddRequest::lhs() const {
  // @@protoc_insertion_point(field_get:Calculator.AddRequest.lhs)
  return lhs_;
}
inline void AddRequest::set_lhs(::google::protobuf::int32 value) {
  
  lhs_ = value;
  // @@protoc_insertion_point(field_set:Calculator.AddRequest.lhs)
}

// int32 rhs = 2;
inline void AddRequest::clear_rhs() {
  rhs_ = 0;
}
inline ::google::protobuf::int32 AddRequest::rhs() const {
  // @@protoc_insertion_point(field_get:Calculator.AddRequest.rhs)
  return rhs_;
}
inline void AddRequest::set_rhs(::google::protobuf::int32 value) {
  
  rhs_ = value;
  // @@protoc_insertion_point(field_set:Calculator.AddRequest.rhs)
}

// -------------------------------------------------------------------

// AddResult

// int32 value = 1;
inline void AddResult::clear_value() {
  value_ = 0;
}
inline ::google::protobuf::int32 AddResult::value() const {
  // @@protoc_insertion_point(field_get:Calculator.AddResult.value)
  return value_;
}
inline void AddResult::set_value(::google::protobuf::int32 value) {
  
  value_ = value;
  // @@protoc_insertion_point(field_set:Calculator.AddResult.value)
}

// -------------------------------------------------------------------

// SubRequest

// int32 lhs = 1;
inline void SubRequest::clear_lhs() {
  lhs_ = 0;
}
inline ::google::protobuf::int32 SubRequest::lhs() const {
  // @@protoc_insertion_point(field_get:Calculator.SubRequest.lhs)
  return lhs_;
}
inline void SubRequest::set_lhs(::google::protobuf::int32 value) {
  
  lhs_ = value;
  // @@protoc_insertion_point(field_set:Calculator.SubRequest.lhs)
}

// int32 rhs = 2;
inline void SubRequest::clear_rhs() {
  rhs_ = 0;
}
inline ::google::protobuf::int32 SubRequest::rhs() const {
  // @@protoc_insertion_point(field_get:Calculator.SubRequest.rhs)
  return rhs_;
}
inline void SubRequest::set_rhs(::google::protobuf::int32 value) {
  
  rhs_ = value;
  // @@protoc_insertion_point(field_set:Calculator.SubRequest.rhs)
}

// -------------------------------------------------------------------

// SubResult

// int32 value = 1;
inline void SubResult::clear_value() {
  value_ = 0;
}
inline ::google::protobuf::int32 SubResult::value() const {
  // @@protoc_insertion_point(field_get:Calculator.SubResult.value)
  return value_;
}
inline void SubResult::set_value(::google::protobuf::int32 value) {
  
  value_ = value;
  // @@protoc_insertion_point(field_set:Calculator.SubResult.value)
}

// -------------------------------------------------------------------

// MulRequest

// int32 lhs = 1;
inline void MulRequest::clear_lhs() {
  lhs_ = 0;
}
inline ::google::protobuf::int32 MulRequest::lhs() const {
  // @@protoc_insertion_point(field_get:Calculator.MulRequest.lhs)
  return lhs_;
}
inline void MulRequest::set_lhs(::google::protobuf::int32 value) {
  
  lhs_ = value;
  // @@protoc_insertion_point(field_set:Calculator.MulRequest.lhs)
}

// int32 rhs = 2;
inline void MulRequest::clear_rhs() {
  rhs_ = 0;
}
inline ::google::protobuf::int32 MulRequest::rhs() const {
  // @@protoc_insertion_point(field_get:Calculator.MulRequest.rhs)
  return rhs_;
}
inline void MulRequest::set_rhs(::google::protobuf::int32 value) {
  
  rhs_ = value;
  // @@protoc_insertion_point(field_set:Calculator.MulRequest.rhs)
}

// -------------------------------------------------------------------

// MulResult

// int32 value = 1;
inline void MulResult::clear_value() {
  value_ = 0;
}
inline ::google::protobuf::int32 MulResult::value() const {
  // @@protoc_insertion_point(field_get:Calculator.MulResult.value)
  return value_;
}
inline void MulResult::set_value(::google::protobuf::int32 value) {
  
  value_ = value;
  // @@protoc_insertion_point(field_set:Calculator.MulResult.value)
}

// -------------------------------------------------------------------

// DivRequest

// int32 lhs = 1;
inline void DivRequest::clear_lhs() {
  lhs_ = 0;
}
inline ::google::protobuf::int32 DivRequest::lhs() const {
  // @@protoc_insertion_point(field_get:Calculator.DivRequest.lhs)
  return lhs_;
}
inline void DivRequest::set_lhs(::google::protobuf::int32 value) {
  
  lhs_ = value;
  // @@protoc_insertion_point(field_set:Calculator.DivRequest.lhs)
}

// int32 rhs = 2;
inline void DivRequest::clear_rhs() {
  rhs_ = 0;
}
inline ::google::protobuf::int32 DivRequest::rhs() const {
  // @@protoc_insertion_point(field_get:Calculator.DivRequest.rhs)
  return rhs_;
}
inline void DivRequest::set_rhs(::google::protobuf::int32 value) {
  
  rhs_ = value;
  // @@protoc_insertion_point(field_set:Calculator.DivRequest.rhs)
}

// -------------------------------------------------------------------

// DivResult

// int32 value = 1;
inline void DivResult::clear_value() {
  value_ = 0;
}
inline ::google::protobuf::int32 DivResult::value() const {
  // @@protoc_insertion_point(field_get:Calculator.DivResult.value)
  return value_;
}
inline void DivResult::set_value(::google::protobuf::int32 value) {
  
  value_ = value;
  // @@protoc_insertion_point(field_set:Calculator.DivResult.value)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace Calculator

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_calculator_2eproto__INCLUDED
