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

#ifndef PROTOBUF_detection_5fresult_2eproto__INCLUDED
#define PROTOBUF_detection_5fresult_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)

namespace PaddleSolution {

// Internal implementation detail -- do not call these.
void protobuf_AddDesc_detection_5fresult_2eproto();
void protobuf_InitDefaults_detection_5fresult_2eproto();
void protobuf_AssignDesc_detection_5fresult_2eproto();
void protobuf_ShutdownFile_detection_5fresult_2eproto();

class DetectionBox;
class DetectionResult;

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

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

  DetectionBox(const DetectionBox& from);

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

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

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

  static const DetectionBox* internal_default_instance();

  void Swap(DetectionBox* other);

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

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

  DetectionBox* New(::google::protobuf::Arena* arena) const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const DetectionBox& from);
  void MergeFrom(const DetectionBox& 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(DetectionBox* other);
  void UnsafeMergeFrom(const DetectionBox& 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 int32 class = 1;
  bool has_class_() const;
  void clear_class_();
  static const int kClassFieldNumber = 1;
  ::google::protobuf::int32 class_() const;
  void set_class_(::google::protobuf::int32 value);

  // optional float score = 2;
  bool has_score() const;
  void clear_score();
  static const int kScoreFieldNumber = 2;
  float score() const;
  void set_score(float value);

  // optional float left_top_x = 3;
  bool has_left_top_x() const;
  void clear_left_top_x();
  static const int kLeftTopXFieldNumber = 3;
  float left_top_x() const;
  void set_left_top_x(float value);

  // optional float left_top_y = 4;
  bool has_left_top_y() const;
  void clear_left_top_y();
  static const int kLeftTopYFieldNumber = 4;
  float left_top_y() const;
  void set_left_top_y(float value);

  // optional float right_bottom_x = 5;
  bool has_right_bottom_x() const;
  void clear_right_bottom_x();
  static const int kRightBottomXFieldNumber = 5;
  float right_bottom_x() const;
  void set_right_bottom_x(float value);

  // optional float right_bottom_y = 6;
  bool has_right_bottom_y() const;
  void clear_right_bottom_y();
  static const int kRightBottomYFieldNumber = 6;
  float right_bottom_y() const;
  void set_right_bottom_y(float value);

  // @@protoc_insertion_point(class_scope:PaddleSolution.DetectionBox)
 private:
  inline void set_has_class_();
  inline void clear_has_class_();
  inline void set_has_score();
  inline void clear_has_score();
  inline void set_has_left_top_x();
  inline void clear_has_left_top_x();
  inline void set_has_left_top_y();
  inline void clear_has_left_top_y();
  inline void set_has_right_bottom_x();
  inline void clear_has_right_bottom_x();
  inline void set_has_right_bottom_y();
  inline void clear_has_right_bottom_y();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::int32 class__;
  float score_;
  float left_top_x_;
  float left_top_y_;
  float right_bottom_x_;
  float right_bottom_y_;
  friend void  protobuf_InitDefaults_detection_5fresult_2eproto_impl();
  friend void  protobuf_AddDesc_detection_5fresult_2eproto_impl();
  friend void protobuf_AssignDesc_detection_5fresult_2eproto();
  friend void protobuf_ShutdownFile_detection_5fresult_2eproto();

  void InitAsDefaultInstance();
};
extern ::google::protobuf::internal::ExplicitlyConstructed<DetectionBox> DetectionBox_default_instance_;

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

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

  DetectionResult(const DetectionResult& from);

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

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

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

  static const DetectionResult* internal_default_instance();

  void Swap(DetectionResult* other);

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

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

  DetectionResult* New(::google::protobuf::Arena* arena) const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const DetectionResult& from);
  void MergeFrom(const DetectionResult& 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(DetectionResult* other);
  void UnsafeMergeFrom(const DetectionResult& 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 filename = 1;
  bool has_filename() const;
  void clear_filename();
  static const int kFilenameFieldNumber = 1;
  const ::std::string& filename() const;
  void set_filename(const ::std::string& value);
  void set_filename(const char* value);
  void set_filename(const char* value, size_t size);
  ::std::string* mutable_filename();
  ::std::string* release_filename();
  void set_allocated_filename(::std::string* filename);

  // repeated .PaddleSolution.DetectionBox detection_boxes = 2;
  int detection_boxes_size() const;
  void clear_detection_boxes();
  static const int kDetectionBoxesFieldNumber = 2;
  const ::PaddleSolution::DetectionBox& detection_boxes(int index) const;
  ::PaddleSolution::DetectionBox* mutable_detection_boxes(int index);
  ::PaddleSolution::DetectionBox* add_detection_boxes();
  ::google::protobuf::RepeatedPtrField< ::PaddleSolution::DetectionBox >*
      mutable_detection_boxes();
  const ::google::protobuf::RepeatedPtrField< ::PaddleSolution::DetectionBox >&
      detection_boxes() const;

  // @@protoc_insertion_point(class_scope:PaddleSolution.DetectionResult)
 private:
  inline void set_has_filename();
  inline void clear_has_filename();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::PaddleSolution::DetectionBox > detection_boxes_;
  ::google::protobuf::internal::ArenaStringPtr filename_;
  friend void  protobuf_InitDefaults_detection_5fresult_2eproto_impl();
  friend void  protobuf_AddDesc_detection_5fresult_2eproto_impl();
  friend void protobuf_AssignDesc_detection_5fresult_2eproto();
  friend void protobuf_ShutdownFile_detection_5fresult_2eproto();

  void InitAsDefaultInstance();
};
extern ::google::protobuf::internal::ExplicitlyConstructed<DetectionResult> DetectionResult_default_instance_;

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


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

#if !PROTOBUF_INLINE_NOT_IN_HEADERS
// DetectionBox

// optional int32 class = 1;
inline bool DetectionBox::has_class_() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void DetectionBox::set_has_class_() {
  _has_bits_[0] |= 0x00000001u;
}
inline void DetectionBox::clear_has_class_() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void DetectionBox::clear_class_() {
  class__ = 0;
  clear_has_class_();
}
inline ::google::protobuf::int32 DetectionBox::class_() const {
  // @@protoc_insertion_point(field_get:PaddleSolution.DetectionBox.class)
  return class__;
}
inline void DetectionBox::set_class_(::google::protobuf::int32 value) {
  set_has_class_();
  class__ = value;
  // @@protoc_insertion_point(field_set:PaddleSolution.DetectionBox.class)
}

// optional float score = 2;
inline bool DetectionBox::has_score() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void DetectionBox::set_has_score() {
  _has_bits_[0] |= 0x00000002u;
}
inline void DetectionBox::clear_has_score() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void DetectionBox::clear_score() {
  score_ = 0;
  clear_has_score();
}
inline float DetectionBox::score() const {
  // @@protoc_insertion_point(field_get:PaddleSolution.DetectionBox.score)
  return score_;
}
inline void DetectionBox::set_score(float value) {
  set_has_score();
  score_ = value;
  // @@protoc_insertion_point(field_set:PaddleSolution.DetectionBox.score)
}

// optional float left_top_x = 3;
inline bool DetectionBox::has_left_top_x() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void DetectionBox::set_has_left_top_x() {
  _has_bits_[0] |= 0x00000004u;
}
inline void DetectionBox::clear_has_left_top_x() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void DetectionBox::clear_left_top_x() {
  left_top_x_ = 0;
  clear_has_left_top_x();
}
inline float DetectionBox::left_top_x() const {
  // @@protoc_insertion_point(field_get:PaddleSolution.DetectionBox.left_top_x)
  return left_top_x_;
}
inline void DetectionBox::set_left_top_x(float value) {
  set_has_left_top_x();
  left_top_x_ = value;
  // @@protoc_insertion_point(field_set:PaddleSolution.DetectionBox.left_top_x)
}

// optional float left_top_y = 4;
inline bool DetectionBox::has_left_top_y() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void DetectionBox::set_has_left_top_y() {
  _has_bits_[0] |= 0x00000008u;
}
inline void DetectionBox::clear_has_left_top_y() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void DetectionBox::clear_left_top_y() {
  left_top_y_ = 0;
  clear_has_left_top_y();
}
inline float DetectionBox::left_top_y() const {
  // @@protoc_insertion_point(field_get:PaddleSolution.DetectionBox.left_top_y)
  return left_top_y_;
}
inline void DetectionBox::set_left_top_y(float value) {
  set_has_left_top_y();
  left_top_y_ = value;
  // @@protoc_insertion_point(field_set:PaddleSolution.DetectionBox.left_top_y)
}

// optional float right_bottom_x = 5;
inline bool DetectionBox::has_right_bottom_x() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void DetectionBox::set_has_right_bottom_x() {
  _has_bits_[0] |= 0x00000010u;
}
inline void DetectionBox::clear_has_right_bottom_x() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void DetectionBox::clear_right_bottom_x() {
  right_bottom_x_ = 0;
  clear_has_right_bottom_x();
}
inline float DetectionBox::right_bottom_x() const {
  // @@protoc_insertion_point(field_get:PaddleSolution.DetectionBox.right_bottom_x)
  return right_bottom_x_;
}
inline void DetectionBox::set_right_bottom_x(float value) {
  set_has_right_bottom_x();
  right_bottom_x_ = value;
  // @@protoc_insertion_point(field_set:PaddleSolution.DetectionBox.right_bottom_x)
}

// optional float right_bottom_y = 6;
inline bool DetectionBox::has_right_bottom_y() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void DetectionBox::set_has_right_bottom_y() {
  _has_bits_[0] |= 0x00000020u;
}
inline void DetectionBox::clear_has_right_bottom_y() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void DetectionBox::clear_right_bottom_y() {
  right_bottom_y_ = 0;
  clear_has_right_bottom_y();
}
inline float DetectionBox::right_bottom_y() const {
  // @@protoc_insertion_point(field_get:PaddleSolution.DetectionBox.right_bottom_y)
  return right_bottom_y_;
}
inline void DetectionBox::set_right_bottom_y(float value) {
  set_has_right_bottom_y();
  right_bottom_y_ = value;
  // @@protoc_insertion_point(field_set:PaddleSolution.DetectionBox.right_bottom_y)
}

inline const DetectionBox* DetectionBox::internal_default_instance() {
  return &DetectionBox_default_instance_.get();
}
// -------------------------------------------------------------------

// DetectionResult

// optional string filename = 1;
inline bool DetectionResult::has_filename() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void DetectionResult::set_has_filename() {
  _has_bits_[0] |= 0x00000001u;
}
inline void DetectionResult::clear_has_filename() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void DetectionResult::clear_filename() {
  filename_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  clear_has_filename();
}
inline const ::std::string& DetectionResult::filename() const {
  // @@protoc_insertion_point(field_get:PaddleSolution.DetectionResult.filename)
  return filename_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void DetectionResult::set_filename(const ::std::string& value) {
  set_has_filename();
  filename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:PaddleSolution.DetectionResult.filename)
}
inline void DetectionResult::set_filename(const char* value) {
  set_has_filename();
  filename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:PaddleSolution.DetectionResult.filename)
}
inline void DetectionResult::set_filename(const char* value, size_t size) {
  set_has_filename();
  filename_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:PaddleSolution.DetectionResult.filename)
}
inline ::std::string* DetectionResult::mutable_filename() {
  set_has_filename();
  // @@protoc_insertion_point(field_mutable:PaddleSolution.DetectionResult.filename)
  return filename_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline ::std::string* DetectionResult::release_filename() {
  // @@protoc_insertion_point(field_release:PaddleSolution.DetectionResult.filename)
  clear_has_filename();
  return filename_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
}
inline void DetectionResult::set_allocated_filename(::std::string* filename) {
  if (filename != NULL) {
    set_has_filename();
  } else {
    clear_has_filename();
  }
  filename_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), filename);
  // @@protoc_insertion_point(field_set_allocated:PaddleSolution.DetectionResult.filename)
}

// repeated .PaddleSolution.DetectionBox detection_boxes = 2;
inline int DetectionResult::detection_boxes_size() const {
  return detection_boxes_.size();
}
inline void DetectionResult::clear_detection_boxes() {
  detection_boxes_.Clear();
}
inline const ::PaddleSolution::DetectionBox& DetectionResult::detection_boxes(int index) const {
  // @@protoc_insertion_point(field_get:PaddleSolution.DetectionResult.detection_boxes)
  return detection_boxes_.Get(index);
}
inline ::PaddleSolution::DetectionBox* DetectionResult::mutable_detection_boxes(int index) {
  // @@protoc_insertion_point(field_mutable:PaddleSolution.DetectionResult.detection_boxes)
  return detection_boxes_.Mutable(index);
}
inline ::PaddleSolution::DetectionBox* DetectionResult::add_detection_boxes() {
  // @@protoc_insertion_point(field_add:PaddleSolution.DetectionResult.detection_boxes)
  return detection_boxes_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::PaddleSolution::DetectionBox >*
DetectionResult::mutable_detection_boxes() {
  // @@protoc_insertion_point(field_mutable_list:PaddleSolution.DetectionResult.detection_boxes)
  return &detection_boxes_;
}
inline const ::google::protobuf::RepeatedPtrField< ::PaddleSolution::DetectionBox >&
DetectionResult::detection_boxes() const {
  // @@protoc_insertion_point(field_list:PaddleSolution.DetectionResult.detection_boxes)
  return detection_boxes_;
}

inline const DetectionResult* DetectionResult::internal_default_instance() {
  return &DetectionResult_default_instance_.get();
}
#endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace PaddleSolution

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_detection_5fresult_2eproto__INCLUDED
