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

#ifndef GOOGLE_PROTOBUF_INCLUDED_WordTagger_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_WordTagger_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3019000
#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 3019000 < 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/port_undef.inc>
#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_lite.h>
#include <google/protobuf/message_lite.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include "DataStructures.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_WordTagger_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_WordTagger_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const uint32_t offsets[];
};
namespace CoreML {
namespace Specification {
namespace CoreMLModels {
class WordTagger;
struct WordTaggerDefaultTypeInternal;
extern WordTaggerDefaultTypeInternal _WordTagger_default_instance_;
}  // namespace CoreMLModels
}  // namespace Specification
}  // namespace CoreML
PROTOBUF_NAMESPACE_OPEN
template<> ::CoreML::Specification::CoreMLModels::WordTagger* Arena::CreateMaybeMessage<::CoreML::Specification::CoreMLModels::WordTagger>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace CoreML {
namespace Specification {
namespace CoreMLModels {

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

class WordTagger final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:CoreML.Specification.CoreMLModels.WordTagger) */ {
 public:
  inline WordTagger() : WordTagger(nullptr) {}
  ~WordTagger() override;
  explicit constexpr WordTagger(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  WordTagger(const WordTagger& from);
  WordTagger(WordTagger&& from) noexcept
    : WordTagger() {
    *this = ::std::move(from);
  }

  inline WordTagger& operator=(const WordTagger& from) {
    CopyFrom(from);
    return *this;
  }
  inline WordTagger& operator=(WordTagger&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const WordTagger& default_instance() {
    return *internal_default_instance();
  }
  enum TagsCase {
    kStringTags = 200,
    TAGS_NOT_SET = 0,
  };

  static inline const WordTagger* internal_default_instance() {
    return reinterpret_cast<const WordTagger*>(
               &_WordTagger_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(WordTagger& a, WordTagger& b) {
    a.Swap(&b);
  }
  inline void Swap(WordTagger* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(WordTagger* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  WordTagger* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<WordTagger>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const WordTagger& from);
  void MergeFrom(const WordTagger& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(WordTagger* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CoreML.Specification.CoreMLModels.WordTagger";
  }
  protected:
  explicit WordTagger(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

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

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

  enum : int {
    kLanguageFieldNumber = 10,
    kTokensOutputFeatureNameFieldNumber = 20,
    kTokenTagsOutputFeatureNameFieldNumber = 21,
    kTokenLocationsOutputFeatureNameFieldNumber = 22,
    kTokenLengthsOutputFeatureNameFieldNumber = 23,
    kModelParameterDataFieldNumber = 100,
    kRevisionFieldNumber = 1,
    kStringTagsFieldNumber = 200,
  };
  // string language = 10;
  void clear_language();
  const std::string& language() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_language(ArgT0&& arg0, ArgT... args);
  std::string* mutable_language();
  PROTOBUF_NODISCARD std::string* release_language();
  void set_allocated_language(std::string* language);
  private:
  const std::string& _internal_language() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_language(const std::string& value);
  std::string* _internal_mutable_language();
  public:

  // string tokensOutputFeatureName = 20;
  void clear_tokensoutputfeaturename();
  const std::string& tokensoutputfeaturename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_tokensoutputfeaturename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_tokensoutputfeaturename();
  PROTOBUF_NODISCARD std::string* release_tokensoutputfeaturename();
  void set_allocated_tokensoutputfeaturename(std::string* tokensoutputfeaturename);
  private:
  const std::string& _internal_tokensoutputfeaturename() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_tokensoutputfeaturename(const std::string& value);
  std::string* _internal_mutable_tokensoutputfeaturename();
  public:

  // string tokenTagsOutputFeatureName = 21;
  void clear_tokentagsoutputfeaturename();
  const std::string& tokentagsoutputfeaturename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_tokentagsoutputfeaturename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_tokentagsoutputfeaturename();
  PROTOBUF_NODISCARD std::string* release_tokentagsoutputfeaturename();
  void set_allocated_tokentagsoutputfeaturename(std::string* tokentagsoutputfeaturename);
  private:
  const std::string& _internal_tokentagsoutputfeaturename() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_tokentagsoutputfeaturename(const std::string& value);
  std::string* _internal_mutable_tokentagsoutputfeaturename();
  public:

  // string tokenLocationsOutputFeatureName = 22;
  void clear_tokenlocationsoutputfeaturename();
  const std::string& tokenlocationsoutputfeaturename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_tokenlocationsoutputfeaturename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_tokenlocationsoutputfeaturename();
  PROTOBUF_NODISCARD std::string* release_tokenlocationsoutputfeaturename();
  void set_allocated_tokenlocationsoutputfeaturename(std::string* tokenlocationsoutputfeaturename);
  private:
  const std::string& _internal_tokenlocationsoutputfeaturename() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_tokenlocationsoutputfeaturename(const std::string& value);
  std::string* _internal_mutable_tokenlocationsoutputfeaturename();
  public:

  // string tokenLengthsOutputFeatureName = 23;
  void clear_tokenlengthsoutputfeaturename();
  const std::string& tokenlengthsoutputfeaturename() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_tokenlengthsoutputfeaturename(ArgT0&& arg0, ArgT... args);
  std::string* mutable_tokenlengthsoutputfeaturename();
  PROTOBUF_NODISCARD std::string* release_tokenlengthsoutputfeaturename();
  void set_allocated_tokenlengthsoutputfeaturename(std::string* tokenlengthsoutputfeaturename);
  private:
  const std::string& _internal_tokenlengthsoutputfeaturename() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_tokenlengthsoutputfeaturename(const std::string& value);
  std::string* _internal_mutable_tokenlengthsoutputfeaturename();
  public:

  // bytes modelParameterData = 100;
  void clear_modelparameterdata();
  const std::string& modelparameterdata() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_modelparameterdata(ArgT0&& arg0, ArgT... args);
  std::string* mutable_modelparameterdata();
  PROTOBUF_NODISCARD std::string* release_modelparameterdata();
  void set_allocated_modelparameterdata(std::string* modelparameterdata);
  private:
  const std::string& _internal_modelparameterdata() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_modelparameterdata(const std::string& value);
  std::string* _internal_mutable_modelparameterdata();
  public:

  // uint32 revision = 1;
  void clear_revision();
  uint32_t revision() const;
  void set_revision(uint32_t value);
  private:
  uint32_t _internal_revision() const;
  void _internal_set_revision(uint32_t value);
  public:

  // .CoreML.Specification.StringVector stringTags = 200;
  bool has_stringtags() const;
  private:
  bool _internal_has_stringtags() const;
  public:
  void clear_stringtags();
  const ::CoreML::Specification::StringVector& stringtags() const;
  PROTOBUF_NODISCARD ::CoreML::Specification::StringVector* release_stringtags();
  ::CoreML::Specification::StringVector* mutable_stringtags();
  void set_allocated_stringtags(::CoreML::Specification::StringVector* stringtags);
  private:
  const ::CoreML::Specification::StringVector& _internal_stringtags() const;
  ::CoreML::Specification::StringVector* _internal_mutable_stringtags();
  public:
  void unsafe_arena_set_allocated_stringtags(
      ::CoreML::Specification::StringVector* stringtags);
  ::CoreML::Specification::StringVector* unsafe_arena_release_stringtags();

  void clear_Tags();
  TagsCase Tags_case() const;
  // @@protoc_insertion_point(class_scope:CoreML.Specification.CoreMLModels.WordTagger)
 private:
  class _Internal;
  void set_has_stringtags();

  inline bool has_Tags() const;
  inline void clear_has_Tags();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr language_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tokensoutputfeaturename_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tokentagsoutputfeaturename_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tokenlocationsoutputfeaturename_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tokenlengthsoutputfeaturename_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr modelparameterdata_;
  uint32_t revision_;
  union TagsUnion {
    constexpr TagsUnion() : _constinit_{} {}
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
    ::CoreML::Specification::StringVector* stringtags_;
  } Tags_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  uint32_t _oneof_case_[1];

  friend struct ::TableStruct_WordTagger_2eproto;
};
// ===================================================================


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

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

// uint32 revision = 1;
inline void WordTagger::clear_revision() {
  revision_ = 0u;
}
inline uint32_t WordTagger::_internal_revision() const {
  return revision_;
}
inline uint32_t WordTagger::revision() const {
  // @@protoc_insertion_point(field_get:CoreML.Specification.CoreMLModels.WordTagger.revision)
  return _internal_revision();
}
inline void WordTagger::_internal_set_revision(uint32_t value) {
  
  revision_ = value;
}
inline void WordTagger::set_revision(uint32_t value) {
  _internal_set_revision(value);
  // @@protoc_insertion_point(field_set:CoreML.Specification.CoreMLModels.WordTagger.revision)
}

// string language = 10;
inline void WordTagger::clear_language() {
  language_.ClearToEmpty();
}
inline const std::string& WordTagger::language() const {
  // @@protoc_insertion_point(field_get:CoreML.Specification.CoreMLModels.WordTagger.language)
  return _internal_language();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WordTagger::set_language(ArgT0&& arg0, ArgT... args) {
 
 language_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CoreML.Specification.CoreMLModels.WordTagger.language)
}
inline std::string* WordTagger::mutable_language() {
  std::string* _s = _internal_mutable_language();
  // @@protoc_insertion_point(field_mutable:CoreML.Specification.CoreMLModels.WordTagger.language)
  return _s;
}
inline const std::string& WordTagger::_internal_language() const {
  return language_.Get();
}
inline void WordTagger::_internal_set_language(const std::string& value) {
  
  language_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WordTagger::_internal_mutable_language() {
  
  return language_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WordTagger::release_language() {
  // @@protoc_insertion_point(field_release:CoreML.Specification.CoreMLModels.WordTagger.language)
  return language_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WordTagger::set_allocated_language(std::string* language) {
  if (language != nullptr) {
    
  } else {
    
  }
  language_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), language,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (language_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    language_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CoreML.Specification.CoreMLModels.WordTagger.language)
}

// string tokensOutputFeatureName = 20;
inline void WordTagger::clear_tokensoutputfeaturename() {
  tokensoutputfeaturename_.ClearToEmpty();
}
inline const std::string& WordTagger::tokensoutputfeaturename() const {
  // @@protoc_insertion_point(field_get:CoreML.Specification.CoreMLModels.WordTagger.tokensOutputFeatureName)
  return _internal_tokensoutputfeaturename();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WordTagger::set_tokensoutputfeaturename(ArgT0&& arg0, ArgT... args) {
 
 tokensoutputfeaturename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CoreML.Specification.CoreMLModels.WordTagger.tokensOutputFeatureName)
}
inline std::string* WordTagger::mutable_tokensoutputfeaturename() {
  std::string* _s = _internal_mutable_tokensoutputfeaturename();
  // @@protoc_insertion_point(field_mutable:CoreML.Specification.CoreMLModels.WordTagger.tokensOutputFeatureName)
  return _s;
}
inline const std::string& WordTagger::_internal_tokensoutputfeaturename() const {
  return tokensoutputfeaturename_.Get();
}
inline void WordTagger::_internal_set_tokensoutputfeaturename(const std::string& value) {
  
  tokensoutputfeaturename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WordTagger::_internal_mutable_tokensoutputfeaturename() {
  
  return tokensoutputfeaturename_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WordTagger::release_tokensoutputfeaturename() {
  // @@protoc_insertion_point(field_release:CoreML.Specification.CoreMLModels.WordTagger.tokensOutputFeatureName)
  return tokensoutputfeaturename_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WordTagger::set_allocated_tokensoutputfeaturename(std::string* tokensoutputfeaturename) {
  if (tokensoutputfeaturename != nullptr) {
    
  } else {
    
  }
  tokensoutputfeaturename_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), tokensoutputfeaturename,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (tokensoutputfeaturename_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    tokensoutputfeaturename_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CoreML.Specification.CoreMLModels.WordTagger.tokensOutputFeatureName)
}

// string tokenTagsOutputFeatureName = 21;
inline void WordTagger::clear_tokentagsoutputfeaturename() {
  tokentagsoutputfeaturename_.ClearToEmpty();
}
inline const std::string& WordTagger::tokentagsoutputfeaturename() const {
  // @@protoc_insertion_point(field_get:CoreML.Specification.CoreMLModels.WordTagger.tokenTagsOutputFeatureName)
  return _internal_tokentagsoutputfeaturename();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WordTagger::set_tokentagsoutputfeaturename(ArgT0&& arg0, ArgT... args) {
 
 tokentagsoutputfeaturename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CoreML.Specification.CoreMLModels.WordTagger.tokenTagsOutputFeatureName)
}
inline std::string* WordTagger::mutable_tokentagsoutputfeaturename() {
  std::string* _s = _internal_mutable_tokentagsoutputfeaturename();
  // @@protoc_insertion_point(field_mutable:CoreML.Specification.CoreMLModels.WordTagger.tokenTagsOutputFeatureName)
  return _s;
}
inline const std::string& WordTagger::_internal_tokentagsoutputfeaturename() const {
  return tokentagsoutputfeaturename_.Get();
}
inline void WordTagger::_internal_set_tokentagsoutputfeaturename(const std::string& value) {
  
  tokentagsoutputfeaturename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WordTagger::_internal_mutable_tokentagsoutputfeaturename() {
  
  return tokentagsoutputfeaturename_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WordTagger::release_tokentagsoutputfeaturename() {
  // @@protoc_insertion_point(field_release:CoreML.Specification.CoreMLModels.WordTagger.tokenTagsOutputFeatureName)
  return tokentagsoutputfeaturename_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WordTagger::set_allocated_tokentagsoutputfeaturename(std::string* tokentagsoutputfeaturename) {
  if (tokentagsoutputfeaturename != nullptr) {
    
  } else {
    
  }
  tokentagsoutputfeaturename_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), tokentagsoutputfeaturename,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (tokentagsoutputfeaturename_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    tokentagsoutputfeaturename_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CoreML.Specification.CoreMLModels.WordTagger.tokenTagsOutputFeatureName)
}

// string tokenLocationsOutputFeatureName = 22;
inline void WordTagger::clear_tokenlocationsoutputfeaturename() {
  tokenlocationsoutputfeaturename_.ClearToEmpty();
}
inline const std::string& WordTagger::tokenlocationsoutputfeaturename() const {
  // @@protoc_insertion_point(field_get:CoreML.Specification.CoreMLModels.WordTagger.tokenLocationsOutputFeatureName)
  return _internal_tokenlocationsoutputfeaturename();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WordTagger::set_tokenlocationsoutputfeaturename(ArgT0&& arg0, ArgT... args) {
 
 tokenlocationsoutputfeaturename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CoreML.Specification.CoreMLModels.WordTagger.tokenLocationsOutputFeatureName)
}
inline std::string* WordTagger::mutable_tokenlocationsoutputfeaturename() {
  std::string* _s = _internal_mutable_tokenlocationsoutputfeaturename();
  // @@protoc_insertion_point(field_mutable:CoreML.Specification.CoreMLModels.WordTagger.tokenLocationsOutputFeatureName)
  return _s;
}
inline const std::string& WordTagger::_internal_tokenlocationsoutputfeaturename() const {
  return tokenlocationsoutputfeaturename_.Get();
}
inline void WordTagger::_internal_set_tokenlocationsoutputfeaturename(const std::string& value) {
  
  tokenlocationsoutputfeaturename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WordTagger::_internal_mutable_tokenlocationsoutputfeaturename() {
  
  return tokenlocationsoutputfeaturename_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WordTagger::release_tokenlocationsoutputfeaturename() {
  // @@protoc_insertion_point(field_release:CoreML.Specification.CoreMLModels.WordTagger.tokenLocationsOutputFeatureName)
  return tokenlocationsoutputfeaturename_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WordTagger::set_allocated_tokenlocationsoutputfeaturename(std::string* tokenlocationsoutputfeaturename) {
  if (tokenlocationsoutputfeaturename != nullptr) {
    
  } else {
    
  }
  tokenlocationsoutputfeaturename_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), tokenlocationsoutputfeaturename,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (tokenlocationsoutputfeaturename_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    tokenlocationsoutputfeaturename_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CoreML.Specification.CoreMLModels.WordTagger.tokenLocationsOutputFeatureName)
}

// string tokenLengthsOutputFeatureName = 23;
inline void WordTagger::clear_tokenlengthsoutputfeaturename() {
  tokenlengthsoutputfeaturename_.ClearToEmpty();
}
inline const std::string& WordTagger::tokenlengthsoutputfeaturename() const {
  // @@protoc_insertion_point(field_get:CoreML.Specification.CoreMLModels.WordTagger.tokenLengthsOutputFeatureName)
  return _internal_tokenlengthsoutputfeaturename();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WordTagger::set_tokenlengthsoutputfeaturename(ArgT0&& arg0, ArgT... args) {
 
 tokenlengthsoutputfeaturename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CoreML.Specification.CoreMLModels.WordTagger.tokenLengthsOutputFeatureName)
}
inline std::string* WordTagger::mutable_tokenlengthsoutputfeaturename() {
  std::string* _s = _internal_mutable_tokenlengthsoutputfeaturename();
  // @@protoc_insertion_point(field_mutable:CoreML.Specification.CoreMLModels.WordTagger.tokenLengthsOutputFeatureName)
  return _s;
}
inline const std::string& WordTagger::_internal_tokenlengthsoutputfeaturename() const {
  return tokenlengthsoutputfeaturename_.Get();
}
inline void WordTagger::_internal_set_tokenlengthsoutputfeaturename(const std::string& value) {
  
  tokenlengthsoutputfeaturename_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WordTagger::_internal_mutable_tokenlengthsoutputfeaturename() {
  
  return tokenlengthsoutputfeaturename_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WordTagger::release_tokenlengthsoutputfeaturename() {
  // @@protoc_insertion_point(field_release:CoreML.Specification.CoreMLModels.WordTagger.tokenLengthsOutputFeatureName)
  return tokenlengthsoutputfeaturename_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WordTagger::set_allocated_tokenlengthsoutputfeaturename(std::string* tokenlengthsoutputfeaturename) {
  if (tokenlengthsoutputfeaturename != nullptr) {
    
  } else {
    
  }
  tokenlengthsoutputfeaturename_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), tokenlengthsoutputfeaturename,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (tokenlengthsoutputfeaturename_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    tokenlengthsoutputfeaturename_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CoreML.Specification.CoreMLModels.WordTagger.tokenLengthsOutputFeatureName)
}

// bytes modelParameterData = 100;
inline void WordTagger::clear_modelparameterdata() {
  modelparameterdata_.ClearToEmpty();
}
inline const std::string& WordTagger::modelparameterdata() const {
  // @@protoc_insertion_point(field_get:CoreML.Specification.CoreMLModels.WordTagger.modelParameterData)
  return _internal_modelparameterdata();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void WordTagger::set_modelparameterdata(ArgT0&& arg0, ArgT... args) {
 
 modelparameterdata_.SetBytes(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CoreML.Specification.CoreMLModels.WordTagger.modelParameterData)
}
inline std::string* WordTagger::mutable_modelparameterdata() {
  std::string* _s = _internal_mutable_modelparameterdata();
  // @@protoc_insertion_point(field_mutable:CoreML.Specification.CoreMLModels.WordTagger.modelParameterData)
  return _s;
}
inline const std::string& WordTagger::_internal_modelparameterdata() const {
  return modelparameterdata_.Get();
}
inline void WordTagger::_internal_set_modelparameterdata(const std::string& value) {
  
  modelparameterdata_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* WordTagger::_internal_mutable_modelparameterdata() {
  
  return modelparameterdata_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* WordTagger::release_modelparameterdata() {
  // @@protoc_insertion_point(field_release:CoreML.Specification.CoreMLModels.WordTagger.modelParameterData)
  return modelparameterdata_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void WordTagger::set_allocated_modelparameterdata(std::string* modelparameterdata) {
  if (modelparameterdata != nullptr) {
    
  } else {
    
  }
  modelparameterdata_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), modelparameterdata,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (modelparameterdata_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    modelparameterdata_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CoreML.Specification.CoreMLModels.WordTagger.modelParameterData)
}

// .CoreML.Specification.StringVector stringTags = 200;
inline bool WordTagger::_internal_has_stringtags() const {
  return Tags_case() == kStringTags;
}
inline bool WordTagger::has_stringtags() const {
  return _internal_has_stringtags();
}
inline void WordTagger::set_has_stringtags() {
  _oneof_case_[0] = kStringTags;
}
inline ::CoreML::Specification::StringVector* WordTagger::release_stringtags() {
  // @@protoc_insertion_point(field_release:CoreML.Specification.CoreMLModels.WordTagger.stringTags)
  if (_internal_has_stringtags()) {
    clear_has_Tags();
      ::CoreML::Specification::StringVector* temp = Tags_.stringtags_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    Tags_.stringtags_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::CoreML::Specification::StringVector& WordTagger::_internal_stringtags() const {
  return _internal_has_stringtags()
      ? *Tags_.stringtags_
      : reinterpret_cast< ::CoreML::Specification::StringVector&>(::CoreML::Specification::_StringVector_default_instance_);
}
inline const ::CoreML::Specification::StringVector& WordTagger::stringtags() const {
  // @@protoc_insertion_point(field_get:CoreML.Specification.CoreMLModels.WordTagger.stringTags)
  return _internal_stringtags();
}
inline ::CoreML::Specification::StringVector* WordTagger::unsafe_arena_release_stringtags() {
  // @@protoc_insertion_point(field_unsafe_arena_release:CoreML.Specification.CoreMLModels.WordTagger.stringTags)
  if (_internal_has_stringtags()) {
    clear_has_Tags();
    ::CoreML::Specification::StringVector* temp = Tags_.stringtags_;
    Tags_.stringtags_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void WordTagger::unsafe_arena_set_allocated_stringtags(::CoreML::Specification::StringVector* stringtags) {
  clear_Tags();
  if (stringtags) {
    set_has_stringtags();
    Tags_.stringtags_ = stringtags;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CoreML.Specification.CoreMLModels.WordTagger.stringTags)
}
inline ::CoreML::Specification::StringVector* WordTagger::_internal_mutable_stringtags() {
  if (!_internal_has_stringtags()) {
    clear_Tags();
    set_has_stringtags();
    Tags_.stringtags_ = CreateMaybeMessage< ::CoreML::Specification::StringVector >(GetArenaForAllocation());
  }
  return Tags_.stringtags_;
}
inline ::CoreML::Specification::StringVector* WordTagger::mutable_stringtags() {
  ::CoreML::Specification::StringVector* _msg = _internal_mutable_stringtags();
  // @@protoc_insertion_point(field_mutable:CoreML.Specification.CoreMLModels.WordTagger.stringTags)
  return _msg;
}

inline bool WordTagger::has_Tags() const {
  return Tags_case() != TAGS_NOT_SET;
}
inline void WordTagger::clear_has_Tags() {
  _oneof_case_[0] = TAGS_NOT_SET;
}
inline WordTagger::TagsCase WordTagger::Tags_case() const {
  return WordTagger::TagsCase(_oneof_case_[0]);
}
#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)

}  // namespace CoreMLModels
}  // namespace Specification
}  // namespace CoreML

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_WordTagger_2eproto
