chromium/out/Default/gen/components/variations/proto/study.pb.h

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

#ifndef GOOGLE_PROTOBUF_INCLUDED_study_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_study_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>
#include "layer.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_study_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_study_2eproto {};
namespace variations {
class Study;
struct StudyDefaultTypeInternal;
extern StudyDefaultTypeInternal _Study_default_instance_;
class Study_Experiment;
struct Study_ExperimentDefaultTypeInternal;
extern Study_ExperimentDefaultTypeInternal _Study_Experiment_default_instance_;
class Study_Experiment_FeatureAssociation;
struct Study_Experiment_FeatureAssociationDefaultTypeInternal;
extern Study_Experiment_FeatureAssociationDefaultTypeInternal _Study_Experiment_FeatureAssociation_default_instance_;
class Study_Experiment_OverrideUIString;
struct Study_Experiment_OverrideUIStringDefaultTypeInternal;
extern Study_Experiment_OverrideUIStringDefaultTypeInternal _Study_Experiment_OverrideUIString_default_instance_;
class Study_Experiment_Param;
struct Study_Experiment_ParamDefaultTypeInternal;
extern Study_Experiment_ParamDefaultTypeInternal _Study_Experiment_Param_default_instance_;
class Study_Filter;
struct Study_FilterDefaultTypeInternal;
extern Study_FilterDefaultTypeInternal _Study_Filter_default_instance_;
}  // namespace variations
PROTOBUF_NAMESPACE_OPEN
template<> ::variations::Study* Arena::CreateMaybeMessage<::variations::Study>(Arena*);
template<> ::variations::Study_Experiment* Arena::CreateMaybeMessage<::variations::Study_Experiment>(Arena*);
template<> ::variations::Study_Experiment_FeatureAssociation* Arena::CreateMaybeMessage<::variations::Study_Experiment_FeatureAssociation>(Arena*);
template<> ::variations::Study_Experiment_OverrideUIString* Arena::CreateMaybeMessage<::variations::Study_Experiment_OverrideUIString>(Arena*);
template<> ::variations::Study_Experiment_Param* Arena::CreateMaybeMessage<::variations::Study_Experiment_Param>(Arena*);
template<> ::variations::Study_Filter* Arena::CreateMaybeMessage<::variations::Study_Filter>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace variations {

enum Study_Experiment_Type : int {};
bool Study_Experiment_Type_IsValid(int value);
constexpr Study_Experiment_Type Study_Experiment_Type_Type_MIN =;
constexpr Study_Experiment_Type Study_Experiment_Type_Type_MAX =;
constexpr int Study_Experiment_Type_Type_ARRAYSIZE =;

const std::string& Study_Experiment_Type_Name(Study_Experiment_Type value);
template<typename T>
inline const std::string& Study_Experiment_Type_Name(T enum_t_value) {}
bool Study_Experiment_Type_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_Experiment_Type* value);
enum Study_Consistency : int {};
bool Study_Consistency_IsValid(int value);
constexpr Study_Consistency Study_Consistency_Consistency_MIN =;
constexpr Study_Consistency Study_Consistency_Consistency_MAX =;
constexpr int Study_Consistency_Consistency_ARRAYSIZE =;

const std::string& Study_Consistency_Name(Study_Consistency value);
template<typename T>
inline const std::string& Study_Consistency_Name(T enum_t_value) {}
bool Study_Consistency_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_Consistency* value);
enum Study_GoogleWebVisibility : int {};
bool Study_GoogleWebVisibility_IsValid(int value);
constexpr Study_GoogleWebVisibility Study_GoogleWebVisibility_GoogleWebVisibility_MIN =;
constexpr Study_GoogleWebVisibility Study_GoogleWebVisibility_GoogleWebVisibility_MAX =;
constexpr int Study_GoogleWebVisibility_GoogleWebVisibility_ARRAYSIZE =;

const std::string& Study_GoogleWebVisibility_Name(Study_GoogleWebVisibility value);
template<typename T>
inline const std::string& Study_GoogleWebVisibility_Name(T enum_t_value) {}
bool Study_GoogleWebVisibility_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_GoogleWebVisibility* value);
enum Study_Channel : int {};
bool Study_Channel_IsValid(int value);
constexpr Study_Channel Study_Channel_Channel_MIN =;
constexpr Study_Channel Study_Channel_Channel_MAX =;
constexpr int Study_Channel_Channel_ARRAYSIZE =;

const std::string& Study_Channel_Name(Study_Channel value);
template<typename T>
inline const std::string& Study_Channel_Name(T enum_t_value) {}
bool Study_Channel_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_Channel* value);
enum Study_Platform : int {};
bool Study_Platform_IsValid(int value);
constexpr Study_Platform Study_Platform_Platform_MIN =;
constexpr Study_Platform Study_Platform_Platform_MAX =;
constexpr int Study_Platform_Platform_ARRAYSIZE =;

const std::string& Study_Platform_Name(Study_Platform value);
template<typename T>
inline const std::string& Study_Platform_Name(T enum_t_value) {}
bool Study_Platform_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_Platform* value);
enum Study_FormFactor : int {};
bool Study_FormFactor_IsValid(int value);
constexpr Study_FormFactor Study_FormFactor_FormFactor_MIN =;
constexpr Study_FormFactor Study_FormFactor_FormFactor_MAX =;
constexpr int Study_FormFactor_FormFactor_ARRAYSIZE =;

const std::string& Study_FormFactor_Name(Study_FormFactor value);
template<typename T>
inline const std::string& Study_FormFactor_Name(T enum_t_value) {}
bool Study_FormFactor_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_FormFactor* value);
enum Study_CpuArchitecture : int {};
bool Study_CpuArchitecture_IsValid(int value);
constexpr Study_CpuArchitecture Study_CpuArchitecture_CpuArchitecture_MIN =;
constexpr Study_CpuArchitecture Study_CpuArchitecture_CpuArchitecture_MAX =;
constexpr int Study_CpuArchitecture_CpuArchitecture_ARRAYSIZE =;

const std::string& Study_CpuArchitecture_Name(Study_CpuArchitecture value);
template<typename T>
inline const std::string& Study_CpuArchitecture_Name(T enum_t_value) {}
bool Study_CpuArchitecture_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_CpuArchitecture* value);
enum Study_OptionalBool : int {};
bool Study_OptionalBool_IsValid(int value);
constexpr Study_OptionalBool Study_OptionalBool_OptionalBool_MIN =;
constexpr Study_OptionalBool Study_OptionalBool_OptionalBool_MAX =;
constexpr int Study_OptionalBool_OptionalBool_ARRAYSIZE =;

const std::string& Study_OptionalBool_Name(Study_OptionalBool value);
template<typename T>
inline const std::string& Study_OptionalBool_Name(T enum_t_value) {}
bool Study_OptionalBool_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_OptionalBool* value);
enum Study_PolicyRestriction : int {};
bool Study_PolicyRestriction_IsValid(int value);
constexpr Study_PolicyRestriction Study_PolicyRestriction_PolicyRestriction_MIN =;
constexpr Study_PolicyRestriction Study_PolicyRestriction_PolicyRestriction_MAX =;
constexpr int Study_PolicyRestriction_PolicyRestriction_ARRAYSIZE =;

const std::string& Study_PolicyRestriction_Name(Study_PolicyRestriction value);
template<typename T>
inline const std::string& Study_PolicyRestriction_Name(T enum_t_value) {}
bool Study_PolicyRestriction_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Study_PolicyRestriction* value);
enum Study_ActivationType : int {};
bool Study_ActivationType_IsValid(int value);
constexpr Study_ActivationType Study_ActivationType_ActivationType_MIN =;
constexpr Study_ActivationType Study_ActivationType_ActivationType_MAX =;
constexpr int Study_ActivationType_ActivationType_ARRAYSIZE =;

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

class Study_Experiment_Param final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:variations.Study.Experiment.Param) */ {};
// -------------------------------------------------------------------

class Study_Experiment_FeatureAssociation final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:variations.Study.Experiment.FeatureAssociation) */ {};
// -------------------------------------------------------------------

class Study_Experiment_OverrideUIString final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:variations.Study.Experiment.OverrideUIString) */ {};
// -------------------------------------------------------------------

class Study_Experiment final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:variations.Study.Experiment) */ {};
// -------------------------------------------------------------------

class Study_Filter final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:variations.Study.Filter) */ {};
// -------------------------------------------------------------------

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


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

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

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

// optional string value = 2;
inline bool Study_Experiment_Param::_internal_has_value() const {}
inline bool Study_Experiment_Param::has_value() const {}
inline void Study_Experiment_Param::clear_value() {}
inline const std::string& Study_Experiment_Param::value() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Experiment_Param::set_value(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Experiment_Param::mutable_value() {}
inline const std::string& Study_Experiment_Param::_internal_value() const {}
inline void Study_Experiment_Param::_internal_set_value(const std::string& value) {}
inline std::string* Study_Experiment_Param::_internal_mutable_value() {}
inline std::string* Study_Experiment_Param::release_value() {}
inline void Study_Experiment_Param::set_allocated_value(std::string* value) {}

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

// Study_Experiment_FeatureAssociation

// repeated string enable_feature = 1;
inline int Study_Experiment_FeatureAssociation::_internal_enable_feature_size() const {}
inline int Study_Experiment_FeatureAssociation::enable_feature_size() const {}
inline void Study_Experiment_FeatureAssociation::clear_enable_feature() {}
inline std::string* Study_Experiment_FeatureAssociation::add_enable_feature() {}
inline const std::string& Study_Experiment_FeatureAssociation::_internal_enable_feature(int index) const {}
inline const std::string& Study_Experiment_FeatureAssociation::enable_feature(int index) const {}
inline std::string* Study_Experiment_FeatureAssociation::mutable_enable_feature(int index) {}
inline void Study_Experiment_FeatureAssociation::set_enable_feature(int index, const std::string& value) {}
inline void Study_Experiment_FeatureAssociation::set_enable_feature(int index, std::string&& value) {}
inline void Study_Experiment_FeatureAssociation::set_enable_feature(int index, const char* value) {}
inline void Study_Experiment_FeatureAssociation::set_enable_feature(int index, const char* value, size_t size) {}
inline std::string* Study_Experiment_FeatureAssociation::_internal_add_enable_feature() {}
inline void Study_Experiment_FeatureAssociation::add_enable_feature(const std::string& value) {}
inline void Study_Experiment_FeatureAssociation::add_enable_feature(std::string&& value) {}
inline void Study_Experiment_FeatureAssociation::add_enable_feature(const char* value) {}
inline void Study_Experiment_FeatureAssociation::add_enable_feature(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Study_Experiment_FeatureAssociation::enable_feature() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Study_Experiment_FeatureAssociation::mutable_enable_feature() {}

// repeated string disable_feature = 2;
inline int Study_Experiment_FeatureAssociation::_internal_disable_feature_size() const {}
inline int Study_Experiment_FeatureAssociation::disable_feature_size() const {}
inline void Study_Experiment_FeatureAssociation::clear_disable_feature() {}
inline std::string* Study_Experiment_FeatureAssociation::add_disable_feature() {}
inline const std::string& Study_Experiment_FeatureAssociation::_internal_disable_feature(int index) const {}
inline const std::string& Study_Experiment_FeatureAssociation::disable_feature(int index) const {}
inline std::string* Study_Experiment_FeatureAssociation::mutable_disable_feature(int index) {}
inline void Study_Experiment_FeatureAssociation::set_disable_feature(int index, const std::string& value) {}
inline void Study_Experiment_FeatureAssociation::set_disable_feature(int index, std::string&& value) {}
inline void Study_Experiment_FeatureAssociation::set_disable_feature(int index, const char* value) {}
inline void Study_Experiment_FeatureAssociation::set_disable_feature(int index, const char* value, size_t size) {}
inline std::string* Study_Experiment_FeatureAssociation::_internal_add_disable_feature() {}
inline void Study_Experiment_FeatureAssociation::add_disable_feature(const std::string& value) {}
inline void Study_Experiment_FeatureAssociation::add_disable_feature(std::string&& value) {}
inline void Study_Experiment_FeatureAssociation::add_disable_feature(const char* value) {}
inline void Study_Experiment_FeatureAssociation::add_disable_feature(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Study_Experiment_FeatureAssociation::disable_feature() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Study_Experiment_FeatureAssociation::mutable_disable_feature() {}

// optional string forcing_feature_on = 3;
inline bool Study_Experiment_FeatureAssociation::_internal_has_forcing_feature_on() const {}
inline bool Study_Experiment_FeatureAssociation::has_forcing_feature_on() const {}
inline void Study_Experiment_FeatureAssociation::clear_forcing_feature_on() {}
inline const std::string& Study_Experiment_FeatureAssociation::forcing_feature_on() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Experiment_FeatureAssociation::set_forcing_feature_on(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Experiment_FeatureAssociation::mutable_forcing_feature_on() {}
inline const std::string& Study_Experiment_FeatureAssociation::_internal_forcing_feature_on() const {}
inline void Study_Experiment_FeatureAssociation::_internal_set_forcing_feature_on(const std::string& value) {}
inline std::string* Study_Experiment_FeatureAssociation::_internal_mutable_forcing_feature_on() {}
inline std::string* Study_Experiment_FeatureAssociation::release_forcing_feature_on() {}
inline void Study_Experiment_FeatureAssociation::set_allocated_forcing_feature_on(std::string* forcing_feature_on) {}

// optional string forcing_feature_off = 4;
inline bool Study_Experiment_FeatureAssociation::_internal_has_forcing_feature_off() const {}
inline bool Study_Experiment_FeatureAssociation::has_forcing_feature_off() const {}
inline void Study_Experiment_FeatureAssociation::clear_forcing_feature_off() {}
inline const std::string& Study_Experiment_FeatureAssociation::forcing_feature_off() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Experiment_FeatureAssociation::set_forcing_feature_off(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Experiment_FeatureAssociation::mutable_forcing_feature_off() {}
inline const std::string& Study_Experiment_FeatureAssociation::_internal_forcing_feature_off() const {}
inline void Study_Experiment_FeatureAssociation::_internal_set_forcing_feature_off(const std::string& value) {}
inline std::string* Study_Experiment_FeatureAssociation::_internal_mutable_forcing_feature_off() {}
inline std::string* Study_Experiment_FeatureAssociation::release_forcing_feature_off() {}
inline void Study_Experiment_FeatureAssociation::set_allocated_forcing_feature_off(std::string* forcing_feature_off) {}

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

// Study_Experiment_OverrideUIString

// optional fixed32 name_hash = 1;
inline bool Study_Experiment_OverrideUIString::_internal_has_name_hash() const {}
inline bool Study_Experiment_OverrideUIString::has_name_hash() const {}
inline void Study_Experiment_OverrideUIString::clear_name_hash() {}
inline uint32_t Study_Experiment_OverrideUIString::_internal_name_hash() const {}
inline uint32_t Study_Experiment_OverrideUIString::name_hash() const {}
inline void Study_Experiment_OverrideUIString::_internal_set_name_hash(uint32_t value) {}
inline void Study_Experiment_OverrideUIString::set_name_hash(uint32_t value) {}

// optional string value = 2;
inline bool Study_Experiment_OverrideUIString::_internal_has_value() const {}
inline bool Study_Experiment_OverrideUIString::has_value() const {}
inline void Study_Experiment_OverrideUIString::clear_value() {}
inline const std::string& Study_Experiment_OverrideUIString::value() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Experiment_OverrideUIString::set_value(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Experiment_OverrideUIString::mutable_value() {}
inline const std::string& Study_Experiment_OverrideUIString::_internal_value() const {}
inline void Study_Experiment_OverrideUIString::_internal_set_value(const std::string& value) {}
inline std::string* Study_Experiment_OverrideUIString::_internal_mutable_value() {}
inline std::string* Study_Experiment_OverrideUIString::release_value() {}
inline void Study_Experiment_OverrideUIString::set_allocated_value(std::string* value) {}

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

// Study_Experiment

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

// required uint32 probability_weight = 2;
inline bool Study_Experiment::_internal_has_probability_weight() const {}
inline bool Study_Experiment::has_probability_weight() const {}
inline void Study_Experiment::clear_probability_weight() {}
inline uint32_t Study_Experiment::_internal_probability_weight() const {}
inline uint32_t Study_Experiment::probability_weight() const {}
inline void Study_Experiment::_internal_set_probability_weight(uint32_t value) {}
inline void Study_Experiment::set_probability_weight(uint32_t value) {}

// optional uint64 google_web_experiment_id = 3;
inline bool Study_Experiment::_internal_has_google_web_experiment_id() const {}
inline bool Study_Experiment::has_google_web_experiment_id() const {}
inline void Study_Experiment::clear_google_web_experiment_id() {}
inline uint64_t Study_Experiment::_internal_google_web_experiment_id() const {}
inline uint64_t Study_Experiment::google_web_experiment_id() const {}
inline void Study_Experiment::_internal_set_google_web_experiment_id(uint64_t value) {}
inline void Study_Experiment::set_google_web_experiment_id(uint64_t value) {}

// optional uint64 google_web_trigger_experiment_id = 8;
inline bool Study_Experiment::_internal_has_google_web_trigger_experiment_id() const {}
inline bool Study_Experiment::has_google_web_trigger_experiment_id() const {}
inline void Study_Experiment::clear_google_web_trigger_experiment_id() {}
inline uint64_t Study_Experiment::_internal_google_web_trigger_experiment_id() const {}
inline uint64_t Study_Experiment::google_web_trigger_experiment_id() const {}
inline void Study_Experiment::_internal_set_google_web_trigger_experiment_id(uint64_t value) {}
inline void Study_Experiment::set_google_web_trigger_experiment_id(uint64_t value) {}

// optional .variations.Study.GoogleWebVisibility google_web_visibility = 16;
inline bool Study_Experiment::_internal_has_google_web_visibility() const {}
inline bool Study_Experiment::has_google_web_visibility() const {}
inline void Study_Experiment::clear_google_web_visibility() {}
inline ::variations::Study_GoogleWebVisibility Study_Experiment::_internal_google_web_visibility() const {}
inline ::variations::Study_GoogleWebVisibility Study_Experiment::google_web_visibility() const {}
inline void Study_Experiment::_internal_set_google_web_visibility(::variations::Study_GoogleWebVisibility value) {}
inline void Study_Experiment::set_google_web_visibility(::variations::Study_GoogleWebVisibility value) {}

// optional uint64 google_app_experiment_id = 15;
inline bool Study_Experiment::_internal_has_google_app_experiment_id() const {}
inline bool Study_Experiment::has_google_app_experiment_id() const {}
inline void Study_Experiment::clear_google_app_experiment_id() {}
inline uint64_t Study_Experiment::_internal_google_app_experiment_id() const {}
inline uint64_t Study_Experiment::google_app_experiment_id() const {}
inline void Study_Experiment::_internal_set_google_app_experiment_id(uint64_t value) {}
inline void Study_Experiment::set_google_app_experiment_id(uint64_t value) {}

// optional .variations.Study.Experiment.FeatureAssociation feature_association = 12;
inline bool Study_Experiment::_internal_has_feature_association() const {}
inline bool Study_Experiment::has_feature_association() const {}
inline void Study_Experiment::clear_feature_association() {}
inline const ::variations::Study_Experiment_FeatureAssociation& Study_Experiment::_internal_feature_association() const {}
inline const ::variations::Study_Experiment_FeatureAssociation& Study_Experiment::feature_association() const {}
inline void Study_Experiment::unsafe_arena_set_allocated_feature_association(
    ::variations::Study_Experiment_FeatureAssociation* feature_association) {}
inline ::variations::Study_Experiment_FeatureAssociation* Study_Experiment::release_feature_association() {}
inline ::variations::Study_Experiment_FeatureAssociation* Study_Experiment::unsafe_arena_release_feature_association() {}
inline ::variations::Study_Experiment_FeatureAssociation* Study_Experiment::_internal_mutable_feature_association() {}
inline ::variations::Study_Experiment_FeatureAssociation* Study_Experiment::mutable_feature_association() {}
inline void Study_Experiment::set_allocated_feature_association(::variations::Study_Experiment_FeatureAssociation* feature_association) {}

// optional string forcing_flag = 5;
inline bool Study_Experiment::_internal_has_forcing_flag() const {}
inline bool Study_Experiment::has_forcing_flag() const {}
inline void Study_Experiment::clear_forcing_flag() {}
inline const std::string& Study_Experiment::forcing_flag() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Experiment::set_forcing_flag(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Experiment::mutable_forcing_flag() {}
inline const std::string& Study_Experiment::_internal_forcing_flag() const {}
inline void Study_Experiment::_internal_set_forcing_flag(const std::string& value) {}
inline std::string* Study_Experiment::_internal_mutable_forcing_flag() {}
inline std::string* Study_Experiment::release_forcing_flag() {}
inline void Study_Experiment::set_allocated_forcing_flag(std::string* forcing_flag) {}

// repeated .variations.Study.Experiment.Param param = 6;
inline int Study_Experiment::_internal_param_size() const {}
inline int Study_Experiment::param_size() const {}
inline void Study_Experiment::clear_param() {}
inline ::variations::Study_Experiment_Param* Study_Experiment::mutable_param(int index) {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::variations::Study_Experiment_Param >*
Study_Experiment::mutable_param() {}
inline const ::variations::Study_Experiment_Param& Study_Experiment::_internal_param(int index) const {}
inline const ::variations::Study_Experiment_Param& Study_Experiment::param(int index) const {}
inline ::variations::Study_Experiment_Param* Study_Experiment::_internal_add_param() {}
inline ::variations::Study_Experiment_Param* Study_Experiment::add_param() {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::variations::Study_Experiment_Param >&
Study_Experiment::param() const {}

// optional .variations.Study.Experiment.Type type = 7 [default = NORMAL];
inline bool Study_Experiment::_internal_has_type() const {}
inline bool Study_Experiment::has_type() const {}
inline void Study_Experiment::clear_type() {}
inline ::variations::Study_Experiment_Type Study_Experiment::_internal_type() const {}
inline ::variations::Study_Experiment_Type Study_Experiment::type() const {}
inline void Study_Experiment::_internal_set_type(::variations::Study_Experiment_Type value) {}
inline void Study_Experiment::set_type(::variations::Study_Experiment_Type value) {}

// repeated .variations.Study.Experiment.OverrideUIString override_ui_string = 9;
inline int Study_Experiment::_internal_override_ui_string_size() const {}
inline int Study_Experiment::override_ui_string_size() const {}
inline void Study_Experiment::clear_override_ui_string() {}
inline ::variations::Study_Experiment_OverrideUIString* Study_Experiment::mutable_override_ui_string(int index) {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::variations::Study_Experiment_OverrideUIString >*
Study_Experiment::mutable_override_ui_string() {}
inline const ::variations::Study_Experiment_OverrideUIString& Study_Experiment::_internal_override_ui_string(int index) const {}
inline const ::variations::Study_Experiment_OverrideUIString& Study_Experiment::override_ui_string(int index) const {}
inline ::variations::Study_Experiment_OverrideUIString* Study_Experiment::_internal_add_override_ui_string() {}
inline ::variations::Study_Experiment_OverrideUIString* Study_Experiment::add_override_ui_string() {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::variations::Study_Experiment_OverrideUIString >&
Study_Experiment::override_ui_string() const {}

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

// Study_Filter

// optional int64 start_date = 1;
inline bool Study_Filter::_internal_has_start_date() const {}
inline bool Study_Filter::has_start_date() const {}
inline void Study_Filter::clear_start_date() {}
inline int64_t Study_Filter::_internal_start_date() const {}
inline int64_t Study_Filter::start_date() const {}
inline void Study_Filter::_internal_set_start_date(int64_t value) {}
inline void Study_Filter::set_start_date(int64_t value) {}

// optional int64 end_date = 13;
inline bool Study_Filter::_internal_has_end_date() const {}
inline bool Study_Filter::has_end_date() const {}
inline void Study_Filter::clear_end_date() {}
inline int64_t Study_Filter::_internal_end_date() const {}
inline int64_t Study_Filter::end_date() const {}
inline void Study_Filter::_internal_set_end_date(int64_t value) {}
inline void Study_Filter::set_end_date(int64_t value) {}

// optional string min_version = 2;
inline bool Study_Filter::_internal_has_min_version() const {}
inline bool Study_Filter::has_min_version() const {}
inline void Study_Filter::clear_min_version() {}
inline const std::string& Study_Filter::min_version() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Filter::set_min_version(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Filter::mutable_min_version() {}
inline const std::string& Study_Filter::_internal_min_version() const {}
inline void Study_Filter::_internal_set_min_version(const std::string& value) {}
inline std::string* Study_Filter::_internal_mutable_min_version() {}
inline std::string* Study_Filter::release_min_version() {}
inline void Study_Filter::set_allocated_min_version(std::string* min_version) {}

// optional string max_version = 3;
inline bool Study_Filter::_internal_has_max_version() const {}
inline bool Study_Filter::has_max_version() const {}
inline void Study_Filter::clear_max_version() {}
inline const std::string& Study_Filter::max_version() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Filter::set_max_version(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Filter::mutable_max_version() {}
inline const std::string& Study_Filter::_internal_max_version() const {}
inline void Study_Filter::_internal_set_max_version(const std::string& value) {}
inline std::string* Study_Filter::_internal_mutable_max_version() {}
inline std::string* Study_Filter::release_max_version() {}
inline void Study_Filter::set_allocated_max_version(std::string* max_version) {}

// optional string min_os_version = 16;
inline bool Study_Filter::_internal_has_min_os_version() const {}
inline bool Study_Filter::has_min_os_version() const {}
inline void Study_Filter::clear_min_os_version() {}
inline const std::string& Study_Filter::min_os_version() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Filter::set_min_os_version(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Filter::mutable_min_os_version() {}
inline const std::string& Study_Filter::_internal_min_os_version() const {}
inline void Study_Filter::_internal_set_min_os_version(const std::string& value) {}
inline std::string* Study_Filter::_internal_mutable_min_os_version() {}
inline std::string* Study_Filter::release_min_os_version() {}
inline void Study_Filter::set_allocated_min_os_version(std::string* min_os_version) {}

// optional string max_os_version = 17;
inline bool Study_Filter::_internal_has_max_os_version() const {}
inline bool Study_Filter::has_max_os_version() const {}
inline void Study_Filter::clear_max_os_version() {}
inline const std::string& Study_Filter::max_os_version() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study_Filter::set_max_os_version(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study_Filter::mutable_max_os_version() {}
inline const std::string& Study_Filter::_internal_max_os_version() const {}
inline void Study_Filter::_internal_set_max_os_version(const std::string& value) {}
inline std::string* Study_Filter::_internal_mutable_max_os_version() {}
inline std::string* Study_Filter::release_max_os_version() {}
inline void Study_Filter::set_allocated_max_os_version(std::string* max_os_version) {}

// repeated .variations.Study.Channel channel = 4;
inline int Study_Filter::_internal_channel_size() const {}
inline int Study_Filter::channel_size() const {}
inline void Study_Filter::clear_channel() {}
inline ::variations::Study_Channel Study_Filter::_internal_channel(int index) const {}
inline ::variations::Study_Channel Study_Filter::channel(int index) const {}
inline void Study_Filter::set_channel(int index, ::variations::Study_Channel value) {}
inline void Study_Filter::_internal_add_channel(::variations::Study_Channel value) {}
inline void Study_Filter::add_channel(::variations::Study_Channel value) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
Study_Filter::channel() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::_internal_mutable_channel() {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::mutable_channel() {}

// repeated .variations.Study.Platform platform = 5;
inline int Study_Filter::_internal_platform_size() const {}
inline int Study_Filter::platform_size() const {}
inline void Study_Filter::clear_platform() {}
inline ::variations::Study_Platform Study_Filter::_internal_platform(int index) const {}
inline ::variations::Study_Platform Study_Filter::platform(int index) const {}
inline void Study_Filter::set_platform(int index, ::variations::Study_Platform value) {}
inline void Study_Filter::_internal_add_platform(::variations::Study_Platform value) {}
inline void Study_Filter::add_platform(::variations::Study_Platform value) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
Study_Filter::platform() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::_internal_mutable_platform() {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::mutable_platform() {}

// repeated string locale = 6;
inline int Study_Filter::_internal_locale_size() const {}
inline int Study_Filter::locale_size() const {}
inline void Study_Filter::clear_locale() {}
inline std::string* Study_Filter::add_locale() {}
inline const std::string& Study_Filter::_internal_locale(int index) const {}
inline const std::string& Study_Filter::locale(int index) const {}
inline std::string* Study_Filter::mutable_locale(int index) {}
inline void Study_Filter::set_locale(int index, const std::string& value) {}
inline void Study_Filter::set_locale(int index, std::string&& value) {}
inline void Study_Filter::set_locale(int index, const char* value) {}
inline void Study_Filter::set_locale(int index, const char* value, size_t size) {}
inline std::string* Study_Filter::_internal_add_locale() {}
inline void Study_Filter::add_locale(const std::string& value) {}
inline void Study_Filter::add_locale(std::string&& value) {}
inline void Study_Filter::add_locale(const char* value) {}
inline void Study_Filter::add_locale(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Study_Filter::locale() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Study_Filter::mutable_locale() {}

// repeated string exclude_locale = 12;
inline int Study_Filter::_internal_exclude_locale_size() const {}
inline int Study_Filter::exclude_locale_size() const {}
inline void Study_Filter::clear_exclude_locale() {}
inline std::string* Study_Filter::add_exclude_locale() {}
inline const std::string& Study_Filter::_internal_exclude_locale(int index) const {}
inline const std::string& Study_Filter::exclude_locale(int index) const {}
inline std::string* Study_Filter::mutable_exclude_locale(int index) {}
inline void Study_Filter::set_exclude_locale(int index, const std::string& value) {}
inline void Study_Filter::set_exclude_locale(int index, std::string&& value) {}
inline void Study_Filter::set_exclude_locale(int index, const char* value) {}
inline void Study_Filter::set_exclude_locale(int index, const char* value, size_t size) {}
inline std::string* Study_Filter::_internal_add_exclude_locale() {}
inline void Study_Filter::add_exclude_locale(const std::string& value) {}
inline void Study_Filter::add_exclude_locale(std::string&& value) {}
inline void Study_Filter::add_exclude_locale(const char* value) {}
inline void Study_Filter::add_exclude_locale(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Study_Filter::exclude_locale() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Study_Filter::mutable_exclude_locale() {}

// repeated .variations.Study.FormFactor form_factor = 7;
inline int Study_Filter::_internal_form_factor_size() const {}
inline int Study_Filter::form_factor_size() const {}
inline void Study_Filter::clear_form_factor() {}
inline ::variations::Study_FormFactor Study_Filter::_internal_form_factor(int index) const {}
inline ::variations::Study_FormFactor Study_Filter::form_factor(int index) const {}
inline void Study_Filter::set_form_factor(int index, ::variations::Study_FormFactor value) {}
inline void Study_Filter::_internal_add_form_factor(::variations::Study_FormFactor value) {}
inline void Study_Filter::add_form_factor(::variations::Study_FormFactor value) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
Study_Filter::form_factor() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::_internal_mutable_form_factor() {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::mutable_form_factor() {}

// repeated .variations.Study.FormFactor exclude_form_factor = 14;
inline int Study_Filter::_internal_exclude_form_factor_size() const {}
inline int Study_Filter::exclude_form_factor_size() const {}
inline void Study_Filter::clear_exclude_form_factor() {}
inline ::variations::Study_FormFactor Study_Filter::_internal_exclude_form_factor(int index) const {}
inline ::variations::Study_FormFactor Study_Filter::exclude_form_factor(int index) const {}
inline void Study_Filter::set_exclude_form_factor(int index, ::variations::Study_FormFactor value) {}
inline void Study_Filter::_internal_add_exclude_form_factor(::variations::Study_FormFactor value) {}
inline void Study_Filter::add_exclude_form_factor(::variations::Study_FormFactor value) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
Study_Filter::exclude_form_factor() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::_internal_mutable_exclude_form_factor() {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::mutable_exclude_form_factor() {}

// repeated string hardware_class = 8;
inline int Study_Filter::_internal_hardware_class_size() const {}
inline int Study_Filter::hardware_class_size() const {}
inline void Study_Filter::clear_hardware_class() {}
inline std::string* Study_Filter::add_hardware_class() {}
inline const std::string& Study_Filter::_internal_hardware_class(int index) const {}
inline const std::string& Study_Filter::hardware_class(int index) const {}
inline std::string* Study_Filter::mutable_hardware_class(int index) {}
inline void Study_Filter::set_hardware_class(int index, const std::string& value) {}
inline void Study_Filter::set_hardware_class(int index, std::string&& value) {}
inline void Study_Filter::set_hardware_class(int index, const char* value) {}
inline void Study_Filter::set_hardware_class(int index, const char* value, size_t size) {}
inline std::string* Study_Filter::_internal_add_hardware_class() {}
inline void Study_Filter::add_hardware_class(const std::string& value) {}
inline void Study_Filter::add_hardware_class(std::string&& value) {}
inline void Study_Filter::add_hardware_class(const char* value) {}
inline void Study_Filter::add_hardware_class(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Study_Filter::hardware_class() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Study_Filter::mutable_hardware_class() {}

// repeated string exclude_hardware_class = 9;
inline int Study_Filter::_internal_exclude_hardware_class_size() const {}
inline int Study_Filter::exclude_hardware_class_size() const {}
inline void Study_Filter::clear_exclude_hardware_class() {}
inline std::string* Study_Filter::add_exclude_hardware_class() {}
inline const std::string& Study_Filter::_internal_exclude_hardware_class(int index) const {}
inline const std::string& Study_Filter::exclude_hardware_class(int index) const {}
inline std::string* Study_Filter::mutable_exclude_hardware_class(int index) {}
inline void Study_Filter::set_exclude_hardware_class(int index, const std::string& value) {}
inline void Study_Filter::set_exclude_hardware_class(int index, std::string&& value) {}
inline void Study_Filter::set_exclude_hardware_class(int index, const char* value) {}
inline void Study_Filter::set_exclude_hardware_class(int index, const char* value, size_t size) {}
inline std::string* Study_Filter::_internal_add_exclude_hardware_class() {}
inline void Study_Filter::add_exclude_hardware_class(const std::string& value) {}
inline void Study_Filter::add_exclude_hardware_class(std::string&& value) {}
inline void Study_Filter::add_exclude_hardware_class(const char* value) {}
inline void Study_Filter::add_exclude_hardware_class(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Study_Filter::exclude_hardware_class() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Study_Filter::mutable_exclude_hardware_class() {}

// repeated string country = 10;
inline int Study_Filter::_internal_country_size() const {}
inline int Study_Filter::country_size() const {}
inline void Study_Filter::clear_country() {}
inline std::string* Study_Filter::add_country() {}
inline const std::string& Study_Filter::_internal_country(int index) const {}
inline const std::string& Study_Filter::country(int index) const {}
inline std::string* Study_Filter::mutable_country(int index) {}
inline void Study_Filter::set_country(int index, const std::string& value) {}
inline void Study_Filter::set_country(int index, std::string&& value) {}
inline void Study_Filter::set_country(int index, const char* value) {}
inline void Study_Filter::set_country(int index, const char* value, size_t size) {}
inline std::string* Study_Filter::_internal_add_country() {}
inline void Study_Filter::add_country(const std::string& value) {}
inline void Study_Filter::add_country(std::string&& value) {}
inline void Study_Filter::add_country(const char* value) {}
inline void Study_Filter::add_country(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Study_Filter::country() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Study_Filter::mutable_country() {}

// repeated string exclude_country = 11;
inline int Study_Filter::_internal_exclude_country_size() const {}
inline int Study_Filter::exclude_country_size() const {}
inline void Study_Filter::clear_exclude_country() {}
inline std::string* Study_Filter::add_exclude_country() {}
inline const std::string& Study_Filter::_internal_exclude_country(int index) const {}
inline const std::string& Study_Filter::exclude_country(int index) const {}
inline std::string* Study_Filter::mutable_exclude_country(int index) {}
inline void Study_Filter::set_exclude_country(int index, const std::string& value) {}
inline void Study_Filter::set_exclude_country(int index, std::string&& value) {}
inline void Study_Filter::set_exclude_country(int index, const char* value) {}
inline void Study_Filter::set_exclude_country(int index, const char* value, size_t size) {}
inline std::string* Study_Filter::_internal_add_exclude_country() {}
inline void Study_Filter::add_exclude_country(const std::string& value) {}
inline void Study_Filter::add_exclude_country(std::string&& value) {}
inline void Study_Filter::add_exclude_country(const char* value) {}
inline void Study_Filter::add_exclude_country(const char* value, size_t size) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Study_Filter::exclude_country() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Study_Filter::mutable_exclude_country() {}

// optional bool is_low_end_device = 15;
inline bool Study_Filter::_internal_has_is_low_end_device() const {}
inline bool Study_Filter::has_is_low_end_device() const {}
inline void Study_Filter::clear_is_low_end_device() {}
inline bool Study_Filter::_internal_is_low_end_device() const {}
inline bool Study_Filter::is_low_end_device() const {}
inline void Study_Filter::_internal_set_is_low_end_device(bool value) {}
inline void Study_Filter::set_is_low_end_device(bool value) {}

// optional bool is_enterprise = 18;
inline bool Study_Filter::_internal_has_is_enterprise() const {}
inline bool Study_Filter::has_is_enterprise() const {}
inline void Study_Filter::clear_is_enterprise() {}
inline bool Study_Filter::_internal_is_enterprise() const {}
inline bool Study_Filter::is_enterprise() const {}
inline void Study_Filter::_internal_set_is_enterprise(bool value) {}
inline void Study_Filter::set_is_enterprise(bool value) {}

// optional .variations.Study.PolicyRestriction policy_restriction = 19 [default = NONE];
inline bool Study_Filter::_internal_has_policy_restriction() const {}
inline bool Study_Filter::has_policy_restriction() const {}
inline void Study_Filter::clear_policy_restriction() {}
inline ::variations::Study_PolicyRestriction Study_Filter::_internal_policy_restriction() const {}
inline ::variations::Study_PolicyRestriction Study_Filter::policy_restriction() const {}
inline void Study_Filter::_internal_set_policy_restriction(::variations::Study_PolicyRestriction value) {}
inline void Study_Filter::set_policy_restriction(::variations::Study_PolicyRestriction value) {}

// repeated .variations.Study.CpuArchitecture cpu_architecture = 20;
inline int Study_Filter::_internal_cpu_architecture_size() const {}
inline int Study_Filter::cpu_architecture_size() const {}
inline void Study_Filter::clear_cpu_architecture() {}
inline ::variations::Study_CpuArchitecture Study_Filter::_internal_cpu_architecture(int index) const {}
inline ::variations::Study_CpuArchitecture Study_Filter::cpu_architecture(int index) const {}
inline void Study_Filter::set_cpu_architecture(int index, ::variations::Study_CpuArchitecture value) {}
inline void Study_Filter::_internal_add_cpu_architecture(::variations::Study_CpuArchitecture value) {}
inline void Study_Filter::add_cpu_architecture(::variations::Study_CpuArchitecture value) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
Study_Filter::cpu_architecture() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::_internal_mutable_cpu_architecture() {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::mutable_cpu_architecture() {}

// repeated .variations.Study.CpuArchitecture exclude_cpu_architecture = 21;
inline int Study_Filter::_internal_exclude_cpu_architecture_size() const {}
inline int Study_Filter::exclude_cpu_architecture_size() const {}
inline void Study_Filter::clear_exclude_cpu_architecture() {}
inline ::variations::Study_CpuArchitecture Study_Filter::_internal_exclude_cpu_architecture(int index) const {}
inline ::variations::Study_CpuArchitecture Study_Filter::exclude_cpu_architecture(int index) const {}
inline void Study_Filter::set_exclude_cpu_architecture(int index, ::variations::Study_CpuArchitecture value) {}
inline void Study_Filter::_internal_add_exclude_cpu_architecture(::variations::Study_CpuArchitecture value) {}
inline void Study_Filter::add_exclude_cpu_architecture(::variations::Study_CpuArchitecture value) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
Study_Filter::exclude_cpu_architecture() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::_internal_mutable_exclude_cpu_architecture() {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
Study_Filter::mutable_exclude_cpu_architecture() {}

// repeated int64 google_group = 22 [packed = true];
inline int Study_Filter::_internal_google_group_size() const {}
inline int Study_Filter::google_group_size() const {}
inline void Study_Filter::clear_google_group() {}
inline int64_t Study_Filter::_internal_google_group(int index) const {}
inline int64_t Study_Filter::google_group(int index) const {}
inline void Study_Filter::set_google_group(int index, int64_t value) {}
inline void Study_Filter::_internal_add_google_group(int64_t value) {}
inline void Study_Filter::add_google_group(int64_t value) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
Study_Filter::_internal_google_group() const {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
Study_Filter::google_group() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
Study_Filter::_internal_mutable_google_group() {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
Study_Filter::mutable_google_group() {}

// repeated int64 exclude_google_group = 23 [packed = true];
inline int Study_Filter::_internal_exclude_google_group_size() const {}
inline int Study_Filter::exclude_google_group_size() const {}
inline void Study_Filter::clear_exclude_google_group() {}
inline int64_t Study_Filter::_internal_exclude_google_group(int index) const {}
inline int64_t Study_Filter::exclude_google_group(int index) const {}
inline void Study_Filter::set_exclude_google_group(int index, int64_t value) {}
inline void Study_Filter::_internal_add_exclude_google_group(int64_t value) {}
inline void Study_Filter::add_exclude_google_group(int64_t value) {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
Study_Filter::_internal_exclude_google_group() const {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >&
Study_Filter::exclude_google_group() const {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
Study_Filter::_internal_mutable_exclude_google_group() {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int64_t >*
Study_Filter::mutable_exclude_google_group() {}

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

// Study

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

// optional int64 expiry_date = 3;
inline bool Study::_internal_has_expiry_date() const {}
inline bool Study::has_expiry_date() const {}
inline void Study::clear_expiry_date() {}
inline int64_t Study::_internal_expiry_date() const {}
inline int64_t Study::expiry_date() const {}
inline void Study::_internal_set_expiry_date(int64_t value) {}
inline void Study::set_expiry_date(int64_t value) {}

// optional .variations.Study.Consistency consistency = 7 [default = SESSION];
inline bool Study::_internal_has_consistency() const {}
inline bool Study::has_consistency() const {}
inline void Study::clear_consistency() {}
inline ::variations::Study_Consistency Study::_internal_consistency() const {}
inline ::variations::Study_Consistency Study::consistency() const {}
inline void Study::_internal_set_consistency(::variations::Study_Consistency value) {}
inline void Study::set_consistency(::variations::Study_Consistency value) {}

// optional .variations.LayerMemberReference layer = 16;
inline bool Study::_internal_has_layer() const {}
inline bool Study::has_layer() const {}
inline const ::variations::LayerMemberReference& Study::_internal_layer() const {}
inline const ::variations::LayerMemberReference& Study::layer() const {}
inline void Study::unsafe_arena_set_allocated_layer(
    ::variations::LayerMemberReference* layer) {}
inline ::variations::LayerMemberReference* Study::release_layer() {}
inline ::variations::LayerMemberReference* Study::unsafe_arena_release_layer() {}
inline ::variations::LayerMemberReference* Study::_internal_mutable_layer() {}
inline ::variations::LayerMemberReference* Study::mutable_layer() {}
inline void Study::set_allocated_layer(::variations::LayerMemberReference* layer) {}

// optional string default_experiment_name = 8;
inline bool Study::_internal_has_default_experiment_name() const {}
inline bool Study::has_default_experiment_name() const {}
inline void Study::clear_default_experiment_name() {}
inline const std::string& Study::default_experiment_name() const {}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Study::set_default_experiment_name(ArgT0&& arg0, ArgT... args) {}
inline std::string* Study::mutable_default_experiment_name() {}
inline const std::string& Study::_internal_default_experiment_name() const {}
inline void Study::_internal_set_default_experiment_name(const std::string& value) {}
inline std::string* Study::_internal_mutable_default_experiment_name() {}
inline std::string* Study::release_default_experiment_name() {}
inline void Study::set_allocated_default_experiment_name(std::string* default_experiment_name) {}

// repeated .variations.Study.Experiment experiment = 9;
inline int Study::_internal_experiment_size() const {}
inline int Study::experiment_size() const {}
inline void Study::clear_experiment() {}
inline ::variations::Study_Experiment* Study::mutable_experiment(int index) {}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::variations::Study_Experiment >*
Study::mutable_experiment() {}
inline const ::variations::Study_Experiment& Study::_internal_experiment(int index) const {}
inline const ::variations::Study_Experiment& Study::experiment(int index) const {}
inline ::variations::Study_Experiment* Study::_internal_add_experiment() {}
inline ::variations::Study_Experiment* Study::add_experiment() {}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::variations::Study_Experiment >&
Study::experiment() const {}

// optional .variations.Study.Filter filter = 10;
inline bool Study::_internal_has_filter() const {}
inline bool Study::has_filter() const {}
inline void Study::clear_filter() {}
inline const ::variations::Study_Filter& Study::_internal_filter() const {}
inline const ::variations::Study_Filter& Study::filter() const {}
inline void Study::unsafe_arena_set_allocated_filter(
    ::variations::Study_Filter* filter) {}
inline ::variations::Study_Filter* Study::release_filter() {}
inline ::variations::Study_Filter* Study::unsafe_arena_release_filter() {}
inline ::variations::Study_Filter* Study::_internal_mutable_filter() {}
inline ::variations::Study_Filter* Study::mutable_filter() {}
inline void Study::set_allocated_filter(::variations::Study_Filter* filter) {}

// optional uint32 randomization_seed = 11;
inline bool Study::_internal_has_randomization_seed() const {}
inline bool Study::has_randomization_seed() const {}
inline void Study::clear_randomization_seed() {}
inline uint32_t Study::_internal_randomization_seed() const {}
inline uint32_t Study::randomization_seed() const {}
inline void Study::_internal_set_randomization_seed(uint32_t value) {}
inline void Study::set_randomization_seed(uint32_t value) {}

// optional .variations.Study.ActivationType activation_type = 12;
inline bool Study::_internal_has_activation_type() const {}
inline bool Study::has_activation_type() const {}
inline void Study::clear_activation_type() {}
inline ::variations::Study_ActivationType Study::_internal_activation_type() const {}
inline ::variations::Study_ActivationType Study::activation_type() const {}
inline void Study::_internal_set_activation_type(::variations::Study_ActivationType value) {}
inline void Study::set_activation_type(::variations::Study_ActivationType value) {}

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace variations

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::variations::Study_Experiment_Type> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_Consistency> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_GoogleWebVisibility> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_Channel> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_Platform> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_FormFactor> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_CpuArchitecture> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_OptionalBool> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_PolicyRestriction> : ::std::true_type {};
template <> struct is_proto_enum< ::variations::Study_ActivationType> : ::std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

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