text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: google/cloud/vision/v1/web_detection.proto
  
  #ifndef PROTOBUF_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto__INCLUDED
  #define PROTOBUF_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_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 3005000 < 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>
  #include "google/api/annotations.pb.h"
  // @@protoc_insertion_point(includes)
  
  namespace protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_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[4];
    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 InitDefaultsWebDetection_WebEntityImpl();
  void InitDefaultsWebDetection_WebEntity();
  void InitDefaultsWebDetection_WebImageImpl();
  void InitDefaultsWebDetection_WebImage();
  void InitDefaultsWebDetection_WebPageImpl();
  void InitDefaultsWebDetection_WebPage();
  void InitDefaultsWebDetectionImpl();
  void InitDefaultsWebDetection();
  inline void InitDefaults() {
    InitDefaultsWebDetection_WebEntity();
    InitDefaultsWebDetection_WebImage();
    InitDefaultsWebDetection_WebPage();
    InitDefaultsWebDetection();
  }
  }  // namespace protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto
  namespace google {
  namespace cloud {
  namespace vision {
  namespace v1 {
  class WebDetection;
  class WebDetectionDefaultTypeInternal;
  extern WebDetectionDefaultTypeInternal _WebDetection_default_instance_;
  class WebDetection_WebEntity;
  class WebDetection_WebEntityDefaultTypeInternal;
  extern WebDetection_WebEntityDefaultTypeInternal _WebDetection_WebEntity_default_instance_;
  class WebDetection_WebImage;
  class WebDetection_WebImageDefaultTypeInternal;
  extern WebDetection_WebImageDefaultTypeInternal _WebDetection_WebImage_default_instance_;
  class WebDetection_WebPage;
  class WebDetection_WebPageDefaultTypeInternal;
  extern WebDetection_WebPageDefaultTypeInternal _WebDetection_WebPage_default_instance_;
  }  // namespace v1
  }  // namespace vision
  }  // namespace cloud
  }  // namespace google
  namespace google {
  namespace cloud {
  namespace vision {
  namespace v1 {
  
  // ===================================================================
  
  class WebDetection_WebEntity : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.cloud.vision.v1.WebDetection.WebEntity) */ {
   public:
    WebDetection_WebEntity();
    virtual ~WebDetection_WebEntity();
  
    WebDetection_WebEntity(const WebDetection_WebEntity& from);
  
    inline WebDetection_WebEntity& operator=(const WebDetection_WebEntity& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    WebDetection_WebEntity(WebDetection_WebEntity&& from) noexcept
      : WebDetection_WebEntity() {
      *this = ::std::move(from);
    }
  
    inline WebDetection_WebEntity& operator=(WebDetection_WebEntity&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    inline ::google::protobuf::Arena* GetArena() const PROTOBUF_FINAL {
      return GetArenaNoVirtual();
    }
    inline void* GetMaybeArenaPointer() const PROTOBUF_FINAL {
      return MaybeArenaPtr();
    }
    static const ::google::protobuf::Descriptor* descriptor();
    static const WebDetection_WebEntity& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const WebDetection_WebEntity* internal_default_instance() {
      return reinterpret_cast<const WebDetection_WebEntity*>(
                 &_WebDetection_WebEntity_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      0;
  
    void UnsafeArenaSwap(WebDetection_WebEntity* other);
    void Swap(WebDetection_WebEntity* other);
    friend void swap(WebDetection_WebEntity& a, WebDetection_WebEntity& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline WebDetection_WebEntity* New() const PROTOBUF_FINAL { return New(NULL); }
  
    WebDetection_WebEntity* 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 WebDetection_WebEntity& from);
    void MergeFrom(const WebDetection_WebEntity& 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(WebDetection_WebEntity* other);
    protected:
    explicit WebDetection_WebEntity(::google::protobuf::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::google::protobuf::Arena* arena);
    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 PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string entity_id = 1;
    void clear_entity_id();
    static const int kEntityIdFieldNumber = 1;
    const ::std::string& entity_id() const;
    void set_entity_id(const ::std::string& value);
    #if LANG_CXX11
    void set_entity_id(::std::string&& value);
    #endif
    void set_entity_id(const char* value);
    void set_entity_id(const char* value, size_t size);
    ::std::string* mutable_entity_id();
    ::std::string* release_entity_id();
    void set_allocated_entity_id(::std::string* entity_id);
    PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
    "    string fields are deprecated and will be removed in a"
    "    future release.")
    ::std::string* unsafe_arena_release_entity_id();
    PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
    "    string fields are deprecated and will be removed in a"
    "    future release.")
    void unsafe_arena_set_allocated_entity_id(
        ::std::string* entity_id);
  
    // string description = 3;
    void clear_description();
    static const int kDescriptionFieldNumber = 3;
    const ::std::string& description() const;
    void set_description(const ::std::string& value);
    #if LANG_CXX11
    void set_description(::std::string&& value);
    #endif
    void set_description(const char* value);
    void set_description(const char* value, size_t size);
    ::std::string* mutable_description();
    ::std::string* release_description();
    void set_allocated_description(::std::string* description);
    PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
    "    string fields are deprecated and will be removed in a"
    "    future release.")
    ::std::string* unsafe_arena_release_description();
    PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
    "    string fields are deprecated and will be removed in a"
    "    future release.")
    void unsafe_arena_set_allocated_description(
        ::std::string* description);
  
    // float score = 2;
    void clear_score();
    static const int kScoreFieldNumber = 2;
    float score() const;
    void set_score(float value);
  
    // @@protoc_insertion_point(class_scope:google.cloud.vision.v1.WebDetection.WebEntity)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::google::protobuf::internal::ArenaStringPtr entity_id_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    float score_;
    mutable int _cached_size_;
    friend struct ::protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto::TableStruct;
    friend void ::protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto::InitDefaultsWebDetection_WebEntityImpl();
  };
  // -------------------------------------------------------------------
  
  class WebDetection_WebImage : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.cloud.vision.v1.WebDetection.WebImage) */ {
   public:
    WebDetection_WebImage();
    virtual ~WebDetection_WebImage();
  
    WebDetection_WebImage(const WebDetection_WebImage& from);
  
    inline WebDetection_WebImage& operator=(const WebDetection_WebImage& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    WebDetection_WebImage(WebDetection_WebImage&& from) noexcept
      : WebDetection_WebImage() {
      *this = ::std::move(from);
    }
  
    inline WebDetection_WebImage& operator=(WebDetection_WebImage&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    inline ::google::protobuf::Arena* GetArena() const PROTOBUF_FINAL {
      return GetArenaNoVirtual();
    }
    inline void* GetMaybeArenaPointer() const PROTOBUF_FINAL {
      return MaybeArenaPtr();
    }
    static const ::google::protobuf::Descriptor* descriptor();
    static const WebDetection_WebImage& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const WebDetection_WebImage* internal_default_instance() {
      return reinterpret_cast<const WebDetection_WebImage*>(
                 &_WebDetection_WebImage_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      1;
  
    void UnsafeArenaSwap(WebDetection_WebImage* other);
    void Swap(WebDetection_WebImage* other);
    friend void swap(WebDetection_WebImage& a, WebDetection_WebImage& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline WebDetection_WebImage* New() const PROTOBUF_FINAL { return New(NULL); }
  
    WebDetection_WebImage* 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 WebDetection_WebImage& from);
    void MergeFrom(const WebDetection_WebImage& 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(WebDetection_WebImage* other);
    protected:
    explicit WebDetection_WebImage(::google::protobuf::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::google::protobuf::Arena* arena);
    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 PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string url = 1;
    void clear_url();
    static const int kUrlFieldNumber = 1;
    const ::std::string& url() const;
    void set_url(const ::std::string& value);
    #if LANG_CXX11
    void set_url(::std::string&& value);
    #endif
    void set_url(const char* value);
    void set_url(const char* value, size_t size);
    ::std::string* mutable_url();
    ::std::string* release_url();
    void set_allocated_url(::std::string* url);
    PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
    "    string fields are deprecated and will be removed in a"
    "    future release.")
    ::std::string* unsafe_arena_release_url();
    PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
    "    string fields are deprecated and will be removed in a"
    "    future release.")
    void unsafe_arena_set_allocated_url(
        ::std::string* url);
  
    // float score = 2;
    void clear_score();
    static const int kScoreFieldNumber = 2;
    float score() const;
    void set_score(float value);
  
    // @@protoc_insertion_point(class_scope:google.cloud.vision.v1.WebDetection.WebImage)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::google::protobuf::internal::ArenaStringPtr url_;
    float score_;
    mutable int _cached_size_;
    friend struct ::protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto::TableStruct;
    friend void ::protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto::InitDefaultsWebDetection_WebImageImpl();
  };
  // -------------------------------------------------------------------
  
  class WebDetection_WebPage : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.cloud.vision.v1.WebDetection.WebPage) */ {
   public:
    WebDetection_WebPage();
    virtual ~WebDetection_WebPage();
  
    WebDetection_WebPage(const WebDetection_WebPage& from);
  
    inline WebDetection_WebPage& operator=(const WebDetection_WebPage& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    WebDetection_WebPage(WebDetection_WebPage&& from) noexcept
      : WebDetection_WebPage() {
      *this = ::std::move(from);
    }
  
    inline WebDetection_WebPage& operator=(WebDetection_WebPage&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    inline ::google::protobuf::Arena* GetArena() const PROTOBUF_FINAL {
      return GetArenaNoVirtual();
    }
    inline void* GetMaybeArenaPointer() const PROTOBUF_FINAL {
      return MaybeArenaPtr();
    }
    static const ::google::protobuf::Descriptor* descriptor();
    static const WebDetection_WebPage& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const WebDetection_WebPage* internal_default_instance() {
      return reinterpret_cast<const WebDetection_WebPage*>(
                 &_WebDetection_WebPage_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      2;
  
    void UnsafeArenaSwap(WebDetection_WebPage* other);
    void Swap(WebDetection_WebPage* other);
    friend void swap(WebDetection_WebPage& a, WebDetection_WebPage& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline WebDetection_WebPage* New() const PROTOBUF_FINAL { return New(NULL); }
  
    WebDetection_WebPage* 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 WebDetection_WebPage& from);
    void MergeFrom(const WebDetection_WebPage& 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(WebDetection_WebPage* other);
    protected:
    explicit WebDetection_WebPage(::google::protobuf::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::google::protobuf::Arena* arena);
    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 PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string url = 1;
    void clear_url();
    static const int kUrlFieldNumber = 1;
    const ::std::string& url() const;
    void set_url(const ::std::string& value);
    #if LANG_CXX11
    void set_url(::std::string&& value);
    #endif
    void set_url(const char* value);
    void set_url(const char* value, size_t size);
    ::std::string* mutable_url();
    ::std::string* release_url();
    void set_allocated_url(::std::string* url);
    PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
    "    string fields are deprecated and will be removed in a"
    "    future release.")
    ::std::string* unsafe_arena_release_url();
    PROTOBUF_RUNTIME_DEPRECATED("The unsafe_arena_ accessors for"
    "    string fields are deprecated and will be removed in a"
    "    future release.")
    void unsafe_arena_set_allocated_url(
        ::std::string* url);
  
    // float score = 2;
    void clear_score();
    static const int kScoreFieldNumber = 2;
    float score() const;
    void set_score(float value);
  
    // @@protoc_insertion_point(class_scope:google.cloud.vision.v1.WebDetection.WebPage)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::google::protobuf::internal::ArenaStringPtr url_;
    float score_;
    mutable int _cached_size_;
    friend struct ::protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto::TableStruct;
    friend void ::protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto::InitDefaultsWebDetection_WebPageImpl();
  };
  // -------------------------------------------------------------------
  
  class WebDetection : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.cloud.vision.v1.WebDetection) */ {
   public:
    WebDetection();
    virtual ~WebDetection();
  
    WebDetection(const WebDetection& from);
  
    inline WebDetection& operator=(const WebDetection& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    WebDetection(WebDetection&& from) noexcept
      : WebDetection() {
      *this = ::std::move(from);
    }
  
    inline WebDetection& operator=(WebDetection&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    inline ::google::protobuf::Arena* GetArena() const PROTOBUF_FINAL {
      return GetArenaNoVirtual();
    }
    inline void* GetMaybeArenaPointer() const PROTOBUF_FINAL {
      return MaybeArenaPtr();
    }
    static const ::google::protobuf::Descriptor* descriptor();
    static const WebDetection& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const WebDetection* internal_default_instance() {
      return reinterpret_cast<const WebDetection*>(
                 &_WebDetection_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      3;
  
    void UnsafeArenaSwap(WebDetection* other);
    void Swap(WebDetection* other);
    friend void swap(WebDetection& a, WebDetection& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline WebDetection* New() const PROTOBUF_FINAL { return New(NULL); }
  
    WebDetection* 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 WebDetection& from);
    void MergeFrom(const WebDetection& 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(WebDetection* other);
    protected:
    explicit WebDetection(::google::protobuf::Arena* arena);
    private:
    static void ArenaDtor(void* object);
    inline void RegisterArenaDtor(::google::protobuf::Arena* arena);
    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 PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef WebDetection_WebEntity WebEntity;
    typedef WebDetection_WebImage WebImage;
    typedef WebDetection_WebPage WebPage;
  
    // accessors -------------------------------------------------------
  
    // repeated .google.cloud.vision.v1.WebDetection.WebEntity web_entities = 1;
    int web_entities_size() const;
    void clear_web_entities();
    static const int kWebEntitiesFieldNumber = 1;
    const ::google::cloud::vision::v1::WebDetection_WebEntity& web_entities(int index) const;
    ::google::cloud::vision::v1::WebDetection_WebEntity* mutable_web_entities(int index);
    ::google::cloud::vision::v1::WebDetection_WebEntity* add_web_entities();
    ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebEntity >*
        mutable_web_entities();
    const ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebEntity >&
        web_entities() const;
  
    // repeated .google.cloud.vision.v1.WebDetection.WebImage full_matching_images = 2;
    int full_matching_images_size() const;
    void clear_full_matching_images();
    static const int kFullMatchingImagesFieldNumber = 2;
    const ::google::cloud::vision::v1::WebDetection_WebImage& full_matching_images(int index) const;
    ::google::cloud::vision::v1::WebDetection_WebImage* mutable_full_matching_images(int index);
    ::google::cloud::vision::v1::WebDetection_WebImage* add_full_matching_images();
    ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage >*
        mutable_full_matching_images();
    const ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage >&
        full_matching_images() const;
  
    // repeated .google.cloud.vision.v1.WebDetection.WebImage partial_matching_images = 3;
    int partial_matching_images_size() const;
    void clear_partial_matching_images();
    static const int kPartialMatchingImagesFieldNumber = 3;
    const ::google::cloud::vision::v1::WebDetection_WebImage& partial_matching_images(int index) const;
    ::google::cloud::vision::v1::WebDetection_WebImage* mutable_partial_matching_images(int index);
    ::google::cloud::vision::v1::WebDetection_WebImage* add_partial_matching_images();
    ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage >*
        mutable_partial_matching_images();
    const ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage >&
        partial_matching_images() const;
  
    // repeated .google.cloud.vision.v1.WebDetection.WebPage pages_with_matching_images = 4;
    int pages_with_matching_images_size() const;
    void clear_pages_with_matching_images();
    static const int kPagesWithMatchingImagesFieldNumber = 4;
    const ::google::cloud::vision::v1::WebDetection_WebPage& pages_with_matching_images(int index) const;
    ::google::cloud::vision::v1::WebDetection_WebPage* mutable_pages_with_matching_images(int index);
    ::google::cloud::vision::v1::WebDetection_WebPage* add_pages_with_matching_images();
    ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebPage >*
        mutable_pages_with_matching_images();
    const ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebPage >&
        pages_with_matching_images() const;
  
    // @@protoc_insertion_point(class_scope:google.cloud.vision.v1.WebDetection)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    template <typename T> friend class ::google::protobuf::Arena::InternalHelper;
    typedef void InternalArenaConstructable_;
    typedef void DestructorSkippable_;
    ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebEntity > web_entities_;
    ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage > full_matching_images_;
    ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage > partial_matching_images_;
    ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebPage > pages_with_matching_images_;
    mutable int _cached_size_;
    friend struct ::protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto::TableStruct;
    friend void ::protobuf_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto::InitDefaultsWebDetectionImpl();
  };
  // ===================================================================
  
  
  // ===================================================================
  
  #ifdef __GNUC__
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wstrict-aliasing"
  #endif  // __GNUC__
  // WebDetection_WebEntity
  
  // string entity_id = 1;
  inline void WebDetection_WebEntity::clear_entity_id() {
    entity_id_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline const ::std::string& WebDetection_WebEntity::entity_id() const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
    return entity_id_.Get();
  }
  inline void WebDetection_WebEntity::set_entity_id(const ::std::string& value) {
    
    entity_id_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value, GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
  }
  #if LANG_CXX11
  inline void WebDetection_WebEntity::set_entity_id(::std::string&& value) {
    
    entity_id_.Set(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_rvalue:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
  }
  #endif
  inline void WebDetection_WebEntity::set_entity_id(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    entity_id_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
                GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_char:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
  }
  inline void WebDetection_WebEntity::set_entity_id(const char* value,
      size_t size) {
    
    entity_id_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
        reinterpret_cast<const char*>(value), size), GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_pointer:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
  }
  inline ::std::string* WebDetection_WebEntity::mutable_entity_id() {
    
    // @@protoc_insertion_point(field_mutable:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
    return entity_id_.Mutable(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline ::std::string* WebDetection_WebEntity::release_entity_id() {
    // @@protoc_insertion_point(field_release:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
    
    return entity_id_.Release(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline void WebDetection_WebEntity::set_allocated_entity_id(::std::string* entity_id) {
    if (entity_id != NULL) {
      
    } else {
      
    }
    entity_id_.SetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), entity_id,
        GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_allocated:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
  }
  inline ::std::string* WebDetection_WebEntity::unsafe_arena_release_entity_id() {
    // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
    GOOGLE_DCHECK(GetArenaNoVirtual() != NULL);
    
    return entity_id_.UnsafeArenaRelease(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        GetArenaNoVirtual());
  }
  inline void WebDetection_WebEntity::unsafe_arena_set_allocated_entity_id(
      ::std::string* entity_id) {
    GOOGLE_DCHECK(GetArenaNoVirtual() != NULL);
    if (entity_id != NULL) {
      
    } else {
      
    }
    entity_id_.UnsafeArenaSetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        entity_id, GetArenaNoVirtual());
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.vision.v1.WebDetection.WebEntity.entity_id)
  }
  
  // float score = 2;
  inline void WebDetection_WebEntity::clear_score() {
    score_ = 0;
  }
  inline float WebDetection_WebEntity::score() const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.WebEntity.score)
    return score_;
  }
  inline void WebDetection_WebEntity::set_score(float value) {
    
    score_ = value;
    // @@protoc_insertion_point(field_set:google.cloud.vision.v1.WebDetection.WebEntity.score)
  }
  
  // string description = 3;
  inline void WebDetection_WebEntity::clear_description() {
    description_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline const ::std::string& WebDetection_WebEntity::description() const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.WebEntity.description)
    return description_.Get();
  }
  inline void WebDetection_WebEntity::set_description(const ::std::string& value) {
    
    description_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value, GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set:google.cloud.vision.v1.WebDetection.WebEntity.description)
  }
  #if LANG_CXX11
  inline void WebDetection_WebEntity::set_description(::std::string&& value) {
    
    description_.Set(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_rvalue:google.cloud.vision.v1.WebDetection.WebEntity.description)
  }
  #endif
  inline void WebDetection_WebEntity::set_description(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    description_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
                GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_char:google.cloud.vision.v1.WebDetection.WebEntity.description)
  }
  inline void WebDetection_WebEntity::set_description(const char* value,
      size_t size) {
    
    description_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
        reinterpret_cast<const char*>(value), size), GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_pointer:google.cloud.vision.v1.WebDetection.WebEntity.description)
  }
  inline ::std::string* WebDetection_WebEntity::mutable_description() {
    
    // @@protoc_insertion_point(field_mutable:google.cloud.vision.v1.WebDetection.WebEntity.description)
    return description_.Mutable(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline ::std::string* WebDetection_WebEntity::release_description() {
    // @@protoc_insertion_point(field_release:google.cloud.vision.v1.WebDetection.WebEntity.description)
    
    return description_.Release(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline void WebDetection_WebEntity::set_allocated_description(::std::string* description) {
    if (description != NULL) {
      
    } else {
      
    }
    description_.SetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), description,
        GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_allocated:google.cloud.vision.v1.WebDetection.WebEntity.description)
  }
  inline ::std::string* WebDetection_WebEntity::unsafe_arena_release_description() {
    // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.vision.v1.WebDetection.WebEntity.description)
    GOOGLE_DCHECK(GetArenaNoVirtual() != NULL);
    
    return description_.UnsafeArenaRelease(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        GetArenaNoVirtual());
  }
  inline void WebDetection_WebEntity::unsafe_arena_set_allocated_description(
      ::std::string* description) {
    GOOGLE_DCHECK(GetArenaNoVirtual() != NULL);
    if (description != NULL) {
      
    } else {
      
    }
    description_.UnsafeArenaSetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        description, GetArenaNoVirtual());
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.vision.v1.WebDetection.WebEntity.description)
  }
  
  // -------------------------------------------------------------------
  
  // WebDetection_WebImage
  
  // string url = 1;
  inline void WebDetection_WebImage::clear_url() {
    url_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline const ::std::string& WebDetection_WebImage::url() const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.WebImage.url)
    return url_.Get();
  }
  inline void WebDetection_WebImage::set_url(const ::std::string& value) {
    
    url_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value, GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set:google.cloud.vision.v1.WebDetection.WebImage.url)
  }
  #if LANG_CXX11
  inline void WebDetection_WebImage::set_url(::std::string&& value) {
    
    url_.Set(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_rvalue:google.cloud.vision.v1.WebDetection.WebImage.url)
  }
  #endif
  inline void WebDetection_WebImage::set_url(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    url_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
                GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_char:google.cloud.vision.v1.WebDetection.WebImage.url)
  }
  inline void WebDetection_WebImage::set_url(const char* value,
      size_t size) {
    
    url_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
        reinterpret_cast<const char*>(value), size), GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_pointer:google.cloud.vision.v1.WebDetection.WebImage.url)
  }
  inline ::std::string* WebDetection_WebImage::mutable_url() {
    
    // @@protoc_insertion_point(field_mutable:google.cloud.vision.v1.WebDetection.WebImage.url)
    return url_.Mutable(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline ::std::string* WebDetection_WebImage::release_url() {
    // @@protoc_insertion_point(field_release:google.cloud.vision.v1.WebDetection.WebImage.url)
    
    return url_.Release(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline void WebDetection_WebImage::set_allocated_url(::std::string* url) {
    if (url != NULL) {
      
    } else {
      
    }
    url_.SetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url,
        GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_allocated:google.cloud.vision.v1.WebDetection.WebImage.url)
  }
  inline ::std::string* WebDetection_WebImage::unsafe_arena_release_url() {
    // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.vision.v1.WebDetection.WebImage.url)
    GOOGLE_DCHECK(GetArenaNoVirtual() != NULL);
    
    return url_.UnsafeArenaRelease(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        GetArenaNoVirtual());
  }
  inline void WebDetection_WebImage::unsafe_arena_set_allocated_url(
      ::std::string* url) {
    GOOGLE_DCHECK(GetArenaNoVirtual() != NULL);
    if (url != NULL) {
      
    } else {
      
    }
    url_.UnsafeArenaSetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        url, GetArenaNoVirtual());
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.vision.v1.WebDetection.WebImage.url)
  }
  
  // float score = 2;
  inline void WebDetection_WebImage::clear_score() {
    score_ = 0;
  }
  inline float WebDetection_WebImage::score() const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.WebImage.score)
    return score_;
  }
  inline void WebDetection_WebImage::set_score(float value) {
    
    score_ = value;
    // @@protoc_insertion_point(field_set:google.cloud.vision.v1.WebDetection.WebImage.score)
  }
  
  // -------------------------------------------------------------------
  
  // WebDetection_WebPage
  
  // string url = 1;
  inline void WebDetection_WebPage::clear_url() {
    url_.ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline const ::std::string& WebDetection_WebPage::url() const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.WebPage.url)
    return url_.Get();
  }
  inline void WebDetection_WebPage::set_url(const ::std::string& value) {
    
    url_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value, GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set:google.cloud.vision.v1.WebDetection.WebPage.url)
  }
  #if LANG_CXX11
  inline void WebDetection_WebPage::set_url(::std::string&& value) {
    
    url_.Set(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_rvalue:google.cloud.vision.v1.WebDetection.WebPage.url)
  }
  #endif
  inline void WebDetection_WebPage::set_url(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    url_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
                GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_char:google.cloud.vision.v1.WebDetection.WebPage.url)
  }
  inline void WebDetection_WebPage::set_url(const char* value,
      size_t size) {
    
    url_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
        reinterpret_cast<const char*>(value), size), GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_pointer:google.cloud.vision.v1.WebDetection.WebPage.url)
  }
  inline ::std::string* WebDetection_WebPage::mutable_url() {
    
    // @@protoc_insertion_point(field_mutable:google.cloud.vision.v1.WebDetection.WebPage.url)
    return url_.Mutable(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline ::std::string* WebDetection_WebPage::release_url() {
    // @@protoc_insertion_point(field_release:google.cloud.vision.v1.WebDetection.WebPage.url)
    
    return url_.Release(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual());
  }
  inline void WebDetection_WebPage::set_allocated_url(::std::string* url) {
    if (url != NULL) {
      
    } else {
      
    }
    url_.SetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), url,
        GetArenaNoVirtual());
    // @@protoc_insertion_point(field_set_allocated:google.cloud.vision.v1.WebDetection.WebPage.url)
  }
  inline ::std::string* WebDetection_WebPage::unsafe_arena_release_url() {
    // @@protoc_insertion_point(field_unsafe_arena_release:google.cloud.vision.v1.WebDetection.WebPage.url)
    GOOGLE_DCHECK(GetArenaNoVirtual() != NULL);
    
    return url_.UnsafeArenaRelease(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        GetArenaNoVirtual());
  }
  inline void WebDetection_WebPage::unsafe_arena_set_allocated_url(
      ::std::string* url) {
    GOOGLE_DCHECK(GetArenaNoVirtual() != NULL);
    if (url != NULL) {
      
    } else {
      
    }
    url_.UnsafeArenaSetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        url, GetArenaNoVirtual());
    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.cloud.vision.v1.WebDetection.WebPage.url)
  }
  
  // float score = 2;
  inline void WebDetection_WebPage::clear_score() {
    score_ = 0;
  }
  inline float WebDetection_WebPage::score() const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.WebPage.score)
    return score_;
  }
  inline void WebDetection_WebPage::set_score(float value) {
    
    score_ = value;
    // @@protoc_insertion_point(field_set:google.cloud.vision.v1.WebDetection.WebPage.score)
  }
  
  // -------------------------------------------------------------------
  
  // WebDetection
  
  // repeated .google.cloud.vision.v1.WebDetection.WebEntity web_entities = 1;
  inline int WebDetection::web_entities_size() const {
    return web_entities_.size();
  }
  inline void WebDetection::clear_web_entities() {
    web_entities_.Clear();
  }
  inline const ::google::cloud::vision::v1::WebDetection_WebEntity& WebDetection::web_entities(int index) const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.web_entities)
    return web_entities_.Get(index);
  }
  inline ::google::cloud::vision::v1::WebDetection_WebEntity* WebDetection::mutable_web_entities(int index) {
    // @@protoc_insertion_point(field_mutable:google.cloud.vision.v1.WebDetection.web_entities)
    return web_entities_.Mutable(index);
  }
  inline ::google::cloud::vision::v1::WebDetection_WebEntity* WebDetection::add_web_entities() {
    // @@protoc_insertion_point(field_add:google.cloud.vision.v1.WebDetection.web_entities)
    return web_entities_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebEntity >*
  WebDetection::mutable_web_entities() {
    // @@protoc_insertion_point(field_mutable_list:google.cloud.vision.v1.WebDetection.web_entities)
    return &web_entities_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebEntity >&
  WebDetection::web_entities() const {
    // @@protoc_insertion_point(field_list:google.cloud.vision.v1.WebDetection.web_entities)
    return web_entities_;
  }
  
  // repeated .google.cloud.vision.v1.WebDetection.WebImage full_matching_images = 2;
  inline int WebDetection::full_matching_images_size() const {
    return full_matching_images_.size();
  }
  inline void WebDetection::clear_full_matching_images() {
    full_matching_images_.Clear();
  }
  inline const ::google::cloud::vision::v1::WebDetection_WebImage& WebDetection::full_matching_images(int index) const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.full_matching_images)
    return full_matching_images_.Get(index);
  }
  inline ::google::cloud::vision::v1::WebDetection_WebImage* WebDetection::mutable_full_matching_images(int index) {
    // @@protoc_insertion_point(field_mutable:google.cloud.vision.v1.WebDetection.full_matching_images)
    return full_matching_images_.Mutable(index);
  }
  inline ::google::cloud::vision::v1::WebDetection_WebImage* WebDetection::add_full_matching_images() {
    // @@protoc_insertion_point(field_add:google.cloud.vision.v1.WebDetection.full_matching_images)
    return full_matching_images_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage >*
  WebDetection::mutable_full_matching_images() {
    // @@protoc_insertion_point(field_mutable_list:google.cloud.vision.v1.WebDetection.full_matching_images)
    return &full_matching_images_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage >&
  WebDetection::full_matching_images() const {
    // @@protoc_insertion_point(field_list:google.cloud.vision.v1.WebDetection.full_matching_images)
    return full_matching_images_;
  }
  
  // repeated .google.cloud.vision.v1.WebDetection.WebImage partial_matching_images = 3;
  inline int WebDetection::partial_matching_images_size() const {
    return partial_matching_images_.size();
  }
  inline void WebDetection::clear_partial_matching_images() {
    partial_matching_images_.Clear();
  }
  inline const ::google::cloud::vision::v1::WebDetection_WebImage& WebDetection::partial_matching_images(int index) const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.partial_matching_images)
    return partial_matching_images_.Get(index);
  }
  inline ::google::cloud::vision::v1::WebDetection_WebImage* WebDetection::mutable_partial_matching_images(int index) {
    // @@protoc_insertion_point(field_mutable:google.cloud.vision.v1.WebDetection.partial_matching_images)
    return partial_matching_images_.Mutable(index);
  }
  inline ::google::cloud::vision::v1::WebDetection_WebImage* WebDetection::add_partial_matching_images() {
    // @@protoc_insertion_point(field_add:google.cloud.vision.v1.WebDetection.partial_matching_images)
    return partial_matching_images_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage >*
  WebDetection::mutable_partial_matching_images() {
    // @@protoc_insertion_point(field_mutable_list:google.cloud.vision.v1.WebDetection.partial_matching_images)
    return &partial_matching_images_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebImage >&
  WebDetection::partial_matching_images() const {
    // @@protoc_insertion_point(field_list:google.cloud.vision.v1.WebDetection.partial_matching_images)
    return partial_matching_images_;
  }
  
  // repeated .google.cloud.vision.v1.WebDetection.WebPage pages_with_matching_images = 4;
  inline int WebDetection::pages_with_matching_images_size() const {
    return pages_with_matching_images_.size();
  }
  inline void WebDetection::clear_pages_with_matching_images() {
    pages_with_matching_images_.Clear();
  }
  inline const ::google::cloud::vision::v1::WebDetection_WebPage& WebDetection::pages_with_matching_images(int index) const {
    // @@protoc_insertion_point(field_get:google.cloud.vision.v1.WebDetection.pages_with_matching_images)
    return pages_with_matching_images_.Get(index);
  }
  inline ::google::cloud::vision::v1::WebDetection_WebPage* WebDetection::mutable_pages_with_matching_images(int index) {
    // @@protoc_insertion_point(field_mutable:google.cloud.vision.v1.WebDetection.pages_with_matching_images)
    return pages_with_matching_images_.Mutable(index);
  }
  inline ::google::cloud::vision::v1::WebDetection_WebPage* WebDetection::add_pages_with_matching_images() {
    // @@protoc_insertion_point(field_add:google.cloud.vision.v1.WebDetection.pages_with_matching_images)
    return pages_with_matching_images_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebPage >*
  WebDetection::mutable_pages_with_matching_images() {
    // @@protoc_insertion_point(field_mutable_list:google.cloud.vision.v1.WebDetection.pages_with_matching_images)
    return &pages_with_matching_images_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::google::cloud::vision::v1::WebDetection_WebPage >&
  WebDetection::pages_with_matching_images() const {
    // @@protoc_insertion_point(field_list:google.cloud.vision.v1.WebDetection.pages_with_matching_images)
    return pages_with_matching_images_;
  }
  
  #ifdef __GNUC__
    #pragma GCC diagnostic pop
  #endif  // __GNUC__
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace v1
  }  // namespace vision
  }  // namespace cloud
  }  // namespace google
  
  // @@protoc_insertion_point(global_scope)
  
  #endif  // PROTOBUF_google_2fcloud_2fvision_2fv1_2fweb_5fdetection_2eproto__INCLUDED
  