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

#ifndef PROTOBUF_club_5fmembership_5ftypes_2eproto__INCLUDED
#define PROTOBUF_club_5fmembership_5ftypes_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 2006000
#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 2006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/unknown_field_set.h>
#include "club_core.pb.h"
#include "club_member.pb.h"
#include "club_invitation.pb.h"
#include "event_view_types.pb.h"
#include "rpc_types.pb.h"
#include "Define.h" // for TC_PROTO_API
// @@protoc_insertion_point(includes)

namespace bgs {
namespace protocol {
namespace club {
namespace v1 {

// Internal implementation detail -- do not call these.
void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

class ClubMembershipFilter;
class ClubMembershipSubscribeOptions;
class ClubMembershipGetStateOptions;
class ClubMembershipDescription;
class ClubMembershipState;
class ClubPosition;
class ClubSharedSettings;
class ClubSharedSettingsOptions;
class ClubSharedSettingsAssignment;

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

class TC_PROTO_API ClubMembershipFilter : public ::google::protobuf::Message {
 public:
  ClubMembershipFilter();
  virtual ~ClubMembershipFilter();

  ClubMembershipFilter(const ClubMembershipFilter& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubMembershipFilter* other);

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

  ClubMembershipFilter* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubMembershipFilter& from);
  void MergeFrom(const ClubMembershipFilter& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId member_id = 1;
  inline bool has_member_id() const;
  inline void clear_member_id();
  static const int kMemberIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& member_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_member_id();
  inline ::bgs::protocol::club::v1::MemberId* release_member_id();
  inline void set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id);

  // optional .bgs.protocol.club.v1.UniqueClubType type = 2;
  inline bool has_type() const;
  inline void clear_type();
  static const int kTypeFieldNumber = 2;
  inline const ::bgs::protocol::club::v1::UniqueClubType& type() const;
  inline ::bgs::protocol::club::v1::UniqueClubType* mutable_type();
  inline ::bgs::protocol::club::v1::UniqueClubType* release_type();
  inline void set_allocated_type(::bgs::protocol::club::v1::UniqueClubType* type);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubMembershipFilter)
 private:
  inline void set_has_member_id();
  inline void clear_has_member_id();
  inline void set_has_type();
  inline void clear_has_type();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* member_id_;
  ::bgs::protocol::club::v1::UniqueClubType* type_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubMembershipFilter* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API ClubMembershipSubscribeOptions : public ::google::protobuf::Message {
 public:
  ClubMembershipSubscribeOptions();
  virtual ~ClubMembershipSubscribeOptions();

  ClubMembershipSubscribeOptions(const ClubMembershipSubscribeOptions& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubMembershipSubscribeOptions* other);

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

  ClubMembershipSubscribeOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubMembershipSubscribeOptions& from);
  void MergeFrom(const ClubMembershipSubscribeOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // repeated .bgs.protocol.club.v1.ClubMembershipFilter filter = 1;
  inline int filter_size() const;
  inline void clear_filter();
  static const int kFilterFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::ClubMembershipFilter& filter(int index) const;
  inline ::bgs::protocol::club::v1::ClubMembershipFilter* mutable_filter(int index);
  inline ::bgs::protocol::club::v1::ClubMembershipFilter* add_filter();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter >&
      filter() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter >*
      mutable_filter();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubMembershipSubscribeOptions)
 private:

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter > filter_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubMembershipSubscribeOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API ClubMembershipGetStateOptions : public ::google::protobuf::Message {
 public:
  ClubMembershipGetStateOptions();
  virtual ~ClubMembershipGetStateOptions();

  ClubMembershipGetStateOptions(const ClubMembershipGetStateOptions& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubMembershipGetStateOptions* other);

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

  ClubMembershipGetStateOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubMembershipGetStateOptions& from);
  void MergeFrom(const ClubMembershipGetStateOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // repeated .bgs.protocol.club.v1.ClubMembershipFilter filter = 1;
  inline int filter_size() const;
  inline void clear_filter();
  static const int kFilterFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::ClubMembershipFilter& filter(int index) const;
  inline ::bgs::protocol::club::v1::ClubMembershipFilter* mutable_filter(int index);
  inline ::bgs::protocol::club::v1::ClubMembershipFilter* add_filter();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter >&
      filter() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter >*
      mutable_filter();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubMembershipGetStateOptions)
 private:

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter > filter_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubMembershipGetStateOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API ClubMembershipDescription : public ::google::protobuf::Message {
 public:
  ClubMembershipDescription();
  virtual ~ClubMembershipDescription();

  ClubMembershipDescription(const ClubMembershipDescription& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubMembershipDescription* other);

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

  ClubMembershipDescription* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubMembershipDescription& from);
  void MergeFrom(const ClubMembershipDescription& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.MemberId member_id = 1;
  inline bool has_member_id() const;
  inline void clear_member_id();
  static const int kMemberIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& member_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_member_id();
  inline ::bgs::protocol::club::v1::MemberId* release_member_id();
  inline void set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id);

  // optional .bgs.protocol.club.v1.ClubDescription club = 2;
  inline bool has_club() const;
  inline void clear_club();
  static const int kClubFieldNumber = 2;
  inline const ::bgs::protocol::club::v1::ClubDescription& club() const;
  inline ::bgs::protocol::club::v1::ClubDescription* mutable_club();
  inline ::bgs::protocol::club::v1::ClubDescription* release_club();
  inline void set_allocated_club(::bgs::protocol::club::v1::ClubDescription* club);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubMembershipDescription)
 private:
  inline void set_has_member_id();
  inline void clear_has_member_id();
  inline void set_has_club();
  inline void clear_has_club();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* member_id_;
  ::bgs::protocol::club::v1::ClubDescription* club_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubMembershipDescription* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API ClubMembershipState : public ::google::protobuf::Message {
 public:
  ClubMembershipState();
  virtual ~ClubMembershipState();

  ClubMembershipState(const ClubMembershipState& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubMembershipState* other);

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

  ClubMembershipState* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubMembershipState& from);
  void MergeFrom(const ClubMembershipState& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // repeated .bgs.protocol.club.v1.ClubMembershipDescription description = 1;
  inline int description_size() const;
  inline void clear_description();
  static const int kDescriptionFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::ClubMembershipDescription& description(int index) const;
  inline ::bgs::protocol::club::v1::ClubMembershipDescription* mutable_description(int index);
  inline ::bgs::protocol::club::v1::ClubMembershipDescription* add_description();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipDescription >&
      description() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipDescription >*
      mutable_description();

  // repeated .bgs.protocol.club.v1.ClubInvitation invitation = 2;
  inline int invitation_size() const;
  inline void clear_invitation();
  static const int kInvitationFieldNumber = 2;
  inline const ::bgs::protocol::club::v1::ClubInvitation& invitation(int index) const;
  inline ::bgs::protocol::club::v1::ClubInvitation* mutable_invitation(int index);
  inline ::bgs::protocol::club::v1::ClubInvitation* add_invitation();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubInvitation >&
      invitation() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubInvitation >*
      mutable_invitation();

  // optional .bgs.protocol.club.v1.ClubSharedSettings setting = 3;
  inline bool has_setting() const;
  inline void clear_setting();
  static const int kSettingFieldNumber = 3;
  inline const ::bgs::protocol::club::v1::ClubSharedSettings& setting() const;
  inline ::bgs::protocol::club::v1::ClubSharedSettings* mutable_setting();
  inline ::bgs::protocol::club::v1::ClubSharedSettings* release_setting();
  inline void set_allocated_setting(::bgs::protocol::club::v1::ClubSharedSettings* setting);

  // optional .bgs.protocol.ViewMarker mention_view = 4;
  inline bool has_mention_view() const;
  inline void clear_mention_view();
  static const int kMentionViewFieldNumber = 4;
  inline const ::bgs::protocol::ViewMarker& mention_view() const;
  inline ::bgs::protocol::ViewMarker* mutable_mention_view();
  inline ::bgs::protocol::ViewMarker* release_mention_view();
  inline void set_allocated_mention_view(::bgs::protocol::ViewMarker* mention_view);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubMembershipState)
 private:
  inline void set_has_setting();
  inline void clear_has_setting();
  inline void set_has_mention_view();
  inline void clear_has_mention_view();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipDescription > description_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubInvitation > invitation_;
  ::bgs::protocol::club::v1::ClubSharedSettings* setting_;
  ::bgs::protocol::ViewMarker* mention_view_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubMembershipState* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API ClubPosition : public ::google::protobuf::Message {
 public:
  ClubPosition();
  virtual ~ClubPosition();

  ClubPosition(const ClubPosition& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubPosition* other);

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

  ClubPosition* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubPosition& from);
  void MergeFrom(const ClubPosition& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // repeated uint64 club_id = 1 [packed = true];
  inline int club_id_size() const;
  inline void clear_club_id();
  static const int kClubIdFieldNumber = 1;
  inline ::google::protobuf::uint64 club_id(int index) const;
  inline void set_club_id(int index, ::google::protobuf::uint64 value);
  inline void add_club_id(::google::protobuf::uint64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
      club_id() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
      mutable_club_id();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubPosition)
 private:

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > club_id_;
  mutable int _club_id_cached_byte_size_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubPosition* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API ClubSharedSettings : public ::google::protobuf::Message {
 public:
  ClubSharedSettings();
  virtual ~ClubSharedSettings();

  ClubSharedSettings(const ClubSharedSettings& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubSharedSettings* other);

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

  ClubSharedSettings* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubSharedSettings& from);
  void MergeFrom(const ClubSharedSettings& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.ClubPosition club_position = 1;
  inline bool has_club_position() const;
  inline void clear_club_position();
  static const int kClubPositionFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::ClubPosition& club_position() const;
  inline ::bgs::protocol::club::v1::ClubPosition* mutable_club_position();
  inline ::bgs::protocol::club::v1::ClubPosition* release_club_position();
  inline void set_allocated_club_position(::bgs::protocol::club::v1::ClubPosition* club_position);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubSharedSettings)
 private:
  inline void set_has_club_position();
  inline void clear_has_club_position();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::ClubPosition* club_position_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubSharedSettings* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API ClubSharedSettingsOptions : public ::google::protobuf::Message {
 public:
  ClubSharedSettingsOptions();
  virtual ~ClubSharedSettingsOptions();

  ClubSharedSettingsOptions(const ClubSharedSettingsOptions& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubSharedSettingsOptions* other);

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

  ClubSharedSettingsOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubSharedSettingsOptions& from);
  void MergeFrom(const ClubSharedSettingsOptions& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.ClubPosition club_position = 1;
  inline bool has_club_position() const;
  inline void clear_club_position();
  static const int kClubPositionFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::ClubPosition& club_position() const;
  inline ::bgs::protocol::club::v1::ClubPosition* mutable_club_position();
  inline ::bgs::protocol::club::v1::ClubPosition* release_club_position();
  inline void set_allocated_club_position(::bgs::protocol::club::v1::ClubPosition* club_position);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubSharedSettingsOptions)
 private:
  inline void set_has_club_position();
  inline void clear_has_club_position();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::ClubPosition* club_position_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubSharedSettingsOptions* default_instance_;
};
// -------------------------------------------------------------------

class TC_PROTO_API ClubSharedSettingsAssignment : public ::google::protobuf::Message {
 public:
  ClubSharedSettingsAssignment();
  virtual ~ClubSharedSettingsAssignment();

  ClubSharedSettingsAssignment(const ClubSharedSettingsAssignment& from);

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

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

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

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

  void Swap(ClubSharedSettingsAssignment* other);

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

  ClubSharedSettingsAssignment* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubSharedSettingsAssignment& from);
  void MergeFrom(const ClubSharedSettingsAssignment& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.club.v1.ClubPosition club_position = 1;
  inline bool has_club_position() const;
  inline void clear_club_position();
  static const int kClubPositionFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::ClubPosition& club_position() const;
  inline ::bgs::protocol::club::v1::ClubPosition* mutable_club_position();
  inline ::bgs::protocol::club::v1::ClubPosition* release_club_position();
  inline void set_allocated_club_position(::bgs::protocol::club::v1::ClubPosition* club_position);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubSharedSettingsAssignment)
 private:
  inline void set_has_club_position();
  inline void clear_has_club_position();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::ClubPosition* club_position_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_AssignDesc_club_5fmembership_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_club_5fmembership_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static ClubSharedSettingsAssignment* default_instance_;
};
// ===================================================================


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


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

// ClubMembershipFilter

// optional .bgs.protocol.club.v1.MemberId member_id = 1;
inline bool ClubMembershipFilter::has_member_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubMembershipFilter::set_has_member_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubMembershipFilter::clear_has_member_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubMembershipFilter::clear_member_id() {
  if (member_id_ != NULL) member_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_member_id();
}
inline const ::bgs::protocol::club::v1::MemberId& ClubMembershipFilter::member_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipFilter.member_id)
  return member_id_ != NULL ? *member_id_ : *default_instance_->member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* ClubMembershipFilter::mutable_member_id() {
  set_has_member_id();
  if (member_id_ == NULL) member_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipFilter.member_id)
  return member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* ClubMembershipFilter::release_member_id() {
  clear_has_member_id();
  ::bgs::protocol::club::v1::MemberId* temp = member_id_;
  member_id_ = NULL;
  return temp;
}
inline void ClubMembershipFilter::set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id) {
  delete member_id_;
  member_id_ = member_id;
  if (member_id) {
    set_has_member_id();
  } else {
    clear_has_member_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubMembershipFilter.member_id)
}

// optional .bgs.protocol.club.v1.UniqueClubType type = 2;
inline bool ClubMembershipFilter::has_type() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ClubMembershipFilter::set_has_type() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ClubMembershipFilter::clear_has_type() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ClubMembershipFilter::clear_type() {
  if (type_ != NULL) type_->::bgs::protocol::club::v1::UniqueClubType::Clear();
  clear_has_type();
}
inline const ::bgs::protocol::club::v1::UniqueClubType& ClubMembershipFilter::type() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipFilter.type)
  return type_ != NULL ? *type_ : *default_instance_->type_;
}
inline ::bgs::protocol::club::v1::UniqueClubType* ClubMembershipFilter::mutable_type() {
  set_has_type();
  if (type_ == NULL) type_ = new ::bgs::protocol::club::v1::UniqueClubType;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipFilter.type)
  return type_;
}
inline ::bgs::protocol::club::v1::UniqueClubType* ClubMembershipFilter::release_type() {
  clear_has_type();
  ::bgs::protocol::club::v1::UniqueClubType* temp = type_;
  type_ = NULL;
  return temp;
}
inline void ClubMembershipFilter::set_allocated_type(::bgs::protocol::club::v1::UniqueClubType* type) {
  delete type_;
  type_ = type;
  if (type) {
    set_has_type();
  } else {
    clear_has_type();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubMembershipFilter.type)
}

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

// ClubMembershipSubscribeOptions

// repeated .bgs.protocol.club.v1.ClubMembershipFilter filter = 1;
inline int ClubMembershipSubscribeOptions::filter_size() const {
  return filter_.size();
}
inline void ClubMembershipSubscribeOptions::clear_filter() {
  filter_.Clear();
}
inline const ::bgs::protocol::club::v1::ClubMembershipFilter& ClubMembershipSubscribeOptions::filter(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipSubscribeOptions.filter)
  return filter_.Get(index);
}
inline ::bgs::protocol::club::v1::ClubMembershipFilter* ClubMembershipSubscribeOptions::mutable_filter(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipSubscribeOptions.filter)
  return filter_.Mutable(index);
}
inline ::bgs::protocol::club::v1::ClubMembershipFilter* ClubMembershipSubscribeOptions::add_filter() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.ClubMembershipSubscribeOptions.filter)
  return filter_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter >&
ClubMembershipSubscribeOptions::filter() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.ClubMembershipSubscribeOptions.filter)
  return filter_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter >*
ClubMembershipSubscribeOptions::mutable_filter() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.ClubMembershipSubscribeOptions.filter)
  return &filter_;
}

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

// ClubMembershipGetStateOptions

// repeated .bgs.protocol.club.v1.ClubMembershipFilter filter = 1;
inline int ClubMembershipGetStateOptions::filter_size() const {
  return filter_.size();
}
inline void ClubMembershipGetStateOptions::clear_filter() {
  filter_.Clear();
}
inline const ::bgs::protocol::club::v1::ClubMembershipFilter& ClubMembershipGetStateOptions::filter(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipGetStateOptions.filter)
  return filter_.Get(index);
}
inline ::bgs::protocol::club::v1::ClubMembershipFilter* ClubMembershipGetStateOptions::mutable_filter(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipGetStateOptions.filter)
  return filter_.Mutable(index);
}
inline ::bgs::protocol::club::v1::ClubMembershipFilter* ClubMembershipGetStateOptions::add_filter() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.ClubMembershipGetStateOptions.filter)
  return filter_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter >&
ClubMembershipGetStateOptions::filter() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.ClubMembershipGetStateOptions.filter)
  return filter_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipFilter >*
ClubMembershipGetStateOptions::mutable_filter() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.ClubMembershipGetStateOptions.filter)
  return &filter_;
}

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

// ClubMembershipDescription

// optional .bgs.protocol.club.v1.MemberId member_id = 1;
inline bool ClubMembershipDescription::has_member_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubMembershipDescription::set_has_member_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubMembershipDescription::clear_has_member_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubMembershipDescription::clear_member_id() {
  if (member_id_ != NULL) member_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_member_id();
}
inline const ::bgs::protocol::club::v1::MemberId& ClubMembershipDescription::member_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipDescription.member_id)
  return member_id_ != NULL ? *member_id_ : *default_instance_->member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* ClubMembershipDescription::mutable_member_id() {
  set_has_member_id();
  if (member_id_ == NULL) member_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipDescription.member_id)
  return member_id_;
}
inline ::bgs::protocol::club::v1::MemberId* ClubMembershipDescription::release_member_id() {
  clear_has_member_id();
  ::bgs::protocol::club::v1::MemberId* temp = member_id_;
  member_id_ = NULL;
  return temp;
}
inline void ClubMembershipDescription::set_allocated_member_id(::bgs::protocol::club::v1::MemberId* member_id) {
  delete member_id_;
  member_id_ = member_id;
  if (member_id) {
    set_has_member_id();
  } else {
    clear_has_member_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubMembershipDescription.member_id)
}

// optional .bgs.protocol.club.v1.ClubDescription club = 2;
inline bool ClubMembershipDescription::has_club() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ClubMembershipDescription::set_has_club() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ClubMembershipDescription::clear_has_club() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ClubMembershipDescription::clear_club() {
  if (club_ != NULL) club_->::bgs::protocol::club::v1::ClubDescription::Clear();
  clear_has_club();
}
inline const ::bgs::protocol::club::v1::ClubDescription& ClubMembershipDescription::club() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipDescription.club)
  return club_ != NULL ? *club_ : *default_instance_->club_;
}
inline ::bgs::protocol::club::v1::ClubDescription* ClubMembershipDescription::mutable_club() {
  set_has_club();
  if (club_ == NULL) club_ = new ::bgs::protocol::club::v1::ClubDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipDescription.club)
  return club_;
}
inline ::bgs::protocol::club::v1::ClubDescription* ClubMembershipDescription::release_club() {
  clear_has_club();
  ::bgs::protocol::club::v1::ClubDescription* temp = club_;
  club_ = NULL;
  return temp;
}
inline void ClubMembershipDescription::set_allocated_club(::bgs::protocol::club::v1::ClubDescription* club) {
  delete club_;
  club_ = club;
  if (club) {
    set_has_club();
  } else {
    clear_has_club();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubMembershipDescription.club)
}

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

// ClubMembershipState

// repeated .bgs.protocol.club.v1.ClubMembershipDescription description = 1;
inline int ClubMembershipState::description_size() const {
  return description_.size();
}
inline void ClubMembershipState::clear_description() {
  description_.Clear();
}
inline const ::bgs::protocol::club::v1::ClubMembershipDescription& ClubMembershipState::description(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipState.description)
  return description_.Get(index);
}
inline ::bgs::protocol::club::v1::ClubMembershipDescription* ClubMembershipState::mutable_description(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipState.description)
  return description_.Mutable(index);
}
inline ::bgs::protocol::club::v1::ClubMembershipDescription* ClubMembershipState::add_description() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.ClubMembershipState.description)
  return description_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipDescription >&
ClubMembershipState::description() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.ClubMembershipState.description)
  return description_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubMembershipDescription >*
ClubMembershipState::mutable_description() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.ClubMembershipState.description)
  return &description_;
}

// repeated .bgs.protocol.club.v1.ClubInvitation invitation = 2;
inline int ClubMembershipState::invitation_size() const {
  return invitation_.size();
}
inline void ClubMembershipState::clear_invitation() {
  invitation_.Clear();
}
inline const ::bgs::protocol::club::v1::ClubInvitation& ClubMembershipState::invitation(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipState.invitation)
  return invitation_.Get(index);
}
inline ::bgs::protocol::club::v1::ClubInvitation* ClubMembershipState::mutable_invitation(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipState.invitation)
  return invitation_.Mutable(index);
}
inline ::bgs::protocol::club::v1::ClubInvitation* ClubMembershipState::add_invitation() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.ClubMembershipState.invitation)
  return invitation_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubInvitation >&
ClubMembershipState::invitation() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.ClubMembershipState.invitation)
  return invitation_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::club::v1::ClubInvitation >*
ClubMembershipState::mutable_invitation() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.ClubMembershipState.invitation)
  return &invitation_;
}

// optional .bgs.protocol.club.v1.ClubSharedSettings setting = 3;
inline bool ClubMembershipState::has_setting() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ClubMembershipState::set_has_setting() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ClubMembershipState::clear_has_setting() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ClubMembershipState::clear_setting() {
  if (setting_ != NULL) setting_->::bgs::protocol::club::v1::ClubSharedSettings::Clear();
  clear_has_setting();
}
inline const ::bgs::protocol::club::v1::ClubSharedSettings& ClubMembershipState::setting() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipState.setting)
  return setting_ != NULL ? *setting_ : *default_instance_->setting_;
}
inline ::bgs::protocol::club::v1::ClubSharedSettings* ClubMembershipState::mutable_setting() {
  set_has_setting();
  if (setting_ == NULL) setting_ = new ::bgs::protocol::club::v1::ClubSharedSettings;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipState.setting)
  return setting_;
}
inline ::bgs::protocol::club::v1::ClubSharedSettings* ClubMembershipState::release_setting() {
  clear_has_setting();
  ::bgs::protocol::club::v1::ClubSharedSettings* temp = setting_;
  setting_ = NULL;
  return temp;
}
inline void ClubMembershipState::set_allocated_setting(::bgs::protocol::club::v1::ClubSharedSettings* setting) {
  delete setting_;
  setting_ = setting;
  if (setting) {
    set_has_setting();
  } else {
    clear_has_setting();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubMembershipState.setting)
}

// optional .bgs.protocol.ViewMarker mention_view = 4;
inline bool ClubMembershipState::has_mention_view() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void ClubMembershipState::set_has_mention_view() {
  _has_bits_[0] |= 0x00000008u;
}
inline void ClubMembershipState::clear_has_mention_view() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void ClubMembershipState::clear_mention_view() {
  if (mention_view_ != NULL) mention_view_->::bgs::protocol::ViewMarker::Clear();
  clear_has_mention_view();
}
inline const ::bgs::protocol::ViewMarker& ClubMembershipState::mention_view() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubMembershipState.mention_view)
  return mention_view_ != NULL ? *mention_view_ : *default_instance_->mention_view_;
}
inline ::bgs::protocol::ViewMarker* ClubMembershipState::mutable_mention_view() {
  set_has_mention_view();
  if (mention_view_ == NULL) mention_view_ = new ::bgs::protocol::ViewMarker;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubMembershipState.mention_view)
  return mention_view_;
}
inline ::bgs::protocol::ViewMarker* ClubMembershipState::release_mention_view() {
  clear_has_mention_view();
  ::bgs::protocol::ViewMarker* temp = mention_view_;
  mention_view_ = NULL;
  return temp;
}
inline void ClubMembershipState::set_allocated_mention_view(::bgs::protocol::ViewMarker* mention_view) {
  delete mention_view_;
  mention_view_ = mention_view;
  if (mention_view) {
    set_has_mention_view();
  } else {
    clear_has_mention_view();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubMembershipState.mention_view)
}

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

// ClubPosition

// repeated uint64 club_id = 1 [packed = true];
inline int ClubPosition::club_id_size() const {
  return club_id_.size();
}
inline void ClubPosition::clear_club_id() {
  club_id_.Clear();
}
inline ::google::protobuf::uint64 ClubPosition::club_id(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubPosition.club_id)
  return club_id_.Get(index);
}
inline void ClubPosition::set_club_id(int index, ::google::protobuf::uint64 value) {
  club_id_.Set(index, value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubPosition.club_id)
}
inline void ClubPosition::add_club_id(::google::protobuf::uint64 value) {
  club_id_.Add(value);
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.ClubPosition.club_id)
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
ClubPosition::club_id() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.ClubPosition.club_id)
  return club_id_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
ClubPosition::mutable_club_id() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.ClubPosition.club_id)
  return &club_id_;
}

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

// ClubSharedSettings

// optional .bgs.protocol.club.v1.ClubPosition club_position = 1;
inline bool ClubSharedSettings::has_club_position() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubSharedSettings::set_has_club_position() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubSharedSettings::clear_has_club_position() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubSharedSettings::clear_club_position() {
  if (club_position_ != NULL) club_position_->::bgs::protocol::club::v1::ClubPosition::Clear();
  clear_has_club_position();
}
inline const ::bgs::protocol::club::v1::ClubPosition& ClubSharedSettings::club_position() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSharedSettings.club_position)
  return club_position_ != NULL ? *club_position_ : *default_instance_->club_position_;
}
inline ::bgs::protocol::club::v1::ClubPosition* ClubSharedSettings::mutable_club_position() {
  set_has_club_position();
  if (club_position_ == NULL) club_position_ = new ::bgs::protocol::club::v1::ClubPosition;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubSharedSettings.club_position)
  return club_position_;
}
inline ::bgs::protocol::club::v1::ClubPosition* ClubSharedSettings::release_club_position() {
  clear_has_club_position();
  ::bgs::protocol::club::v1::ClubPosition* temp = club_position_;
  club_position_ = NULL;
  return temp;
}
inline void ClubSharedSettings::set_allocated_club_position(::bgs::protocol::club::v1::ClubPosition* club_position) {
  delete club_position_;
  club_position_ = club_position;
  if (club_position) {
    set_has_club_position();
  } else {
    clear_has_club_position();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubSharedSettings.club_position)
}

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

// ClubSharedSettingsOptions

// optional .bgs.protocol.club.v1.ClubPosition club_position = 1;
inline bool ClubSharedSettingsOptions::has_club_position() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubSharedSettingsOptions::set_has_club_position() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubSharedSettingsOptions::clear_has_club_position() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubSharedSettingsOptions::clear_club_position() {
  if (club_position_ != NULL) club_position_->::bgs::protocol::club::v1::ClubPosition::Clear();
  clear_has_club_position();
}
inline const ::bgs::protocol::club::v1::ClubPosition& ClubSharedSettingsOptions::club_position() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSharedSettingsOptions.club_position)
  return club_position_ != NULL ? *club_position_ : *default_instance_->club_position_;
}
inline ::bgs::protocol::club::v1::ClubPosition* ClubSharedSettingsOptions::mutable_club_position() {
  set_has_club_position();
  if (club_position_ == NULL) club_position_ = new ::bgs::protocol::club::v1::ClubPosition;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubSharedSettingsOptions.club_position)
  return club_position_;
}
inline ::bgs::protocol::club::v1::ClubPosition* ClubSharedSettingsOptions::release_club_position() {
  clear_has_club_position();
  ::bgs::protocol::club::v1::ClubPosition* temp = club_position_;
  club_position_ = NULL;
  return temp;
}
inline void ClubSharedSettingsOptions::set_allocated_club_position(::bgs::protocol::club::v1::ClubPosition* club_position) {
  delete club_position_;
  club_position_ = club_position;
  if (club_position) {
    set_has_club_position();
  } else {
    clear_has_club_position();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubSharedSettingsOptions.club_position)
}

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

// ClubSharedSettingsAssignment

// optional .bgs.protocol.club.v1.ClubPosition club_position = 1;
inline bool ClubSharedSettingsAssignment::has_club_position() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubSharedSettingsAssignment::set_has_club_position() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubSharedSettingsAssignment::clear_has_club_position() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubSharedSettingsAssignment::clear_club_position() {
  if (club_position_ != NULL) club_position_->::bgs::protocol::club::v1::ClubPosition::Clear();
  clear_has_club_position();
}
inline const ::bgs::protocol::club::v1::ClubPosition& ClubSharedSettingsAssignment::club_position() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSharedSettingsAssignment.club_position)
  return club_position_ != NULL ? *club_position_ : *default_instance_->club_position_;
}
inline ::bgs::protocol::club::v1::ClubPosition* ClubSharedSettingsAssignment::mutable_club_position() {
  set_has_club_position();
  if (club_position_ == NULL) club_position_ = new ::bgs::protocol::club::v1::ClubPosition;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubSharedSettingsAssignment.club_position)
  return club_position_;
}
inline ::bgs::protocol::club::v1::ClubPosition* ClubSharedSettingsAssignment::release_club_position() {
  clear_has_club_position();
  ::bgs::protocol::club::v1::ClubPosition* temp = club_position_;
  club_position_ = NULL;
  return temp;
}
inline void ClubSharedSettingsAssignment::set_allocated_club_position(::bgs::protocol::club::v1::ClubPosition* club_position) {
  delete club_position_;
  club_position_ = club_position;
  if (club_position) {
    set_has_club_position();
  } else {
    clear_has_club_position();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubSharedSettingsAssignment.club_position)
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace v1
}  // namespace club
}  // namespace protocol
}  // namespace bgs

#ifndef SWIG
namespace google {
namespace protobuf {


}  // namespace google
}  // namespace protobuf
#endif  // SWIG

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_club_5fmembership_5ftypes_2eproto__INCLUDED
