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

#ifndef PROTOBUF_club_5finvitation_2eproto__INCLUDED
#define PROTOBUF_club_5finvitation_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 "api/client/v2/attribute_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_5finvitation_2eproto();
void protobuf_AssignDesc_club_5finvitation_2eproto();
void protobuf_ShutdownFile_club_5finvitation_2eproto();

class ClubSlot;
class SendInvitationOptions;
class ClubInvitation;
class SendSuggestionOptions;
class ClubSuggestion;
class CreateTicketOptions;
class ClubTicket;

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

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

  ClubSlot(const ClubSlot& from);

  inline ClubSlot& operator=(const ClubSlot& 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 ClubSlot& default_instance();

  void Swap(ClubSlot* other);

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

  ClubSlot* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubSlot& from);
  void MergeFrom(const ClubSlot& 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 uint32 role = 1;
  inline bool has_role() const;
  inline void clear_role();
  static const int kRoleFieldNumber = 1;
  inline ::google::protobuf::uint32 role() const;
  inline void set_role(::google::protobuf::uint32 value);

  // optional uint64 default_stream_id = 2;
  inline bool has_default_stream_id() const;
  inline void clear_default_stream_id();
  static const int kDefaultStreamIdFieldNumber = 2;
  inline ::google::protobuf::uint64 default_stream_id() const;
  inline void set_default_stream_id(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubSlot)
 private:
  inline void set_has_role();
  inline void clear_has_role();
  inline void set_has_default_stream_id();
  inline void clear_has_default_stream_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 default_stream_id_;
  ::google::protobuf::uint32 role_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5finvitation_2eproto();
  friend void protobuf_AssignDesc_club_5finvitation_2eproto();
  friend void protobuf_ShutdownFile_club_5finvitation_2eproto();

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

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

  SendInvitationOptions(const SendInvitationOptions& from);

  inline SendInvitationOptions& operator=(const SendInvitationOptions& 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 SendInvitationOptions& default_instance();

  void Swap(SendInvitationOptions* other);

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

  SendInvitationOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SendInvitationOptions& from);
  void MergeFrom(const SendInvitationOptions& 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 target_id = 1;
  inline bool has_target_id() const;
  inline void clear_target_id();
  static const int kTargetIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& target_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_target_id();
  inline ::bgs::protocol::club::v1::MemberId* release_target_id();
  inline void set_allocated_target_id(::bgs::protocol::club::v1::MemberId* target_id);

  // optional .bgs.protocol.club.v1.ClubSlot slot = 2;
  inline bool has_slot() const;
  inline void clear_slot();
  static const int kSlotFieldNumber = 2;
  inline const ::bgs::protocol::club::v1::ClubSlot& slot() const;
  inline ::bgs::protocol::club::v1::ClubSlot* mutable_slot();
  inline ::bgs::protocol::club::v1::ClubSlot* release_slot();
  inline void set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot);

  // repeated .bgs.protocol.v2.Attribute attribute = 3;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 3;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.SendInvitationOptions)
 private:
  inline void set_has_target_id();
  inline void clear_has_target_id();
  inline void set_has_slot();
  inline void clear_has_slot();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* target_id_;
  ::bgs::protocol::club::v1::ClubSlot* slot_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5finvitation_2eproto();
  friend void protobuf_AssignDesc_club_5finvitation_2eproto();
  friend void protobuf_ShutdownFile_club_5finvitation_2eproto();

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

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

  ClubInvitation(const ClubInvitation& from);

  inline ClubInvitation& operator=(const ClubInvitation& 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 ClubInvitation& default_instance();

  void Swap(ClubInvitation* other);

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

  ClubInvitation* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubInvitation& from);
  void MergeFrom(const ClubInvitation& 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 fixed64 id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline ::google::protobuf::uint64 id() const;
  inline void set_id(::google::protobuf::uint64 value);

  // optional .bgs.protocol.club.v1.MemberDescription inviter = 2;
  inline bool has_inviter() const;
  inline void clear_inviter();
  static const int kInviterFieldNumber = 2;
  inline const ::bgs::protocol::club::v1::MemberDescription& inviter() const;
  inline ::bgs::protocol::club::v1::MemberDescription* mutable_inviter();
  inline ::bgs::protocol::club::v1::MemberDescription* release_inviter();
  inline void set_allocated_inviter(::bgs::protocol::club::v1::MemberDescription* inviter);

  // optional .bgs.protocol.club.v1.MemberDescription invitee = 3;
  inline bool has_invitee() const;
  inline void clear_invitee();
  static const int kInviteeFieldNumber = 3;
  inline const ::bgs::protocol::club::v1::MemberDescription& invitee() const;
  inline ::bgs::protocol::club::v1::MemberDescription* mutable_invitee();
  inline ::bgs::protocol::club::v1::MemberDescription* release_invitee();
  inline void set_allocated_invitee(::bgs::protocol::club::v1::MemberDescription* invitee);

  // optional .bgs.protocol.club.v1.ClubDescription club = 4;
  inline bool has_club() const;
  inline void clear_club();
  static const int kClubFieldNumber = 4;
  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);

  // optional .bgs.protocol.club.v1.ClubSlot slot = 5;
  inline bool has_slot() const;
  inline void clear_slot();
  static const int kSlotFieldNumber = 5;
  inline const ::bgs::protocol::club::v1::ClubSlot& slot() const;
  inline ::bgs::protocol::club::v1::ClubSlot* mutable_slot();
  inline ::bgs::protocol::club::v1::ClubSlot* release_slot();
  inline void set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot);

  // repeated .bgs.protocol.v2.Attribute attribute = 6;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 6;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // optional uint64 creation_time = 7;
  inline bool has_creation_time() const;
  inline void clear_creation_time();
  static const int kCreationTimeFieldNumber = 7;
  inline ::google::protobuf::uint64 creation_time() const;
  inline void set_creation_time(::google::protobuf::uint64 value);

  // optional uint64 expiration_time = 8;
  inline bool has_expiration_time() const;
  inline void clear_expiration_time();
  static const int kExpirationTimeFieldNumber = 8;
  inline ::google::protobuf::uint64 expiration_time() const;
  inline void set_expiration_time(::google::protobuf::uint64 value);

  // optional .bgs.protocol.club.v1.MemberDescription suggester = 9;
  inline bool has_suggester() const;
  inline void clear_suggester();
  static const int kSuggesterFieldNumber = 9;
  inline const ::bgs::protocol::club::v1::MemberDescription& suggester() const;
  inline ::bgs::protocol::club::v1::MemberDescription* mutable_suggester();
  inline ::bgs::protocol::club::v1::MemberDescription* release_suggester();
  inline void set_allocated_suggester(::bgs::protocol::club::v1::MemberDescription* suggester);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubInvitation)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_inviter();
  inline void clear_has_inviter();
  inline void set_has_invitee();
  inline void clear_has_invitee();
  inline void set_has_club();
  inline void clear_has_club();
  inline void set_has_slot();
  inline void clear_has_slot();
  inline void set_has_creation_time();
  inline void clear_has_creation_time();
  inline void set_has_expiration_time();
  inline void clear_has_expiration_time();
  inline void set_has_suggester();
  inline void clear_has_suggester();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 id_;
  ::bgs::protocol::club::v1::MemberDescription* inviter_;
  ::bgs::protocol::club::v1::MemberDescription* invitee_;
  ::bgs::protocol::club::v1::ClubDescription* club_;
  ::bgs::protocol::club::v1::ClubSlot* slot_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  ::google::protobuf::uint64 creation_time_;
  ::google::protobuf::uint64 expiration_time_;
  ::bgs::protocol::club::v1::MemberDescription* suggester_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5finvitation_2eproto();
  friend void protobuf_AssignDesc_club_5finvitation_2eproto();
  friend void protobuf_ShutdownFile_club_5finvitation_2eproto();

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

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

  SendSuggestionOptions(const SendSuggestionOptions& from);

  inline SendSuggestionOptions& operator=(const SendSuggestionOptions& 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 SendSuggestionOptions& default_instance();

  void Swap(SendSuggestionOptions* other);

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

  SendSuggestionOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SendSuggestionOptions& from);
  void MergeFrom(const SendSuggestionOptions& 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 target_id = 1;
  inline bool has_target_id() const;
  inline void clear_target_id();
  static const int kTargetIdFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::MemberId& target_id() const;
  inline ::bgs::protocol::club::v1::MemberId* mutable_target_id();
  inline ::bgs::protocol::club::v1::MemberId* release_target_id();
  inline void set_allocated_target_id(::bgs::protocol::club::v1::MemberId* target_id);

  // optional .bgs.protocol.club.v1.ClubSlot slot = 2;
  inline bool has_slot() const;
  inline void clear_slot();
  static const int kSlotFieldNumber = 2;
  inline const ::bgs::protocol::club::v1::ClubSlot& slot() const;
  inline ::bgs::protocol::club::v1::ClubSlot* mutable_slot();
  inline ::bgs::protocol::club::v1::ClubSlot* release_slot();
  inline void set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot);

  // repeated .bgs.protocol.v2.Attribute attribute = 3;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 3;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.SendSuggestionOptions)
 private:
  inline void set_has_target_id();
  inline void clear_has_target_id();
  inline void set_has_slot();
  inline void clear_has_slot();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::MemberId* target_id_;
  ::bgs::protocol::club::v1::ClubSlot* slot_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5finvitation_2eproto();
  friend void protobuf_AssignDesc_club_5finvitation_2eproto();
  friend void protobuf_ShutdownFile_club_5finvitation_2eproto();

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

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

  ClubSuggestion(const ClubSuggestion& from);

  inline ClubSuggestion& operator=(const ClubSuggestion& 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 ClubSuggestion& default_instance();

  void Swap(ClubSuggestion* other);

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

  ClubSuggestion* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubSuggestion& from);
  void MergeFrom(const ClubSuggestion& 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 fixed64 id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline ::google::protobuf::uint64 id() const;
  inline void set_id(::google::protobuf::uint64 value);

  // optional uint64 club_id = 2;
  inline bool has_club_id() const;
  inline void clear_club_id();
  static const int kClubIdFieldNumber = 2;
  inline ::google::protobuf::uint64 club_id() const;
  inline void set_club_id(::google::protobuf::uint64 value);

  // optional .bgs.protocol.club.v1.MemberDescription suggester = 3;
  inline bool has_suggester() const;
  inline void clear_suggester();
  static const int kSuggesterFieldNumber = 3;
  inline const ::bgs::protocol::club::v1::MemberDescription& suggester() const;
  inline ::bgs::protocol::club::v1::MemberDescription* mutable_suggester();
  inline ::bgs::protocol::club::v1::MemberDescription* release_suggester();
  inline void set_allocated_suggester(::bgs::protocol::club::v1::MemberDescription* suggester);

  // optional .bgs.protocol.club.v1.MemberDescription suggestee = 4;
  inline bool has_suggestee() const;
  inline void clear_suggestee();
  static const int kSuggesteeFieldNumber = 4;
  inline const ::bgs::protocol::club::v1::MemberDescription& suggestee() const;
  inline ::bgs::protocol::club::v1::MemberDescription* mutable_suggestee();
  inline ::bgs::protocol::club::v1::MemberDescription* release_suggestee();
  inline void set_allocated_suggestee(::bgs::protocol::club::v1::MemberDescription* suggestee);

  // optional .bgs.protocol.club.v1.ClubSlot slot = 5;
  inline bool has_slot() const;
  inline void clear_slot();
  static const int kSlotFieldNumber = 5;
  inline const ::bgs::protocol::club::v1::ClubSlot& slot() const;
  inline ::bgs::protocol::club::v1::ClubSlot* mutable_slot();
  inline ::bgs::protocol::club::v1::ClubSlot* release_slot();
  inline void set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot);

  // repeated .bgs.protocol.v2.Attribute attribute = 6;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 6;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // optional uint64 creation_time = 7;
  inline bool has_creation_time() const;
  inline void clear_creation_time();
  static const int kCreationTimeFieldNumber = 7;
  inline ::google::protobuf::uint64 creation_time() const;
  inline void set_creation_time(::google::protobuf::uint64 value);

  // optional uint64 expiration_time = 8;
  inline bool has_expiration_time() const;
  inline void clear_expiration_time();
  static const int kExpirationTimeFieldNumber = 8;
  inline ::google::protobuf::uint64 expiration_time() const;
  inline void set_expiration_time(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubSuggestion)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_club_id();
  inline void clear_has_club_id();
  inline void set_has_suggester();
  inline void clear_has_suggester();
  inline void set_has_suggestee();
  inline void clear_has_suggestee();
  inline void set_has_slot();
  inline void clear_has_slot();
  inline void set_has_creation_time();
  inline void clear_has_creation_time();
  inline void set_has_expiration_time();
  inline void clear_has_expiration_time();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 id_;
  ::google::protobuf::uint64 club_id_;
  ::bgs::protocol::club::v1::MemberDescription* suggester_;
  ::bgs::protocol::club::v1::MemberDescription* suggestee_;
  ::bgs::protocol::club::v1::ClubSlot* slot_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  ::google::protobuf::uint64 creation_time_;
  ::google::protobuf::uint64 expiration_time_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5finvitation_2eproto();
  friend void protobuf_AssignDesc_club_5finvitation_2eproto();
  friend void protobuf_ShutdownFile_club_5finvitation_2eproto();

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

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

  CreateTicketOptions(const CreateTicketOptions& from);

  inline CreateTicketOptions& operator=(const CreateTicketOptions& 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 CreateTicketOptions& default_instance();

  void Swap(CreateTicketOptions* other);

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

  CreateTicketOptions* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const CreateTicketOptions& from);
  void MergeFrom(const CreateTicketOptions& 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.ClubSlot slot = 1;
  inline bool has_slot() const;
  inline void clear_slot();
  static const int kSlotFieldNumber = 1;
  inline const ::bgs::protocol::club::v1::ClubSlot& slot() const;
  inline ::bgs::protocol::club::v1::ClubSlot* mutable_slot();
  inline ::bgs::protocol::club::v1::ClubSlot* release_slot();
  inline void set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot);

  // repeated .bgs.protocol.v2.Attribute attribute = 2;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 2;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // optional uint32 allowed_redeem_count = 3;
  inline bool has_allowed_redeem_count() const;
  inline void clear_allowed_redeem_count();
  static const int kAllowedRedeemCountFieldNumber = 3;
  inline ::google::protobuf::uint32 allowed_redeem_count() const;
  inline void set_allowed_redeem_count(::google::protobuf::uint32 value);

  // optional uint64 expiration_time = 4;
  inline bool has_expiration_time() const;
  inline void clear_expiration_time();
  static const int kExpirationTimeFieldNumber = 4;
  inline ::google::protobuf::uint64 expiration_time() const;
  inline void set_expiration_time(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.CreateTicketOptions)
 private:
  inline void set_has_slot();
  inline void clear_has_slot();
  inline void set_has_allowed_redeem_count();
  inline void clear_has_allowed_redeem_count();
  inline void set_has_expiration_time();
  inline void clear_has_expiration_time();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::club::v1::ClubSlot* slot_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  ::google::protobuf::uint64 expiration_time_;
  ::google::protobuf::uint32 allowed_redeem_count_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5finvitation_2eproto();
  friend void protobuf_AssignDesc_club_5finvitation_2eproto();
  friend void protobuf_ShutdownFile_club_5finvitation_2eproto();

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

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

  ClubTicket(const ClubTicket& from);

  inline ClubTicket& operator=(const ClubTicket& 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 ClubTicket& default_instance();

  void Swap(ClubTicket* other);

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

  ClubTicket* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClubTicket& from);
  void MergeFrom(const ClubTicket& 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 string id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline const ::std::string& id() const;
  inline void set_id(const ::std::string& value);
  inline void set_id(const char* value);
  inline void set_id(const char* value, size_t size);
  inline ::std::string* mutable_id();
  inline ::std::string* release_id();
  inline void set_allocated_id(::std::string* id);

  // optional .bgs.protocol.club.v1.MemberDescription creator = 2;
  inline bool has_creator() const;
  inline void clear_creator();
  static const int kCreatorFieldNumber = 2;
  inline const ::bgs::protocol::club::v1::MemberDescription& creator() const;
  inline ::bgs::protocol::club::v1::MemberDescription* mutable_creator();
  inline ::bgs::protocol::club::v1::MemberDescription* release_creator();
  inline void set_allocated_creator(::bgs::protocol::club::v1::MemberDescription* creator);

  // optional .bgs.protocol.club.v1.ClubDescription club = 3;
  inline bool has_club() const;
  inline void clear_club();
  static const int kClubFieldNumber = 3;
  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);

  // optional .bgs.protocol.club.v1.ClubSlot slot = 4;
  inline bool has_slot() const;
  inline void clear_slot();
  static const int kSlotFieldNumber = 4;
  inline const ::bgs::protocol::club::v1::ClubSlot& slot() const;
  inline ::bgs::protocol::club::v1::ClubSlot* mutable_slot();
  inline ::bgs::protocol::club::v1::ClubSlot* release_slot();
  inline void set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot);

  // repeated .bgs.protocol.v2.Attribute attribute = 5;
  inline int attribute_size() const;
  inline void clear_attribute();
  static const int kAttributeFieldNumber = 5;
  inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
  inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
  inline ::bgs::protocol::v2::Attribute* add_attribute();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
      attribute() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
      mutable_attribute();

  // optional uint32 current_redeem_count = 6;
  inline bool has_current_redeem_count() const;
  inline void clear_current_redeem_count();
  static const int kCurrentRedeemCountFieldNumber = 6;
  inline ::google::protobuf::uint32 current_redeem_count() const;
  inline void set_current_redeem_count(::google::protobuf::uint32 value);

  // optional uint32 allowed_redeem_count = 7;
  inline bool has_allowed_redeem_count() const;
  inline void clear_allowed_redeem_count();
  static const int kAllowedRedeemCountFieldNumber = 7;
  inline ::google::protobuf::uint32 allowed_redeem_count() const;
  inline void set_allowed_redeem_count(::google::protobuf::uint32 value);

  // optional uint64 creation_time = 8;
  inline bool has_creation_time() const;
  inline void clear_creation_time();
  static const int kCreationTimeFieldNumber = 8;
  inline ::google::protobuf::uint64 creation_time() const;
  inline void set_creation_time(::google::protobuf::uint64 value);

  // optional uint64 expiration_time = 9;
  inline bool has_expiration_time() const;
  inline void clear_expiration_time();
  static const int kExpirationTimeFieldNumber = 9;
  inline ::google::protobuf::uint64 expiration_time() const;
  inline void set_expiration_time(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.club.v1.ClubTicket)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_creator();
  inline void clear_has_creator();
  inline void set_has_club();
  inline void clear_has_club();
  inline void set_has_slot();
  inline void clear_has_slot();
  inline void set_has_current_redeem_count();
  inline void clear_has_current_redeem_count();
  inline void set_has_allowed_redeem_count();
  inline void clear_has_allowed_redeem_count();
  inline void set_has_creation_time();
  inline void clear_has_creation_time();
  inline void set_has_expiration_time();
  inline void clear_has_expiration_time();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::std::string* id_;
  ::bgs::protocol::club::v1::MemberDescription* creator_;
  ::bgs::protocol::club::v1::ClubDescription* club_;
  ::bgs::protocol::club::v1::ClubSlot* slot_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
  ::google::protobuf::uint32 current_redeem_count_;
  ::google::protobuf::uint32 allowed_redeem_count_;
  ::google::protobuf::uint64 creation_time_;
  ::google::protobuf::uint64 expiration_time_;
  friend void TC_PROTO_API protobuf_AddDesc_club_5finvitation_2eproto();
  friend void protobuf_AssignDesc_club_5finvitation_2eproto();
  friend void protobuf_ShutdownFile_club_5finvitation_2eproto();

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


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


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

// ClubSlot

// optional uint32 role = 1;
inline bool ClubSlot::has_role() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubSlot::set_has_role() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubSlot::clear_has_role() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubSlot::clear_role() {
  role_ = 0u;
  clear_has_role();
}
inline ::google::protobuf::uint32 ClubSlot::role() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSlot.role)
  return role_;
}
inline void ClubSlot::set_role(::google::protobuf::uint32 value) {
  set_has_role();
  role_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubSlot.role)
}

// optional uint64 default_stream_id = 2;
inline bool ClubSlot::has_default_stream_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ClubSlot::set_has_default_stream_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ClubSlot::clear_has_default_stream_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ClubSlot::clear_default_stream_id() {
  default_stream_id_ = GOOGLE_ULONGLONG(0);
  clear_has_default_stream_id();
}
inline ::google::protobuf::uint64 ClubSlot::default_stream_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSlot.default_stream_id)
  return default_stream_id_;
}
inline void ClubSlot::set_default_stream_id(::google::protobuf::uint64 value) {
  set_has_default_stream_id();
  default_stream_id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubSlot.default_stream_id)
}

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

// SendInvitationOptions

// optional .bgs.protocol.club.v1.MemberId target_id = 1;
inline bool SendInvitationOptions::has_target_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SendInvitationOptions::set_has_target_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SendInvitationOptions::clear_has_target_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SendInvitationOptions::clear_target_id() {
  if (target_id_ != NULL) target_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_target_id();
}
inline const ::bgs::protocol::club::v1::MemberId& SendInvitationOptions::target_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SendInvitationOptions.target_id)
  return target_id_ != NULL ? *target_id_ : *default_instance_->target_id_;
}
inline ::bgs::protocol::club::v1::MemberId* SendInvitationOptions::mutable_target_id() {
  set_has_target_id();
  if (target_id_ == NULL) target_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SendInvitationOptions.target_id)
  return target_id_;
}
inline ::bgs::protocol::club::v1::MemberId* SendInvitationOptions::release_target_id() {
  clear_has_target_id();
  ::bgs::protocol::club::v1::MemberId* temp = target_id_;
  target_id_ = NULL;
  return temp;
}
inline void SendInvitationOptions::set_allocated_target_id(::bgs::protocol::club::v1::MemberId* target_id) {
  delete target_id_;
  target_id_ = target_id;
  if (target_id) {
    set_has_target_id();
  } else {
    clear_has_target_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.SendInvitationOptions.target_id)
}

// optional .bgs.protocol.club.v1.ClubSlot slot = 2;
inline bool SendInvitationOptions::has_slot() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SendInvitationOptions::set_has_slot() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SendInvitationOptions::clear_has_slot() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SendInvitationOptions::clear_slot() {
  if (slot_ != NULL) slot_->::bgs::protocol::club::v1::ClubSlot::Clear();
  clear_has_slot();
}
inline const ::bgs::protocol::club::v1::ClubSlot& SendInvitationOptions::slot() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SendInvitationOptions.slot)
  return slot_ != NULL ? *slot_ : *default_instance_->slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* SendInvitationOptions::mutable_slot() {
  set_has_slot();
  if (slot_ == NULL) slot_ = new ::bgs::protocol::club::v1::ClubSlot;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SendInvitationOptions.slot)
  return slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* SendInvitationOptions::release_slot() {
  clear_has_slot();
  ::bgs::protocol::club::v1::ClubSlot* temp = slot_;
  slot_ = NULL;
  return temp;
}
inline void SendInvitationOptions::set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot) {
  delete slot_;
  slot_ = slot;
  if (slot) {
    set_has_slot();
  } else {
    clear_has_slot();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.SendInvitationOptions.slot)
}

// repeated .bgs.protocol.v2.Attribute attribute = 3;
inline int SendInvitationOptions::attribute_size() const {
  return attribute_.size();
}
inline void SendInvitationOptions::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& SendInvitationOptions::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SendInvitationOptions.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* SendInvitationOptions::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SendInvitationOptions.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* SendInvitationOptions::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.SendInvitationOptions.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
SendInvitationOptions::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.SendInvitationOptions.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
SendInvitationOptions::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.SendInvitationOptions.attribute)
  return &attribute_;
}

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

// ClubInvitation

// optional fixed64 id = 1;
inline bool ClubInvitation::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubInvitation::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubInvitation::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubInvitation::clear_id() {
  id_ = GOOGLE_ULONGLONG(0);
  clear_has_id();
}
inline ::google::protobuf::uint64 ClubInvitation::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.id)
  return id_;
}
inline void ClubInvitation::set_id(::google::protobuf::uint64 value) {
  set_has_id();
  id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubInvitation.id)
}

// optional .bgs.protocol.club.v1.MemberDescription inviter = 2;
inline bool ClubInvitation::has_inviter() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ClubInvitation::set_has_inviter() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ClubInvitation::clear_has_inviter() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ClubInvitation::clear_inviter() {
  if (inviter_ != NULL) inviter_->::bgs::protocol::club::v1::MemberDescription::Clear();
  clear_has_inviter();
}
inline const ::bgs::protocol::club::v1::MemberDescription& ClubInvitation::inviter() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.inviter)
  return inviter_ != NULL ? *inviter_ : *default_instance_->inviter_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubInvitation::mutable_inviter() {
  set_has_inviter();
  if (inviter_ == NULL) inviter_ = new ::bgs::protocol::club::v1::MemberDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubInvitation.inviter)
  return inviter_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubInvitation::release_inviter() {
  clear_has_inviter();
  ::bgs::protocol::club::v1::MemberDescription* temp = inviter_;
  inviter_ = NULL;
  return temp;
}
inline void ClubInvitation::set_allocated_inviter(::bgs::protocol::club::v1::MemberDescription* inviter) {
  delete inviter_;
  inviter_ = inviter;
  if (inviter) {
    set_has_inviter();
  } else {
    clear_has_inviter();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubInvitation.inviter)
}

// optional .bgs.protocol.club.v1.MemberDescription invitee = 3;
inline bool ClubInvitation::has_invitee() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ClubInvitation::set_has_invitee() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ClubInvitation::clear_has_invitee() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ClubInvitation::clear_invitee() {
  if (invitee_ != NULL) invitee_->::bgs::protocol::club::v1::MemberDescription::Clear();
  clear_has_invitee();
}
inline const ::bgs::protocol::club::v1::MemberDescription& ClubInvitation::invitee() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.invitee)
  return invitee_ != NULL ? *invitee_ : *default_instance_->invitee_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubInvitation::mutable_invitee() {
  set_has_invitee();
  if (invitee_ == NULL) invitee_ = new ::bgs::protocol::club::v1::MemberDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubInvitation.invitee)
  return invitee_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubInvitation::release_invitee() {
  clear_has_invitee();
  ::bgs::protocol::club::v1::MemberDescription* temp = invitee_;
  invitee_ = NULL;
  return temp;
}
inline void ClubInvitation::set_allocated_invitee(::bgs::protocol::club::v1::MemberDescription* invitee) {
  delete invitee_;
  invitee_ = invitee;
  if (invitee) {
    set_has_invitee();
  } else {
    clear_has_invitee();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubInvitation.invitee)
}

// optional .bgs.protocol.club.v1.ClubDescription club = 4;
inline bool ClubInvitation::has_club() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void ClubInvitation::set_has_club() {
  _has_bits_[0] |= 0x00000008u;
}
inline void ClubInvitation::clear_has_club() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void ClubInvitation::clear_club() {
  if (club_ != NULL) club_->::bgs::protocol::club::v1::ClubDescription::Clear();
  clear_has_club();
}
inline const ::bgs::protocol::club::v1::ClubDescription& ClubInvitation::club() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.club)
  return club_ != NULL ? *club_ : *default_instance_->club_;
}
inline ::bgs::protocol::club::v1::ClubDescription* ClubInvitation::mutable_club() {
  set_has_club();
  if (club_ == NULL) club_ = new ::bgs::protocol::club::v1::ClubDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubInvitation.club)
  return club_;
}
inline ::bgs::protocol::club::v1::ClubDescription* ClubInvitation::release_club() {
  clear_has_club();
  ::bgs::protocol::club::v1::ClubDescription* temp = club_;
  club_ = NULL;
  return temp;
}
inline void ClubInvitation::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.ClubInvitation.club)
}

// optional .bgs.protocol.club.v1.ClubSlot slot = 5;
inline bool ClubInvitation::has_slot() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void ClubInvitation::set_has_slot() {
  _has_bits_[0] |= 0x00000010u;
}
inline void ClubInvitation::clear_has_slot() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void ClubInvitation::clear_slot() {
  if (slot_ != NULL) slot_->::bgs::protocol::club::v1::ClubSlot::Clear();
  clear_has_slot();
}
inline const ::bgs::protocol::club::v1::ClubSlot& ClubInvitation::slot() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.slot)
  return slot_ != NULL ? *slot_ : *default_instance_->slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* ClubInvitation::mutable_slot() {
  set_has_slot();
  if (slot_ == NULL) slot_ = new ::bgs::protocol::club::v1::ClubSlot;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubInvitation.slot)
  return slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* ClubInvitation::release_slot() {
  clear_has_slot();
  ::bgs::protocol::club::v1::ClubSlot* temp = slot_;
  slot_ = NULL;
  return temp;
}
inline void ClubInvitation::set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot) {
  delete slot_;
  slot_ = slot;
  if (slot) {
    set_has_slot();
  } else {
    clear_has_slot();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubInvitation.slot)
}

// repeated .bgs.protocol.v2.Attribute attribute = 6;
inline int ClubInvitation::attribute_size() const {
  return attribute_.size();
}
inline void ClubInvitation::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& ClubInvitation::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* ClubInvitation::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubInvitation.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* ClubInvitation::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.ClubInvitation.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
ClubInvitation::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.ClubInvitation.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
ClubInvitation::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.ClubInvitation.attribute)
  return &attribute_;
}

// optional uint64 creation_time = 7;
inline bool ClubInvitation::has_creation_time() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void ClubInvitation::set_has_creation_time() {
  _has_bits_[0] |= 0x00000040u;
}
inline void ClubInvitation::clear_has_creation_time() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void ClubInvitation::clear_creation_time() {
  creation_time_ = GOOGLE_ULONGLONG(0);
  clear_has_creation_time();
}
inline ::google::protobuf::uint64 ClubInvitation::creation_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.creation_time)
  return creation_time_;
}
inline void ClubInvitation::set_creation_time(::google::protobuf::uint64 value) {
  set_has_creation_time();
  creation_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubInvitation.creation_time)
}

// optional uint64 expiration_time = 8;
inline bool ClubInvitation::has_expiration_time() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void ClubInvitation::set_has_expiration_time() {
  _has_bits_[0] |= 0x00000080u;
}
inline void ClubInvitation::clear_has_expiration_time() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void ClubInvitation::clear_expiration_time() {
  expiration_time_ = GOOGLE_ULONGLONG(0);
  clear_has_expiration_time();
}
inline ::google::protobuf::uint64 ClubInvitation::expiration_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.expiration_time)
  return expiration_time_;
}
inline void ClubInvitation::set_expiration_time(::google::protobuf::uint64 value) {
  set_has_expiration_time();
  expiration_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubInvitation.expiration_time)
}

// optional .bgs.protocol.club.v1.MemberDescription suggester = 9;
inline bool ClubInvitation::has_suggester() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void ClubInvitation::set_has_suggester() {
  _has_bits_[0] |= 0x00000100u;
}
inline void ClubInvitation::clear_has_suggester() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void ClubInvitation::clear_suggester() {
  if (suggester_ != NULL) suggester_->::bgs::protocol::club::v1::MemberDescription::Clear();
  clear_has_suggester();
}
inline const ::bgs::protocol::club::v1::MemberDescription& ClubInvitation::suggester() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubInvitation.suggester)
  return suggester_ != NULL ? *suggester_ : *default_instance_->suggester_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubInvitation::mutable_suggester() {
  set_has_suggester();
  if (suggester_ == NULL) suggester_ = new ::bgs::protocol::club::v1::MemberDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubInvitation.suggester)
  return suggester_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubInvitation::release_suggester() {
  clear_has_suggester();
  ::bgs::protocol::club::v1::MemberDescription* temp = suggester_;
  suggester_ = NULL;
  return temp;
}
inline void ClubInvitation::set_allocated_suggester(::bgs::protocol::club::v1::MemberDescription* suggester) {
  delete suggester_;
  suggester_ = suggester;
  if (suggester) {
    set_has_suggester();
  } else {
    clear_has_suggester();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubInvitation.suggester)
}

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

// SendSuggestionOptions

// optional .bgs.protocol.club.v1.MemberId target_id = 1;
inline bool SendSuggestionOptions::has_target_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SendSuggestionOptions::set_has_target_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SendSuggestionOptions::clear_has_target_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SendSuggestionOptions::clear_target_id() {
  if (target_id_ != NULL) target_id_->::bgs::protocol::club::v1::MemberId::Clear();
  clear_has_target_id();
}
inline const ::bgs::protocol::club::v1::MemberId& SendSuggestionOptions::target_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SendSuggestionOptions.target_id)
  return target_id_ != NULL ? *target_id_ : *default_instance_->target_id_;
}
inline ::bgs::protocol::club::v1::MemberId* SendSuggestionOptions::mutable_target_id() {
  set_has_target_id();
  if (target_id_ == NULL) target_id_ = new ::bgs::protocol::club::v1::MemberId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SendSuggestionOptions.target_id)
  return target_id_;
}
inline ::bgs::protocol::club::v1::MemberId* SendSuggestionOptions::release_target_id() {
  clear_has_target_id();
  ::bgs::protocol::club::v1::MemberId* temp = target_id_;
  target_id_ = NULL;
  return temp;
}
inline void SendSuggestionOptions::set_allocated_target_id(::bgs::protocol::club::v1::MemberId* target_id) {
  delete target_id_;
  target_id_ = target_id;
  if (target_id) {
    set_has_target_id();
  } else {
    clear_has_target_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.SendSuggestionOptions.target_id)
}

// optional .bgs.protocol.club.v1.ClubSlot slot = 2;
inline bool SendSuggestionOptions::has_slot() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SendSuggestionOptions::set_has_slot() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SendSuggestionOptions::clear_has_slot() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SendSuggestionOptions::clear_slot() {
  if (slot_ != NULL) slot_->::bgs::protocol::club::v1::ClubSlot::Clear();
  clear_has_slot();
}
inline const ::bgs::protocol::club::v1::ClubSlot& SendSuggestionOptions::slot() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SendSuggestionOptions.slot)
  return slot_ != NULL ? *slot_ : *default_instance_->slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* SendSuggestionOptions::mutable_slot() {
  set_has_slot();
  if (slot_ == NULL) slot_ = new ::bgs::protocol::club::v1::ClubSlot;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SendSuggestionOptions.slot)
  return slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* SendSuggestionOptions::release_slot() {
  clear_has_slot();
  ::bgs::protocol::club::v1::ClubSlot* temp = slot_;
  slot_ = NULL;
  return temp;
}
inline void SendSuggestionOptions::set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot) {
  delete slot_;
  slot_ = slot;
  if (slot) {
    set_has_slot();
  } else {
    clear_has_slot();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.SendSuggestionOptions.slot)
}

// repeated .bgs.protocol.v2.Attribute attribute = 3;
inline int SendSuggestionOptions::attribute_size() const {
  return attribute_.size();
}
inline void SendSuggestionOptions::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& SendSuggestionOptions::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.SendSuggestionOptions.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* SendSuggestionOptions::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.SendSuggestionOptions.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* SendSuggestionOptions::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.SendSuggestionOptions.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
SendSuggestionOptions::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.SendSuggestionOptions.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
SendSuggestionOptions::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.SendSuggestionOptions.attribute)
  return &attribute_;
}

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

// ClubSuggestion

// optional fixed64 id = 1;
inline bool ClubSuggestion::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubSuggestion::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubSuggestion::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubSuggestion::clear_id() {
  id_ = GOOGLE_ULONGLONG(0);
  clear_has_id();
}
inline ::google::protobuf::uint64 ClubSuggestion::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSuggestion.id)
  return id_;
}
inline void ClubSuggestion::set_id(::google::protobuf::uint64 value) {
  set_has_id();
  id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubSuggestion.id)
}

// optional uint64 club_id = 2;
inline bool ClubSuggestion::has_club_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ClubSuggestion::set_has_club_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ClubSuggestion::clear_has_club_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ClubSuggestion::clear_club_id() {
  club_id_ = GOOGLE_ULONGLONG(0);
  clear_has_club_id();
}
inline ::google::protobuf::uint64 ClubSuggestion::club_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSuggestion.club_id)
  return club_id_;
}
inline void ClubSuggestion::set_club_id(::google::protobuf::uint64 value) {
  set_has_club_id();
  club_id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubSuggestion.club_id)
}

// optional .bgs.protocol.club.v1.MemberDescription suggester = 3;
inline bool ClubSuggestion::has_suggester() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ClubSuggestion::set_has_suggester() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ClubSuggestion::clear_has_suggester() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ClubSuggestion::clear_suggester() {
  if (suggester_ != NULL) suggester_->::bgs::protocol::club::v1::MemberDescription::Clear();
  clear_has_suggester();
}
inline const ::bgs::protocol::club::v1::MemberDescription& ClubSuggestion::suggester() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSuggestion.suggester)
  return suggester_ != NULL ? *suggester_ : *default_instance_->suggester_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubSuggestion::mutable_suggester() {
  set_has_suggester();
  if (suggester_ == NULL) suggester_ = new ::bgs::protocol::club::v1::MemberDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubSuggestion.suggester)
  return suggester_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubSuggestion::release_suggester() {
  clear_has_suggester();
  ::bgs::protocol::club::v1::MemberDescription* temp = suggester_;
  suggester_ = NULL;
  return temp;
}
inline void ClubSuggestion::set_allocated_suggester(::bgs::protocol::club::v1::MemberDescription* suggester) {
  delete suggester_;
  suggester_ = suggester;
  if (suggester) {
    set_has_suggester();
  } else {
    clear_has_suggester();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubSuggestion.suggester)
}

// optional .bgs.protocol.club.v1.MemberDescription suggestee = 4;
inline bool ClubSuggestion::has_suggestee() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void ClubSuggestion::set_has_suggestee() {
  _has_bits_[0] |= 0x00000008u;
}
inline void ClubSuggestion::clear_has_suggestee() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void ClubSuggestion::clear_suggestee() {
  if (suggestee_ != NULL) suggestee_->::bgs::protocol::club::v1::MemberDescription::Clear();
  clear_has_suggestee();
}
inline const ::bgs::protocol::club::v1::MemberDescription& ClubSuggestion::suggestee() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSuggestion.suggestee)
  return suggestee_ != NULL ? *suggestee_ : *default_instance_->suggestee_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubSuggestion::mutable_suggestee() {
  set_has_suggestee();
  if (suggestee_ == NULL) suggestee_ = new ::bgs::protocol::club::v1::MemberDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubSuggestion.suggestee)
  return suggestee_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubSuggestion::release_suggestee() {
  clear_has_suggestee();
  ::bgs::protocol::club::v1::MemberDescription* temp = suggestee_;
  suggestee_ = NULL;
  return temp;
}
inline void ClubSuggestion::set_allocated_suggestee(::bgs::protocol::club::v1::MemberDescription* suggestee) {
  delete suggestee_;
  suggestee_ = suggestee;
  if (suggestee) {
    set_has_suggestee();
  } else {
    clear_has_suggestee();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubSuggestion.suggestee)
}

// optional .bgs.protocol.club.v1.ClubSlot slot = 5;
inline bool ClubSuggestion::has_slot() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void ClubSuggestion::set_has_slot() {
  _has_bits_[0] |= 0x00000010u;
}
inline void ClubSuggestion::clear_has_slot() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void ClubSuggestion::clear_slot() {
  if (slot_ != NULL) slot_->::bgs::protocol::club::v1::ClubSlot::Clear();
  clear_has_slot();
}
inline const ::bgs::protocol::club::v1::ClubSlot& ClubSuggestion::slot() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSuggestion.slot)
  return slot_ != NULL ? *slot_ : *default_instance_->slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* ClubSuggestion::mutable_slot() {
  set_has_slot();
  if (slot_ == NULL) slot_ = new ::bgs::protocol::club::v1::ClubSlot;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubSuggestion.slot)
  return slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* ClubSuggestion::release_slot() {
  clear_has_slot();
  ::bgs::protocol::club::v1::ClubSlot* temp = slot_;
  slot_ = NULL;
  return temp;
}
inline void ClubSuggestion::set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot) {
  delete slot_;
  slot_ = slot;
  if (slot) {
    set_has_slot();
  } else {
    clear_has_slot();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubSuggestion.slot)
}

// repeated .bgs.protocol.v2.Attribute attribute = 6;
inline int ClubSuggestion::attribute_size() const {
  return attribute_.size();
}
inline void ClubSuggestion::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& ClubSuggestion::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSuggestion.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* ClubSuggestion::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubSuggestion.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* ClubSuggestion::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.ClubSuggestion.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
ClubSuggestion::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.ClubSuggestion.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
ClubSuggestion::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.ClubSuggestion.attribute)
  return &attribute_;
}

// optional uint64 creation_time = 7;
inline bool ClubSuggestion::has_creation_time() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void ClubSuggestion::set_has_creation_time() {
  _has_bits_[0] |= 0x00000040u;
}
inline void ClubSuggestion::clear_has_creation_time() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void ClubSuggestion::clear_creation_time() {
  creation_time_ = GOOGLE_ULONGLONG(0);
  clear_has_creation_time();
}
inline ::google::protobuf::uint64 ClubSuggestion::creation_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSuggestion.creation_time)
  return creation_time_;
}
inline void ClubSuggestion::set_creation_time(::google::protobuf::uint64 value) {
  set_has_creation_time();
  creation_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubSuggestion.creation_time)
}

// optional uint64 expiration_time = 8;
inline bool ClubSuggestion::has_expiration_time() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void ClubSuggestion::set_has_expiration_time() {
  _has_bits_[0] |= 0x00000080u;
}
inline void ClubSuggestion::clear_has_expiration_time() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void ClubSuggestion::clear_expiration_time() {
  expiration_time_ = GOOGLE_ULONGLONG(0);
  clear_has_expiration_time();
}
inline ::google::protobuf::uint64 ClubSuggestion::expiration_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubSuggestion.expiration_time)
  return expiration_time_;
}
inline void ClubSuggestion::set_expiration_time(::google::protobuf::uint64 value) {
  set_has_expiration_time();
  expiration_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubSuggestion.expiration_time)
}

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

// CreateTicketOptions

// optional .bgs.protocol.club.v1.ClubSlot slot = 1;
inline bool CreateTicketOptions::has_slot() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void CreateTicketOptions::set_has_slot() {
  _has_bits_[0] |= 0x00000001u;
}
inline void CreateTicketOptions::clear_has_slot() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void CreateTicketOptions::clear_slot() {
  if (slot_ != NULL) slot_->::bgs::protocol::club::v1::ClubSlot::Clear();
  clear_has_slot();
}
inline const ::bgs::protocol::club::v1::ClubSlot& CreateTicketOptions::slot() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.CreateTicketOptions.slot)
  return slot_ != NULL ? *slot_ : *default_instance_->slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* CreateTicketOptions::mutable_slot() {
  set_has_slot();
  if (slot_ == NULL) slot_ = new ::bgs::protocol::club::v1::ClubSlot;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.CreateTicketOptions.slot)
  return slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* CreateTicketOptions::release_slot() {
  clear_has_slot();
  ::bgs::protocol::club::v1::ClubSlot* temp = slot_;
  slot_ = NULL;
  return temp;
}
inline void CreateTicketOptions::set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot) {
  delete slot_;
  slot_ = slot;
  if (slot) {
    set_has_slot();
  } else {
    clear_has_slot();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.CreateTicketOptions.slot)
}

// repeated .bgs.protocol.v2.Attribute attribute = 2;
inline int CreateTicketOptions::attribute_size() const {
  return attribute_.size();
}
inline void CreateTicketOptions::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& CreateTicketOptions::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.CreateTicketOptions.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* CreateTicketOptions::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.CreateTicketOptions.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* CreateTicketOptions::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.CreateTicketOptions.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
CreateTicketOptions::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.CreateTicketOptions.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
CreateTicketOptions::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.CreateTicketOptions.attribute)
  return &attribute_;
}

// optional uint32 allowed_redeem_count = 3;
inline bool CreateTicketOptions::has_allowed_redeem_count() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void CreateTicketOptions::set_has_allowed_redeem_count() {
  _has_bits_[0] |= 0x00000004u;
}
inline void CreateTicketOptions::clear_has_allowed_redeem_count() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void CreateTicketOptions::clear_allowed_redeem_count() {
  allowed_redeem_count_ = 0u;
  clear_has_allowed_redeem_count();
}
inline ::google::protobuf::uint32 CreateTicketOptions::allowed_redeem_count() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.CreateTicketOptions.allowed_redeem_count)
  return allowed_redeem_count_;
}
inline void CreateTicketOptions::set_allowed_redeem_count(::google::protobuf::uint32 value) {
  set_has_allowed_redeem_count();
  allowed_redeem_count_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.CreateTicketOptions.allowed_redeem_count)
}

// optional uint64 expiration_time = 4;
inline bool CreateTicketOptions::has_expiration_time() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void CreateTicketOptions::set_has_expiration_time() {
  _has_bits_[0] |= 0x00000008u;
}
inline void CreateTicketOptions::clear_has_expiration_time() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void CreateTicketOptions::clear_expiration_time() {
  expiration_time_ = GOOGLE_ULONGLONG(0);
  clear_has_expiration_time();
}
inline ::google::protobuf::uint64 CreateTicketOptions::expiration_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.CreateTicketOptions.expiration_time)
  return expiration_time_;
}
inline void CreateTicketOptions::set_expiration_time(::google::protobuf::uint64 value) {
  set_has_expiration_time();
  expiration_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.CreateTicketOptions.expiration_time)
}

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

// ClubTicket

// optional string id = 1;
inline bool ClubTicket::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClubTicket::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClubTicket::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClubTicket::clear_id() {
  if (id_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_->clear();
  }
  clear_has_id();
}
inline const ::std::string& ClubTicket::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.id)
  return *id_;
}
inline void ClubTicket::set_id(const ::std::string& value) {
  set_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_ = new ::std::string;
  }
  id_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubTicket.id)
}
inline void ClubTicket::set_id(const char* value) {
  set_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_ = new ::std::string;
  }
  id_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.club.v1.ClubTicket.id)
}
inline void ClubTicket::set_id(const char* value, size_t size) {
  set_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_ = new ::std::string;
  }
  id_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.club.v1.ClubTicket.id)
}
inline ::std::string* ClubTicket::mutable_id() {
  set_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    id_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubTicket.id)
  return id_;
}
inline ::std::string* ClubTicket::release_id() {
  clear_has_id();
  if (id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = id_;
    id_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void ClubTicket::set_allocated_id(::std::string* id) {
  if (id_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete id_;
  }
  if (id) {
    set_has_id();
    id_ = id;
  } else {
    clear_has_id();
    id_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubTicket.id)
}

// optional .bgs.protocol.club.v1.MemberDescription creator = 2;
inline bool ClubTicket::has_creator() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ClubTicket::set_has_creator() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ClubTicket::clear_has_creator() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ClubTicket::clear_creator() {
  if (creator_ != NULL) creator_->::bgs::protocol::club::v1::MemberDescription::Clear();
  clear_has_creator();
}
inline const ::bgs::protocol::club::v1::MemberDescription& ClubTicket::creator() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.creator)
  return creator_ != NULL ? *creator_ : *default_instance_->creator_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubTicket::mutable_creator() {
  set_has_creator();
  if (creator_ == NULL) creator_ = new ::bgs::protocol::club::v1::MemberDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubTicket.creator)
  return creator_;
}
inline ::bgs::protocol::club::v1::MemberDescription* ClubTicket::release_creator() {
  clear_has_creator();
  ::bgs::protocol::club::v1::MemberDescription* temp = creator_;
  creator_ = NULL;
  return temp;
}
inline void ClubTicket::set_allocated_creator(::bgs::protocol::club::v1::MemberDescription* creator) {
  delete creator_;
  creator_ = creator;
  if (creator) {
    set_has_creator();
  } else {
    clear_has_creator();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubTicket.creator)
}

// optional .bgs.protocol.club.v1.ClubDescription club = 3;
inline bool ClubTicket::has_club() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void ClubTicket::set_has_club() {
  _has_bits_[0] |= 0x00000004u;
}
inline void ClubTicket::clear_has_club() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void ClubTicket::clear_club() {
  if (club_ != NULL) club_->::bgs::protocol::club::v1::ClubDescription::Clear();
  clear_has_club();
}
inline const ::bgs::protocol::club::v1::ClubDescription& ClubTicket::club() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.club)
  return club_ != NULL ? *club_ : *default_instance_->club_;
}
inline ::bgs::protocol::club::v1::ClubDescription* ClubTicket::mutable_club() {
  set_has_club();
  if (club_ == NULL) club_ = new ::bgs::protocol::club::v1::ClubDescription;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubTicket.club)
  return club_;
}
inline ::bgs::protocol::club::v1::ClubDescription* ClubTicket::release_club() {
  clear_has_club();
  ::bgs::protocol::club::v1::ClubDescription* temp = club_;
  club_ = NULL;
  return temp;
}
inline void ClubTicket::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.ClubTicket.club)
}

// optional .bgs.protocol.club.v1.ClubSlot slot = 4;
inline bool ClubTicket::has_slot() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void ClubTicket::set_has_slot() {
  _has_bits_[0] |= 0x00000008u;
}
inline void ClubTicket::clear_has_slot() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void ClubTicket::clear_slot() {
  if (slot_ != NULL) slot_->::bgs::protocol::club::v1::ClubSlot::Clear();
  clear_has_slot();
}
inline const ::bgs::protocol::club::v1::ClubSlot& ClubTicket::slot() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.slot)
  return slot_ != NULL ? *slot_ : *default_instance_->slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* ClubTicket::mutable_slot() {
  set_has_slot();
  if (slot_ == NULL) slot_ = new ::bgs::protocol::club::v1::ClubSlot;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubTicket.slot)
  return slot_;
}
inline ::bgs::protocol::club::v1::ClubSlot* ClubTicket::release_slot() {
  clear_has_slot();
  ::bgs::protocol::club::v1::ClubSlot* temp = slot_;
  slot_ = NULL;
  return temp;
}
inline void ClubTicket::set_allocated_slot(::bgs::protocol::club::v1::ClubSlot* slot) {
  delete slot_;
  slot_ = slot;
  if (slot) {
    set_has_slot();
  } else {
    clear_has_slot();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.club.v1.ClubTicket.slot)
}

// repeated .bgs.protocol.v2.Attribute attribute = 5;
inline int ClubTicket::attribute_size() const {
  return attribute_.size();
}
inline void ClubTicket::clear_attribute() {
  attribute_.Clear();
}
inline const ::bgs::protocol::v2::Attribute& ClubTicket::attribute(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.attribute)
  return attribute_.Get(index);
}
inline ::bgs::protocol::v2::Attribute* ClubTicket::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.club.v1.ClubTicket.attribute)
  return attribute_.Mutable(index);
}
inline ::bgs::protocol::v2::Attribute* ClubTicket::add_attribute() {
  // @@protoc_insertion_point(field_add:bgs.protocol.club.v1.ClubTicket.attribute)
  return attribute_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
ClubTicket::attribute() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.club.v1.ClubTicket.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
ClubTicket::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.club.v1.ClubTicket.attribute)
  return &attribute_;
}

// optional uint32 current_redeem_count = 6;
inline bool ClubTicket::has_current_redeem_count() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void ClubTicket::set_has_current_redeem_count() {
  _has_bits_[0] |= 0x00000020u;
}
inline void ClubTicket::clear_has_current_redeem_count() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void ClubTicket::clear_current_redeem_count() {
  current_redeem_count_ = 0u;
  clear_has_current_redeem_count();
}
inline ::google::protobuf::uint32 ClubTicket::current_redeem_count() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.current_redeem_count)
  return current_redeem_count_;
}
inline void ClubTicket::set_current_redeem_count(::google::protobuf::uint32 value) {
  set_has_current_redeem_count();
  current_redeem_count_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubTicket.current_redeem_count)
}

// optional uint32 allowed_redeem_count = 7;
inline bool ClubTicket::has_allowed_redeem_count() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void ClubTicket::set_has_allowed_redeem_count() {
  _has_bits_[0] |= 0x00000040u;
}
inline void ClubTicket::clear_has_allowed_redeem_count() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void ClubTicket::clear_allowed_redeem_count() {
  allowed_redeem_count_ = 0u;
  clear_has_allowed_redeem_count();
}
inline ::google::protobuf::uint32 ClubTicket::allowed_redeem_count() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.allowed_redeem_count)
  return allowed_redeem_count_;
}
inline void ClubTicket::set_allowed_redeem_count(::google::protobuf::uint32 value) {
  set_has_allowed_redeem_count();
  allowed_redeem_count_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubTicket.allowed_redeem_count)
}

// optional uint64 creation_time = 8;
inline bool ClubTicket::has_creation_time() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void ClubTicket::set_has_creation_time() {
  _has_bits_[0] |= 0x00000080u;
}
inline void ClubTicket::clear_has_creation_time() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void ClubTicket::clear_creation_time() {
  creation_time_ = GOOGLE_ULONGLONG(0);
  clear_has_creation_time();
}
inline ::google::protobuf::uint64 ClubTicket::creation_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.creation_time)
  return creation_time_;
}
inline void ClubTicket::set_creation_time(::google::protobuf::uint64 value) {
  set_has_creation_time();
  creation_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubTicket.creation_time)
}

// optional uint64 expiration_time = 9;
inline bool ClubTicket::has_expiration_time() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void ClubTicket::set_has_expiration_time() {
  _has_bits_[0] |= 0x00000100u;
}
inline void ClubTicket::clear_has_expiration_time() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void ClubTicket::clear_expiration_time() {
  expiration_time_ = GOOGLE_ULONGLONG(0);
  clear_has_expiration_time();
}
inline ::google::protobuf::uint64 ClubTicket::expiration_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.club.v1.ClubTicket.expiration_time)
  return expiration_time_;
}
inline void ClubTicket::set_expiration_time(::google::protobuf::uint64 value) {
  set_has_expiration_time();
  expiration_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.club.v1.ClubTicket.expiration_time)
}


// @@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_5finvitation_2eproto__INCLUDED
