chromium/out/Default/gen/third_party/sentencepiece/src/src/sentencepiece_model.pb.h

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

#ifndef GOOGLE_PROTOBUF_INCLUDED_sentencepiece_5fmodel_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_sentencepiece_5fmodel_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#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 3021012 < 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_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 <google/protobuf/generated_enum_util.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_sentencepiece_5fmodel_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_sentencepiece_5fmodel_2eproto {};
namespace sentencepiece {
class ModelProto;
struct ModelProtoDefaultTypeInternal;
extern ModelProtoDefaultTypeInternal _ModelProto_default_instance_;
class ModelProto_SentencePiece;
struct ModelProto_SentencePieceDefaultTypeInternal;
extern ModelProto_SentencePieceDefaultTypeInternal _ModelProto_SentencePiece_default_instance_;
class NormalizerSpec;
struct NormalizerSpecDefaultTypeInternal;
extern NormalizerSpecDefaultTypeInternal _NormalizerSpec_default_instance_;
class SelfTestData;
struct SelfTestDataDefaultTypeInternal;
extern SelfTestDataDefaultTypeInternal _SelfTestData_default_instance_;
class SelfTestData_Sample;
struct SelfTestData_SampleDefaultTypeInternal;
extern SelfTestData_SampleDefaultTypeInternal _SelfTestData_Sample_default_instance_;
class TrainerSpec;
struct TrainerSpecDefaultTypeInternal;
extern TrainerSpecDefaultTypeInternal _TrainerSpec_default_instance_;
}  // namespace sentencepiece
PROTOBUF_NAMESPACE_OPEN
template<> ::sentencepiece::ModelProto* Arena::CreateMaybeMessage<::sentencepiece::ModelProto>(Arena*);
template<> ::sentencepiece::ModelProto_SentencePiece* Arena::CreateMaybeMessage<::sentencepiece::ModelProto_SentencePiece>(Arena*);
template<> ::sentencepiece::NormalizerSpec* Arena::CreateMaybeMessage<::sentencepiece::NormalizerSpec>(Arena*);
template<> ::sentencepiece::SelfTestData* Arena::CreateMaybeMessage<::sentencepiece::SelfTestData>(Arena*);
template<> ::sentencepiece::SelfTestData_Sample* Arena::CreateMaybeMessage<::sentencepiece::SelfTestData_Sample>(Arena*);
template<> ::sentencepiece::TrainerSpec* Arena::CreateMaybeMessage<::sentencepiece::TrainerSpec>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace sentencepiece {

enum TrainerSpec_ModelType : int {};
bool TrainerSpec_ModelType_IsValid(int value);
constexpr TrainerSpec_ModelType TrainerSpec_ModelType_ModelType_MIN =;
constexpr TrainerSpec_ModelType TrainerSpec_ModelType_ModelType_MAX =;
constexpr int TrainerSpec_ModelType_ModelType_ARRAYSIZE =;

const std::string& TrainerSpec_ModelType_Name(TrainerSpec_ModelType value);
template<typename T>
inline const std::string& TrainerSpec_ModelType_Name(T enum_t_value) {}
bool TrainerSpec_ModelType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TrainerSpec_ModelType* value);
enum ModelProto_SentencePiece_Type : int {};
bool ModelProto_SentencePiece_Type_IsValid(int value);
constexpr ModelProto_SentencePiece_Type ModelProto_SentencePiece_Type_Type_MIN =;
constexpr ModelProto_SentencePiece_Type ModelProto_SentencePiece_Type_Type_MAX =;
constexpr int ModelProto_SentencePiece_Type_Type_ARRAYSIZE =;

const std::string& ModelProto_SentencePiece_Type_Name(ModelProto_SentencePiece_Type value);
template<typename T>
inline const std::string& ModelProto_SentencePiece_Type_Name(T enum_t_value) {}
bool ModelProto_SentencePiece_Type_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ModelProto_SentencePiece_Type* value);
// ===================================================================

class TrainerSpec final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:sentencepiece.TrainerSpec) */ {};
// -------------------------------------------------------------------

class NormalizerSpec final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:sentencepiece.NormalizerSpec) */ {};
// -------------------------------------------------------------------

class SelfTestData_Sample final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:sentencepiece.SelfTestData.Sample) */ {};
// -------------------------------------------------------------------

class SelfTestData final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:sentencepiece.SelfTestData) */ {};
// -------------------------------------------------------------------

class ModelProto_SentencePiece final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:sentencepiece.ModelProto.SentencePiece) */ {};
// -------------------------------------------------------------------

class ModelProto final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:sentencepiece.ModelProto) */ {};
// ===================================================================


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

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

// repeated string input = 1;
inline int TrainerSpec::_internal_input_size() const {}
inline int TrainerSpec::input_size() const {}
inline void TrainerSpec::clear_input() {}
inline std::string* TrainerSpec::add_input() {}
inline const std::string& TrainerSpec::_internal_input(int index) const {}
inline const std::string& TrainerSpec::input(int index) const {}
inline std::string* TrainerSpec::mutable_input(int index) {}
inline void TrainerSpec::set_input(int index, const std::string& value) {}
inline void TrainerSpec::set_input(int index, std::string&& value) {}
inline void TrainerSpec::set_input(int index, const char* value) {}
inline void TrainerSpec::set_input(int index, const char* value, size_t size) {}
inline std::string* TrainerSpec::_internal_add_input() {}
inline void TrainerSpec::add_input(const std::string& value) {}
inline void TrainerSpec::add_input(std::string&& value) {}
inline void TrainerSpec::add_input(const char* value) {}
inline void TrainerSpec::add_input(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
TrainerSpec::input() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
TrainerSpec::mutable_input() {}

// optional string input_format = 7;
inline bool TrainerSpec::_internal_has_input_format() const {}
inline bool TrainerSpec::has_input_format() const {}
inline void TrainerSpec::clear_input_format() {}
inline const std::string& TrainerSpec::input_format() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_input_format(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_input_format() {}
inline const std::string& TrainerSpec::_internal_input_format() const {}
inline void TrainerSpec::_internal_set_input_format(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_input_format() {}
inline std::string* TrainerSpec::release_input_format() {}
inline void TrainerSpec::set_allocated_input_format(std::string* input_format) {}

// optional string model_prefix = 2;
inline bool TrainerSpec::_internal_has_model_prefix() const {}
inline bool TrainerSpec::has_model_prefix() const {}
inline void TrainerSpec::clear_model_prefix() {}
inline const std::string& TrainerSpec::model_prefix() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_model_prefix(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_model_prefix() {}
inline const std::string& TrainerSpec::_internal_model_prefix() const {}
inline void TrainerSpec::_internal_set_model_prefix(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_model_prefix() {}
inline std::string* TrainerSpec::release_model_prefix() {}
inline void TrainerSpec::set_allocated_model_prefix(std::string* model_prefix) {}

// optional .sentencepiece.TrainerSpec.ModelType model_type = 3 [default = UNIGRAM];
inline bool TrainerSpec::_internal_has_model_type() const {}
inline bool TrainerSpec::has_model_type() const {}
inline void TrainerSpec::clear_model_type() {}
inline ::sentencepiece::TrainerSpec_ModelType TrainerSpec::_internal_model_type() const {}
inline ::sentencepiece::TrainerSpec_ModelType TrainerSpec::model_type() const {}
inline void TrainerSpec::_internal_set_model_type(::sentencepiece::TrainerSpec_ModelType value) {}
inline void TrainerSpec::set_model_type(::sentencepiece::TrainerSpec_ModelType value) {}

// optional int32 vocab_size = 4 [default = 8000];
inline bool TrainerSpec::_internal_has_vocab_size() const {}
inline bool TrainerSpec::has_vocab_size() const {}
inline void TrainerSpec::clear_vocab_size() {}
inline int32_t TrainerSpec::_internal_vocab_size() const {}
inline int32_t TrainerSpec::vocab_size() const {}
inline void TrainerSpec::_internal_set_vocab_size(int32_t value) {}
inline void TrainerSpec::set_vocab_size(int32_t value) {}

// repeated string accept_language = 5;
inline int TrainerSpec::_internal_accept_language_size() const {}
inline int TrainerSpec::accept_language_size() const {}
inline void TrainerSpec::clear_accept_language() {}
inline std::string* TrainerSpec::add_accept_language() {}
inline const std::string& TrainerSpec::_internal_accept_language(int index) const {}
inline const std::string& TrainerSpec::accept_language(int index) const {}
inline std::string* TrainerSpec::mutable_accept_language(int index) {}
inline void TrainerSpec::set_accept_language(int index, const std::string& value) {}
inline void TrainerSpec::set_accept_language(int index, std::string&& value) {}
inline void TrainerSpec::set_accept_language(int index, const char* value) {}
inline void TrainerSpec::set_accept_language(int index, const char* value, size_t size) {}
inline std::string* TrainerSpec::_internal_add_accept_language() {}
inline void TrainerSpec::add_accept_language(const std::string& value) {}
inline void TrainerSpec::add_accept_language(std::string&& value) {}
inline void TrainerSpec::add_accept_language(const char* value) {}
inline void TrainerSpec::add_accept_language(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
TrainerSpec::accept_language() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
TrainerSpec::mutable_accept_language() {}

// optional int32 self_test_sample_size = 6 [default = 0];
inline bool TrainerSpec::_internal_has_self_test_sample_size() const {}
inline bool TrainerSpec::has_self_test_sample_size() const {}
inline void TrainerSpec::clear_self_test_sample_size() {}
inline int32_t TrainerSpec::_internal_self_test_sample_size() const {}
inline int32_t TrainerSpec::self_test_sample_size() const {}
inline void TrainerSpec::_internal_set_self_test_sample_size(int32_t value) {}
inline void TrainerSpec::set_self_test_sample_size(int32_t value) {}

// optional bool enable_differential_privacy = 50 [default = false];
inline bool TrainerSpec::_internal_has_enable_differential_privacy() const {}
inline bool TrainerSpec::has_enable_differential_privacy() const {}
inline void TrainerSpec::clear_enable_differential_privacy() {}
inline bool TrainerSpec::_internal_enable_differential_privacy() const {}
inline bool TrainerSpec::enable_differential_privacy() const {}
inline void TrainerSpec::_internal_set_enable_differential_privacy(bool value) {}
inline void TrainerSpec::set_enable_differential_privacy(bool value) {}

// optional float differential_privacy_noise_level = 51 [default = 0];
inline bool TrainerSpec::_internal_has_differential_privacy_noise_level() const {}
inline bool TrainerSpec::has_differential_privacy_noise_level() const {}
inline void TrainerSpec::clear_differential_privacy_noise_level() {}
inline float TrainerSpec::_internal_differential_privacy_noise_level() const {}
inline float TrainerSpec::differential_privacy_noise_level() const {}
inline void TrainerSpec::_internal_set_differential_privacy_noise_level(float value) {}
inline void TrainerSpec::set_differential_privacy_noise_level(float value) {}

// optional uint64 differential_privacy_clipping_threshold = 52 [default = 0];
inline bool TrainerSpec::_internal_has_differential_privacy_clipping_threshold() const {}
inline bool TrainerSpec::has_differential_privacy_clipping_threshold() const {}
inline void TrainerSpec::clear_differential_privacy_clipping_threshold() {}
inline uint64_t TrainerSpec::_internal_differential_privacy_clipping_threshold() const {}
inline uint64_t TrainerSpec::differential_privacy_clipping_threshold() const {}
inline void TrainerSpec::_internal_set_differential_privacy_clipping_threshold(uint64_t value) {}
inline void TrainerSpec::set_differential_privacy_clipping_threshold(uint64_t value) {}

// optional float character_coverage = 10 [default = 0.9995];
inline bool TrainerSpec::_internal_has_character_coverage() const {}
inline bool TrainerSpec::has_character_coverage() const {}
inline void TrainerSpec::clear_character_coverage() {}
inline float TrainerSpec::_internal_character_coverage() const {}
inline float TrainerSpec::character_coverage() const {}
inline void TrainerSpec::_internal_set_character_coverage(float value) {}
inline void TrainerSpec::set_character_coverage(float value) {}

// optional uint64 input_sentence_size = 11 [default = 0];
inline bool TrainerSpec::_internal_has_input_sentence_size() const {}
inline bool TrainerSpec::has_input_sentence_size() const {}
inline void TrainerSpec::clear_input_sentence_size() {}
inline uint64_t TrainerSpec::_internal_input_sentence_size() const {}
inline uint64_t TrainerSpec::input_sentence_size() const {}
inline void TrainerSpec::_internal_set_input_sentence_size(uint64_t value) {}
inline void TrainerSpec::set_input_sentence_size(uint64_t value) {}

// optional bool shuffle_input_sentence = 19 [default = true];
inline bool TrainerSpec::_internal_has_shuffle_input_sentence() const {}
inline bool TrainerSpec::has_shuffle_input_sentence() const {}
inline void TrainerSpec::clear_shuffle_input_sentence() {}
inline bool TrainerSpec::_internal_shuffle_input_sentence() const {}
inline bool TrainerSpec::shuffle_input_sentence() const {}
inline void TrainerSpec::_internal_set_shuffle_input_sentence(bool value) {}
inline void TrainerSpec::set_shuffle_input_sentence(bool value) {}

// optional int32 mining_sentence_size = 12 [deprecated = true];
inline bool TrainerSpec::_internal_has_mining_sentence_size() const {}
inline bool TrainerSpec::has_mining_sentence_size() const {}
inline void TrainerSpec::clear_mining_sentence_size() {}
inline int32_t TrainerSpec::_internal_mining_sentence_size() const {}
inline int32_t TrainerSpec::mining_sentence_size() const {}
inline void TrainerSpec::_internal_set_mining_sentence_size(int32_t value) {}
inline void TrainerSpec::set_mining_sentence_size(int32_t value) {}

// optional int32 training_sentence_size = 13 [deprecated = true];
inline bool TrainerSpec::_internal_has_training_sentence_size() const {}
inline bool TrainerSpec::has_training_sentence_size() const {}
inline void TrainerSpec::clear_training_sentence_size() {}
inline int32_t TrainerSpec::_internal_training_sentence_size() const {}
inline int32_t TrainerSpec::training_sentence_size() const {}
inline void TrainerSpec::_internal_set_training_sentence_size(int32_t value) {}
inline void TrainerSpec::set_training_sentence_size(int32_t value) {}

// optional int32 seed_sentencepiece_size = 14 [default = 1000000];
inline bool TrainerSpec::_internal_has_seed_sentencepiece_size() const {}
inline bool TrainerSpec::has_seed_sentencepiece_size() const {}
inline void TrainerSpec::clear_seed_sentencepiece_size() {}
inline int32_t TrainerSpec::_internal_seed_sentencepiece_size() const {}
inline int32_t TrainerSpec::seed_sentencepiece_size() const {}
inline void TrainerSpec::_internal_set_seed_sentencepiece_size(int32_t value) {}
inline void TrainerSpec::set_seed_sentencepiece_size(int32_t value) {}

// optional float shrinking_factor = 15 [default = 0.75];
inline bool TrainerSpec::_internal_has_shrinking_factor() const {}
inline bool TrainerSpec::has_shrinking_factor() const {}
inline void TrainerSpec::clear_shrinking_factor() {}
inline float TrainerSpec::_internal_shrinking_factor() const {}
inline float TrainerSpec::shrinking_factor() const {}
inline void TrainerSpec::_internal_set_shrinking_factor(float value) {}
inline void TrainerSpec::set_shrinking_factor(float value) {}

// optional int32 max_sentence_length = 18 [default = 4192];
inline bool TrainerSpec::_internal_has_max_sentence_length() const {}
inline bool TrainerSpec::has_max_sentence_length() const {}
inline void TrainerSpec::clear_max_sentence_length() {}
inline int32_t TrainerSpec::_internal_max_sentence_length() const {}
inline int32_t TrainerSpec::max_sentence_length() const {}
inline void TrainerSpec::_internal_set_max_sentence_length(int32_t value) {}
inline void TrainerSpec::set_max_sentence_length(int32_t value) {}

// optional int32 num_threads = 16 [default = 16];
inline bool TrainerSpec::_internal_has_num_threads() const {}
inline bool TrainerSpec::has_num_threads() const {}
inline void TrainerSpec::clear_num_threads() {}
inline int32_t TrainerSpec::_internal_num_threads() const {}
inline int32_t TrainerSpec::num_threads() const {}
inline void TrainerSpec::_internal_set_num_threads(int32_t value) {}
inline void TrainerSpec::set_num_threads(int32_t value) {}

// optional int32 num_sub_iterations = 17 [default = 2];
inline bool TrainerSpec::_internal_has_num_sub_iterations() const {}
inline bool TrainerSpec::has_num_sub_iterations() const {}
inline void TrainerSpec::clear_num_sub_iterations() {}
inline int32_t TrainerSpec::_internal_num_sub_iterations() const {}
inline int32_t TrainerSpec::num_sub_iterations() const {}
inline void TrainerSpec::_internal_set_num_sub_iterations(int32_t value) {}
inline void TrainerSpec::set_num_sub_iterations(int32_t value) {}

// optional int32 max_sentencepiece_length = 20 [default = 16];
inline bool TrainerSpec::_internal_has_max_sentencepiece_length() const {}
inline bool TrainerSpec::has_max_sentencepiece_length() const {}
inline void TrainerSpec::clear_max_sentencepiece_length() {}
inline int32_t TrainerSpec::_internal_max_sentencepiece_length() const {}
inline int32_t TrainerSpec::max_sentencepiece_length() const {}
inline void TrainerSpec::_internal_set_max_sentencepiece_length(int32_t value) {}
inline void TrainerSpec::set_max_sentencepiece_length(int32_t value) {}

// optional bool split_by_unicode_script = 21 [default = true];
inline bool TrainerSpec::_internal_has_split_by_unicode_script() const {}
inline bool TrainerSpec::has_split_by_unicode_script() const {}
inline void TrainerSpec::clear_split_by_unicode_script() {}
inline bool TrainerSpec::_internal_split_by_unicode_script() const {}
inline bool TrainerSpec::split_by_unicode_script() const {}
inline void TrainerSpec::_internal_set_split_by_unicode_script(bool value) {}
inline void TrainerSpec::set_split_by_unicode_script(bool value) {}

// optional bool split_by_number = 23 [default = true];
inline bool TrainerSpec::_internal_has_split_by_number() const {}
inline bool TrainerSpec::has_split_by_number() const {}
inline void TrainerSpec::clear_split_by_number() {}
inline bool TrainerSpec::_internal_split_by_number() const {}
inline bool TrainerSpec::split_by_number() const {}
inline void TrainerSpec::_internal_set_split_by_number(bool value) {}
inline void TrainerSpec::set_split_by_number(bool value) {}

// optional bool split_by_whitespace = 22 [default = true];
inline bool TrainerSpec::_internal_has_split_by_whitespace() const {}
inline bool TrainerSpec::has_split_by_whitespace() const {}
inline void TrainerSpec::clear_split_by_whitespace() {}
inline bool TrainerSpec::_internal_split_by_whitespace() const {}
inline bool TrainerSpec::split_by_whitespace() const {}
inline void TrainerSpec::_internal_set_split_by_whitespace(bool value) {}
inline void TrainerSpec::set_split_by_whitespace(bool value) {}

// optional bool treat_whitespace_as_suffix = 24 [default = false];
inline bool TrainerSpec::_internal_has_treat_whitespace_as_suffix() const {}
inline bool TrainerSpec::has_treat_whitespace_as_suffix() const {}
inline void TrainerSpec::clear_treat_whitespace_as_suffix() {}
inline bool TrainerSpec::_internal_treat_whitespace_as_suffix() const {}
inline bool TrainerSpec::treat_whitespace_as_suffix() const {}
inline void TrainerSpec::_internal_set_treat_whitespace_as_suffix(bool value) {}
inline void TrainerSpec::set_treat_whitespace_as_suffix(bool value) {}

// optional bool allow_whitespace_only_pieces = 26 [default = false];
inline bool TrainerSpec::_internal_has_allow_whitespace_only_pieces() const {}
inline bool TrainerSpec::has_allow_whitespace_only_pieces() const {}
inline void TrainerSpec::clear_allow_whitespace_only_pieces() {}
inline bool TrainerSpec::_internal_allow_whitespace_only_pieces() const {}
inline bool TrainerSpec::allow_whitespace_only_pieces() const {}
inline void TrainerSpec::_internal_set_allow_whitespace_only_pieces(bool value) {}
inline void TrainerSpec::set_allow_whitespace_only_pieces(bool value) {}

// optional bool split_digits = 25 [default = false];
inline bool TrainerSpec::_internal_has_split_digits() const {}
inline bool TrainerSpec::has_split_digits() const {}
inline void TrainerSpec::clear_split_digits() {}
inline bool TrainerSpec::_internal_split_digits() const {}
inline bool TrainerSpec::split_digits() const {}
inline void TrainerSpec::_internal_set_split_digits(bool value) {}
inline void TrainerSpec::set_split_digits(bool value) {}

// optional string pretokenization_delimiter = 53 [default = ""];
inline bool TrainerSpec::_internal_has_pretokenization_delimiter() const {}
inline bool TrainerSpec::has_pretokenization_delimiter() const {}
inline void TrainerSpec::clear_pretokenization_delimiter() {}
inline const std::string& TrainerSpec::pretokenization_delimiter() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_pretokenization_delimiter(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_pretokenization_delimiter() {}
inline const std::string& TrainerSpec::_internal_pretokenization_delimiter() const {}
inline void TrainerSpec::_internal_set_pretokenization_delimiter(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_pretokenization_delimiter() {}
inline std::string* TrainerSpec::release_pretokenization_delimiter() {}
inline void TrainerSpec::set_allocated_pretokenization_delimiter(std::string* pretokenization_delimiter) {}

// repeated string control_symbols = 30;
inline int TrainerSpec::_internal_control_symbols_size() const {}
inline int TrainerSpec::control_symbols_size() const {}
inline void TrainerSpec::clear_control_symbols() {}
inline std::string* TrainerSpec::add_control_symbols() {}
inline const std::string& TrainerSpec::_internal_control_symbols(int index) const {}
inline const std::string& TrainerSpec::control_symbols(int index) const {}
inline std::string* TrainerSpec::mutable_control_symbols(int index) {}
inline void TrainerSpec::set_control_symbols(int index, const std::string& value) {}
inline void TrainerSpec::set_control_symbols(int index, std::string&& value) {}
inline void TrainerSpec::set_control_symbols(int index, const char* value) {}
inline void TrainerSpec::set_control_symbols(int index, const char* value, size_t size) {}
inline std::string* TrainerSpec::_internal_add_control_symbols() {}
inline void TrainerSpec::add_control_symbols(const std::string& value) {}
inline void TrainerSpec::add_control_symbols(std::string&& value) {}
inline void TrainerSpec::add_control_symbols(const char* value) {}
inline void TrainerSpec::add_control_symbols(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
TrainerSpec::control_symbols() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
TrainerSpec::mutable_control_symbols() {}

// repeated string user_defined_symbols = 31;
inline int TrainerSpec::_internal_user_defined_symbols_size() const {}
inline int TrainerSpec::user_defined_symbols_size() const {}
inline void TrainerSpec::clear_user_defined_symbols() {}
inline std::string* TrainerSpec::add_user_defined_symbols() {}
inline const std::string& TrainerSpec::_internal_user_defined_symbols(int index) const {}
inline const std::string& TrainerSpec::user_defined_symbols(int index) const {}
inline std::string* TrainerSpec::mutable_user_defined_symbols(int index) {}
inline void TrainerSpec::set_user_defined_symbols(int index, const std::string& value) {}
inline void TrainerSpec::set_user_defined_symbols(int index, std::string&& value) {}
inline void TrainerSpec::set_user_defined_symbols(int index, const char* value) {}
inline void TrainerSpec::set_user_defined_symbols(int index, const char* value, size_t size) {}
inline std::string* TrainerSpec::_internal_add_user_defined_symbols() {}
inline void TrainerSpec::add_user_defined_symbols(const std::string& value) {}
inline void TrainerSpec::add_user_defined_symbols(std::string&& value) {}
inline void TrainerSpec::add_user_defined_symbols(const char* value) {}
inline void TrainerSpec::add_user_defined_symbols(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
TrainerSpec::user_defined_symbols() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
TrainerSpec::mutable_user_defined_symbols() {}

// optional string required_chars = 36;
inline bool TrainerSpec::_internal_has_required_chars() const {}
inline bool TrainerSpec::has_required_chars() const {}
inline void TrainerSpec::clear_required_chars() {}
inline const std::string& TrainerSpec::required_chars() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_required_chars(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_required_chars() {}
inline const std::string& TrainerSpec::_internal_required_chars() const {}
inline void TrainerSpec::_internal_set_required_chars(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_required_chars() {}
inline std::string* TrainerSpec::release_required_chars() {}
inline void TrainerSpec::set_allocated_required_chars(std::string* required_chars) {}

// optional bool byte_fallback = 35 [default = false];
inline bool TrainerSpec::_internal_has_byte_fallback() const {}
inline bool TrainerSpec::has_byte_fallback() const {}
inline void TrainerSpec::clear_byte_fallback() {}
inline bool TrainerSpec::_internal_byte_fallback() const {}
inline bool TrainerSpec::byte_fallback() const {}
inline void TrainerSpec::_internal_set_byte_fallback(bool value) {}
inline void TrainerSpec::set_byte_fallback(bool value) {}

// optional bool vocabulary_output_piece_score = 32 [default = true];
inline bool TrainerSpec::_internal_has_vocabulary_output_piece_score() const {}
inline bool TrainerSpec::has_vocabulary_output_piece_score() const {}
inline void TrainerSpec::clear_vocabulary_output_piece_score() {}
inline bool TrainerSpec::_internal_vocabulary_output_piece_score() const {}
inline bool TrainerSpec::vocabulary_output_piece_score() const {}
inline void TrainerSpec::_internal_set_vocabulary_output_piece_score(bool value) {}
inline void TrainerSpec::set_vocabulary_output_piece_score(bool value) {}

// optional bool hard_vocab_limit = 33 [default = true];
inline bool TrainerSpec::_internal_has_hard_vocab_limit() const {}
inline bool TrainerSpec::has_hard_vocab_limit() const {}
inline void TrainerSpec::clear_hard_vocab_limit() {}
inline bool TrainerSpec::_internal_hard_vocab_limit() const {}
inline bool TrainerSpec::hard_vocab_limit() const {}
inline void TrainerSpec::_internal_set_hard_vocab_limit(bool value) {}
inline void TrainerSpec::set_hard_vocab_limit(bool value) {}

// optional bool use_all_vocab = 34 [default = false];
inline bool TrainerSpec::_internal_has_use_all_vocab() const {}
inline bool TrainerSpec::has_use_all_vocab() const {}
inline void TrainerSpec::clear_use_all_vocab() {}
inline bool TrainerSpec::_internal_use_all_vocab() const {}
inline bool TrainerSpec::use_all_vocab() const {}
inline void TrainerSpec::_internal_set_use_all_vocab(bool value) {}
inline void TrainerSpec::set_use_all_vocab(bool value) {}

// optional int32 unk_id = 40 [default = 0];
inline bool TrainerSpec::_internal_has_unk_id() const {}
inline bool TrainerSpec::has_unk_id() const {}
inline void TrainerSpec::clear_unk_id() {}
inline int32_t TrainerSpec::_internal_unk_id() const {}
inline int32_t TrainerSpec::unk_id() const {}
inline void TrainerSpec::_internal_set_unk_id(int32_t value) {}
inline void TrainerSpec::set_unk_id(int32_t value) {}

// optional int32 bos_id = 41 [default = 1];
inline bool TrainerSpec::_internal_has_bos_id() const {}
inline bool TrainerSpec::has_bos_id() const {}
inline void TrainerSpec::clear_bos_id() {}
inline int32_t TrainerSpec::_internal_bos_id() const {}
inline int32_t TrainerSpec::bos_id() const {}
inline void TrainerSpec::_internal_set_bos_id(int32_t value) {}
inline void TrainerSpec::set_bos_id(int32_t value) {}

// optional int32 eos_id = 42 [default = 2];
inline bool TrainerSpec::_internal_has_eos_id() const {}
inline bool TrainerSpec::has_eos_id() const {}
inline void TrainerSpec::clear_eos_id() {}
inline int32_t TrainerSpec::_internal_eos_id() const {}
inline int32_t TrainerSpec::eos_id() const {}
inline void TrainerSpec::_internal_set_eos_id(int32_t value) {}
inline void TrainerSpec::set_eos_id(int32_t value) {}

// optional int32 pad_id = 43 [default = -1];
inline bool TrainerSpec::_internal_has_pad_id() const {}
inline bool TrainerSpec::has_pad_id() const {}
inline void TrainerSpec::clear_pad_id() {}
inline int32_t TrainerSpec::_internal_pad_id() const {}
inline int32_t TrainerSpec::pad_id() const {}
inline void TrainerSpec::_internal_set_pad_id(int32_t value) {}
inline void TrainerSpec::set_pad_id(int32_t value) {}

// optional string unk_piece = 45 [default = "<unk>"];
inline bool TrainerSpec::_internal_has_unk_piece() const {}
inline bool TrainerSpec::has_unk_piece() const {}
inline void TrainerSpec::clear_unk_piece() {}
inline const std::string& TrainerSpec::unk_piece() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_unk_piece(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_unk_piece() {}
inline const std::string& TrainerSpec::_internal_unk_piece() const {}
inline void TrainerSpec::_internal_set_unk_piece(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_unk_piece() {}
inline std::string* TrainerSpec::release_unk_piece() {}
inline void TrainerSpec::set_allocated_unk_piece(std::string* unk_piece) {}

// optional string bos_piece = 46 [default = "<s>"];
inline bool TrainerSpec::_internal_has_bos_piece() const {}
inline bool TrainerSpec::has_bos_piece() const {}
inline void TrainerSpec::clear_bos_piece() {}
inline const std::string& TrainerSpec::bos_piece() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_bos_piece(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_bos_piece() {}
inline const std::string& TrainerSpec::_internal_bos_piece() const {}
inline void TrainerSpec::_internal_set_bos_piece(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_bos_piece() {}
inline std::string* TrainerSpec::release_bos_piece() {}
inline void TrainerSpec::set_allocated_bos_piece(std::string* bos_piece) {}

// optional string eos_piece = 47 [default = "</s>"];
inline bool TrainerSpec::_internal_has_eos_piece() const {}
inline bool TrainerSpec::has_eos_piece() const {}
inline void TrainerSpec::clear_eos_piece() {}
inline const std::string& TrainerSpec::eos_piece() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_eos_piece(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_eos_piece() {}
inline const std::string& TrainerSpec::_internal_eos_piece() const {}
inline void TrainerSpec::_internal_set_eos_piece(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_eos_piece() {}
inline std::string* TrainerSpec::release_eos_piece() {}
inline void TrainerSpec::set_allocated_eos_piece(std::string* eos_piece) {}

// optional string pad_piece = 48 [default = "<pad>"];
inline bool TrainerSpec::_internal_has_pad_piece() const {}
inline bool TrainerSpec::has_pad_piece() const {}
inline void TrainerSpec::clear_pad_piece() {}
inline const std::string& TrainerSpec::pad_piece() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_pad_piece(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_pad_piece() {}
inline const std::string& TrainerSpec::_internal_pad_piece() const {}
inline void TrainerSpec::_internal_set_pad_piece(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_pad_piece() {}
inline std::string* TrainerSpec::release_pad_piece() {}
inline void TrainerSpec::set_allocated_pad_piece(std::string* pad_piece) {}

// optional string unk_surface = 44 [default = " \342\201\207 "];
inline bool TrainerSpec::_internal_has_unk_surface() const {}
inline bool TrainerSpec::has_unk_surface() const {}
inline void TrainerSpec::clear_unk_surface() {}
inline const std::string& TrainerSpec::unk_surface() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TrainerSpec::set_unk_surface(ArgT0&& arg0, ArgT... args) {}
inline std::string* TrainerSpec::mutable_unk_surface() {}
inline const std::string& TrainerSpec::_internal_unk_surface() const {}
inline void TrainerSpec::_internal_set_unk_surface(const std::string& value) {}
inline std::string* TrainerSpec::_internal_mutable_unk_surface() {}
inline std::string* TrainerSpec::release_unk_surface() {}
inline void TrainerSpec::set_allocated_unk_surface(std::string* unk_surface) {}

// optional bool train_extremely_large_corpus = 49 [default = false];
inline bool TrainerSpec::_internal_has_train_extremely_large_corpus() const {}
inline bool TrainerSpec::has_train_extremely_large_corpus() const {}
inline void TrainerSpec::clear_train_extremely_large_corpus() {}
inline bool TrainerSpec::_internal_train_extremely_large_corpus() const {}
inline bool TrainerSpec::train_extremely_large_corpus() const {}
inline void TrainerSpec::_internal_set_train_extremely_large_corpus(bool value) {}
inline void TrainerSpec::set_train_extremely_large_corpus(bool value) {}

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

// NormalizerSpec

// optional string name = 1;
inline bool NormalizerSpec::_internal_has_name() const {}
inline bool NormalizerSpec::has_name() const {}
inline void NormalizerSpec::clear_name() {}
inline const std::string& NormalizerSpec::name() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void NormalizerSpec::set_name(ArgT0&& arg0, ArgT... args) {}
inline std::string* NormalizerSpec::mutable_name() {}
inline const std::string& NormalizerSpec::_internal_name() const {}
inline void NormalizerSpec::_internal_set_name(const std::string& value) {}
inline std::string* NormalizerSpec::_internal_mutable_name() {}
inline std::string* NormalizerSpec::release_name() {}
inline void NormalizerSpec::set_allocated_name(std::string* name) {}

// optional bytes precompiled_charsmap = 2;
inline bool NormalizerSpec::_internal_has_precompiled_charsmap() const {}
inline bool NormalizerSpec::has_precompiled_charsmap() const {}
inline void NormalizerSpec::clear_precompiled_charsmap() {}
inline const std::string& NormalizerSpec::precompiled_charsmap() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void NormalizerSpec::set_precompiled_charsmap(ArgT0&& arg0, ArgT... args) {}
inline std::string* NormalizerSpec::mutable_precompiled_charsmap() {}
inline const std::string& NormalizerSpec::_internal_precompiled_charsmap() const {}
inline void NormalizerSpec::_internal_set_precompiled_charsmap(const std::string& value) {}
inline std::string* NormalizerSpec::_internal_mutable_precompiled_charsmap() {}
inline std::string* NormalizerSpec::release_precompiled_charsmap() {}
inline void NormalizerSpec::set_allocated_precompiled_charsmap(std::string* precompiled_charsmap) {}

// optional bool add_dummy_prefix = 3 [default = true];
inline bool NormalizerSpec::_internal_has_add_dummy_prefix() const {}
inline bool NormalizerSpec::has_add_dummy_prefix() const {}
inline void NormalizerSpec::clear_add_dummy_prefix() {}
inline bool NormalizerSpec::_internal_add_dummy_prefix() const {}
inline bool NormalizerSpec::add_dummy_prefix() const {}
inline void NormalizerSpec::_internal_set_add_dummy_prefix(bool value) {}
inline void NormalizerSpec::set_add_dummy_prefix(bool value) {}

// optional bool remove_extra_whitespaces = 4 [default = true];
inline bool NormalizerSpec::_internal_has_remove_extra_whitespaces() const {}
inline bool NormalizerSpec::has_remove_extra_whitespaces() const {}
inline void NormalizerSpec::clear_remove_extra_whitespaces() {}
inline bool NormalizerSpec::_internal_remove_extra_whitespaces() const {}
inline bool NormalizerSpec::remove_extra_whitespaces() const {}
inline void NormalizerSpec::_internal_set_remove_extra_whitespaces(bool value) {}
inline void NormalizerSpec::set_remove_extra_whitespaces(bool value) {}

// optional bool escape_whitespaces = 5 [default = true];
inline bool NormalizerSpec::_internal_has_escape_whitespaces() const {}
inline bool NormalizerSpec::has_escape_whitespaces() const {}
inline void NormalizerSpec::clear_escape_whitespaces() {}
inline bool NormalizerSpec::_internal_escape_whitespaces() const {}
inline bool NormalizerSpec::escape_whitespaces() const {}
inline void NormalizerSpec::_internal_set_escape_whitespaces(bool value) {}
inline void NormalizerSpec::set_escape_whitespaces(bool value) {}

// optional string normalization_rule_tsv = 6;
inline bool NormalizerSpec::_internal_has_normalization_rule_tsv() const {}
inline bool NormalizerSpec::has_normalization_rule_tsv() const {}
inline void NormalizerSpec::clear_normalization_rule_tsv() {}
inline const std::string& NormalizerSpec::normalization_rule_tsv() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void NormalizerSpec::set_normalization_rule_tsv(ArgT0&& arg0, ArgT... args) {}
inline std::string* NormalizerSpec::mutable_normalization_rule_tsv() {}
inline const std::string& NormalizerSpec::_internal_normalization_rule_tsv() const {}
inline void NormalizerSpec::_internal_set_normalization_rule_tsv(const std::string& value) {}
inline std::string* NormalizerSpec::_internal_mutable_normalization_rule_tsv() {}
inline std::string* NormalizerSpec::release_normalization_rule_tsv() {}
inline void NormalizerSpec::set_allocated_normalization_rule_tsv(std::string* normalization_rule_tsv) {}

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

// SelfTestData_Sample

// optional string input = 1;
inline bool SelfTestData_Sample::_internal_has_input() const {}
inline bool SelfTestData_Sample::has_input() const {}
inline void SelfTestData_Sample::clear_input() {}
inline const std::string& SelfTestData_Sample::input() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SelfTestData_Sample::set_input(ArgT0&& arg0, ArgT... args) {}
inline std::string* SelfTestData_Sample::mutable_input() {}
inline const std::string& SelfTestData_Sample::_internal_input() const {}
inline void SelfTestData_Sample::_internal_set_input(const std::string& value) {}
inline std::string* SelfTestData_Sample::_internal_mutable_input() {}
inline std::string* SelfTestData_Sample::release_input() {}
inline void SelfTestData_Sample::set_allocated_input(std::string* input) {}

// optional string expected = 2;
inline bool SelfTestData_Sample::_internal_has_expected() const {}
inline bool SelfTestData_Sample::has_expected() const {}
inline void SelfTestData_Sample::clear_expected() {}
inline const std::string& SelfTestData_Sample::expected() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void SelfTestData_Sample::set_expected(ArgT0&& arg0, ArgT... args) {}
inline std::string* SelfTestData_Sample::mutable_expected() {}
inline const std::string& SelfTestData_Sample::_internal_expected() const {}
inline void SelfTestData_Sample::_internal_set_expected(const std::string& value) {}
inline std::string* SelfTestData_Sample::_internal_mutable_expected() {}
inline std::string* SelfTestData_Sample::release_expected() {}
inline void SelfTestData_Sample::set_allocated_expected(std::string* expected) {}

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

// SelfTestData

// repeated .sentencepiece.SelfTestData.Sample samples = 1;
inline int SelfTestData::_internal_samples_size() const {}
inline int SelfTestData::samples_size() const {}
inline void SelfTestData::clear_samples() {}
inline ::sentencepiece::SelfTestData_Sample* SelfTestData::mutable_samples(int index) {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample >*
SelfTestData::mutable_samples() {}
inline const ::sentencepiece::SelfTestData_Sample& SelfTestData::_internal_samples(int index) const {}
inline const ::sentencepiece::SelfTestData_Sample& SelfTestData::samples(int index) const {}
inline ::sentencepiece::SelfTestData_Sample* SelfTestData::_internal_add_samples() {}
inline ::sentencepiece::SelfTestData_Sample* SelfTestData::add_samples() {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample >&
SelfTestData::samples() const {}

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

// ModelProto_SentencePiece

// optional string piece = 1;
inline bool ModelProto_SentencePiece::_internal_has_piece() const {}
inline bool ModelProto_SentencePiece::has_piece() const {}
inline void ModelProto_SentencePiece::clear_piece() {}
inline const std::string& ModelProto_SentencePiece::piece() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ModelProto_SentencePiece::set_piece(ArgT0&& arg0, ArgT... args) {}
inline std::string* ModelProto_SentencePiece::mutable_piece() {}
inline const std::string& ModelProto_SentencePiece::_internal_piece() const {}
inline void ModelProto_SentencePiece::_internal_set_piece(const std::string& value) {}
inline std::string* ModelProto_SentencePiece::_internal_mutable_piece() {}
inline std::string* ModelProto_SentencePiece::release_piece() {}
inline void ModelProto_SentencePiece::set_allocated_piece(std::string* piece) {}

// optional float score = 2;
inline bool ModelProto_SentencePiece::_internal_has_score() const {}
inline bool ModelProto_SentencePiece::has_score() const {}
inline void ModelProto_SentencePiece::clear_score() {}
inline float ModelProto_SentencePiece::_internal_score() const {}
inline float ModelProto_SentencePiece::score() const {}
inline void ModelProto_SentencePiece::_internal_set_score(float value) {}
inline void ModelProto_SentencePiece::set_score(float value) {}

// optional .sentencepiece.ModelProto.SentencePiece.Type type = 3 [default = NORMAL];
inline bool ModelProto_SentencePiece::_internal_has_type() const {}
inline bool ModelProto_SentencePiece::has_type() const {}
inline void ModelProto_SentencePiece::clear_type() {}
inline ::sentencepiece::ModelProto_SentencePiece_Type ModelProto_SentencePiece::_internal_type() const {}
inline ::sentencepiece::ModelProto_SentencePiece_Type ModelProto_SentencePiece::type() const {}
inline void ModelProto_SentencePiece::_internal_set_type(::sentencepiece::ModelProto_SentencePiece_Type value) {}
inline void ModelProto_SentencePiece::set_type(::sentencepiece::ModelProto_SentencePiece_Type value) {}

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

// ModelProto

// repeated .sentencepiece.ModelProto.SentencePiece pieces = 1;
inline int ModelProto::_internal_pieces_size() const {}
inline int ModelProto::pieces_size() const {}
inline void ModelProto::clear_pieces() {}
inline ::sentencepiece::ModelProto_SentencePiece* ModelProto::mutable_pieces(int index) {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece >*
ModelProto::mutable_pieces() {}
inline const ::sentencepiece::ModelProto_SentencePiece& ModelProto::_internal_pieces(int index) const {}
inline const ::sentencepiece::ModelProto_SentencePiece& ModelProto::pieces(int index) const {}
inline ::sentencepiece::ModelProto_SentencePiece* ModelProto::_internal_add_pieces() {}
inline ::sentencepiece::ModelProto_SentencePiece* ModelProto::add_pieces() {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece >&
ModelProto::pieces() const {}

// optional .sentencepiece.TrainerSpec trainer_spec = 2;
inline bool ModelProto::_internal_has_trainer_spec() const {}
inline bool ModelProto::has_trainer_spec() const {}
inline void ModelProto::clear_trainer_spec() {}
inline const ::sentencepiece::TrainerSpec& ModelProto::_internal_trainer_spec() const {}
inline const ::sentencepiece::TrainerSpec& ModelProto::trainer_spec() const {}
inline void ModelProto::unsafe_arena_set_allocated_trainer_spec(
    ::sentencepiece::TrainerSpec* trainer_spec) {}
inline ::sentencepiece::TrainerSpec* ModelProto::release_trainer_spec() {}
inline ::sentencepiece::TrainerSpec* ModelProto::unsafe_arena_release_trainer_spec() {}
inline ::sentencepiece::TrainerSpec* ModelProto::_internal_mutable_trainer_spec() {}
inline ::sentencepiece::TrainerSpec* ModelProto::mutable_trainer_spec() {}
inline void ModelProto::set_allocated_trainer_spec(::sentencepiece::TrainerSpec* trainer_spec) {}

// optional .sentencepiece.NormalizerSpec normalizer_spec = 3;
inline bool ModelProto::_internal_has_normalizer_spec() const {}
inline bool ModelProto::has_normalizer_spec() const {}
inline void ModelProto::clear_normalizer_spec() {}
inline const ::sentencepiece::NormalizerSpec& ModelProto::_internal_normalizer_spec() const {}
inline const ::sentencepiece::NormalizerSpec& ModelProto::normalizer_spec() const {}
inline void ModelProto::unsafe_arena_set_allocated_normalizer_spec(
    ::sentencepiece::NormalizerSpec* normalizer_spec) {}
inline ::sentencepiece::NormalizerSpec* ModelProto::release_normalizer_spec() {}
inline ::sentencepiece::NormalizerSpec* ModelProto::unsafe_arena_release_normalizer_spec() {}
inline ::sentencepiece::NormalizerSpec* ModelProto::_internal_mutable_normalizer_spec() {}
inline ::sentencepiece::NormalizerSpec* ModelProto::mutable_normalizer_spec() {}
inline void ModelProto::set_allocated_normalizer_spec(::sentencepiece::NormalizerSpec* normalizer_spec) {}

// optional .sentencepiece.SelfTestData self_test_data = 4;
inline bool ModelProto::_internal_has_self_test_data() const {}
inline bool ModelProto::has_self_test_data() const {}
inline void ModelProto::clear_self_test_data() {}
inline const ::sentencepiece::SelfTestData& ModelProto::_internal_self_test_data() const {}
inline const ::sentencepiece::SelfTestData& ModelProto::self_test_data() const {}
inline void ModelProto::unsafe_arena_set_allocated_self_test_data(
    ::sentencepiece::SelfTestData* self_test_data) {}
inline ::sentencepiece::SelfTestData* ModelProto::release_self_test_data() {}
inline ::sentencepiece::SelfTestData* ModelProto::unsafe_arena_release_self_test_data() {}
inline ::sentencepiece::SelfTestData* ModelProto::_internal_mutable_self_test_data() {}
inline ::sentencepiece::SelfTestData* ModelProto::mutable_self_test_data() {}
inline void ModelProto::set_allocated_self_test_data(::sentencepiece::SelfTestData* self_test_data) {}

// optional .sentencepiece.NormalizerSpec denormalizer_spec = 5;
inline bool ModelProto::_internal_has_denormalizer_spec() const {}
inline bool ModelProto::has_denormalizer_spec() const {}
inline void ModelProto::clear_denormalizer_spec() {}
inline const ::sentencepiece::NormalizerSpec& ModelProto::_internal_denormalizer_spec() const {}
inline const ::sentencepiece::NormalizerSpec& ModelProto::denormalizer_spec() const {}
inline void ModelProto::unsafe_arena_set_allocated_denormalizer_spec(
    ::sentencepiece::NormalizerSpec* denormalizer_spec) {}
inline ::sentencepiece::NormalizerSpec* ModelProto::release_denormalizer_spec() {}
inline ::sentencepiece::NormalizerSpec* ModelProto::unsafe_arena_release_denormalizer_spec() {}
inline ::sentencepiece::NormalizerSpec* ModelProto::_internal_mutable_denormalizer_spec() {}
inline ::sentencepiece::NormalizerSpec* ModelProto::mutable_denormalizer_spec() {}
inline void ModelProto::set_allocated_denormalizer_spec(::sentencepiece::NormalizerSpec* denormalizer_spec) {}

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace sentencepiece

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::sentencepiece::TrainerSpec_ModelType> : ::std::true_type {};
template <> struct is_proto_enum< ::sentencepiece::ModelProto_SentencePiece_Type> : ::std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

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