text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: CPerson1.proto
  
  #ifndef PROTOBUF_CPerson1_2eproto__INCLUDED
  #define PROTOBUF_CPerson1_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/generated_enum_reflection.h>
  #include <google/protobuf/unknown_field_set.h>
  // @@protoc_insertion_point(includes)
  
  // Internal implementation detail -- do not call these.
  void  protobuf_AddDesc_CPerson1_2eproto();
  void protobuf_AssignDesc_CPerson1_2eproto();
  void protobuf_ShutdownFile_CPerson1_2eproto();
  
  class CPerson1;
  class CPerson1_PhoneNumber;
  
  enum CPerson1_PhoneType {
    CPerson1_PhoneType_MOBILE = 0,
    CPerson1_PhoneType_HOME = 1,
    CPerson1_PhoneType_WORK = 2
  };
  bool CPerson1_PhoneType_IsValid(int value);
  const CPerson1_PhoneType CPerson1_PhoneType_PhoneType_MIN = CPerson1_PhoneType_MOBILE;
  const CPerson1_PhoneType CPerson1_PhoneType_PhoneType_MAX = CPerson1_PhoneType_WORK;
  const int CPerson1_PhoneType_PhoneType_ARRAYSIZE = CPerson1_PhoneType_PhoneType_MAX + 1;
  
  const ::google::protobuf::EnumDescriptor* CPerson1_PhoneType_descriptor();
  inline const ::std::string& CPerson1_PhoneType_Name(CPerson1_PhoneType value) {
    return ::google::protobuf::internal::NameOfEnum(
      CPerson1_PhoneType_descriptor(), value);
  }
  inline bool CPerson1_PhoneType_Parse(
      const ::std::string& name, CPerson1_PhoneType* value) {
    return ::google::protobuf::internal::ParseNamedEnum<CPerson1_PhoneType>(
      CPerson1_PhoneType_descriptor(), name, value);
  }
  // ===================================================================
  
  class CPerson1_PhoneNumber : public ::google::protobuf::Message {
   public:
    CPerson1_PhoneNumber();
    virtual ~CPerson1_PhoneNumber();
  
    CPerson1_PhoneNumber(const CPerson1_PhoneNumber& from);
  
    inline CPerson1_PhoneNumber& operator=(const CPerson1_PhoneNumber& 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 CPerson1_PhoneNumber& default_instance();
  
    void Swap(CPerson1_PhoneNumber* other);
  
    // implements Message ----------------------------------------------
  
    CPerson1_PhoneNumber* New() const;
    void CopyFrom(const ::google::protobuf::Message& from);
    void MergeFrom(const ::google::protobuf::Message& from);
    void CopyFrom(const CPerson1_PhoneNumber& from);
    void MergeFrom(const CPerson1_PhoneNumber& 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 -------------------------------------------------------
  
    // required string number = 1;
    inline bool has_number() const;
    inline void clear_number();
    static const int kNumberFieldNumber = 1;
    inline const ::std::string& number() const;
    inline void set_number(const ::std::string& value);
    inline void set_number(const char* value);
    inline void set_number(const char* value, size_t size);
    inline ::std::string* mutable_number();
    inline ::std::string* release_number();
    inline void set_allocated_number(::std::string* number);
  
    // optional .CPerson1.PhoneType type = 2 [default = HOME];
    inline bool has_type() const;
    inline void clear_type();
    static const int kTypeFieldNumber = 2;
    inline ::CPerson1_PhoneType type() const;
    inline void set_type(::CPerson1_PhoneType value);
  
    // @@protoc_insertion_point(class_scope:CPerson1.PhoneNumber)
   private:
    inline void set_has_number();
    inline void clear_has_number();
    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_;
    ::std::string* number_;
    int type_;
    friend void  protobuf_AddDesc_CPerson1_2eproto();
    friend void protobuf_AssignDesc_CPerson1_2eproto();
    friend void protobuf_ShutdownFile_CPerson1_2eproto();
  
    void InitAsDefaultInstance();
    static CPerson1_PhoneNumber* default_instance_;
  };
  // -------------------------------------------------------------------
  
  class CPerson1 : public ::google::protobuf::Message {
   public:
    CPerson1();
    virtual ~CPerson1();
  
    CPerson1(const CPerson1& from);
  
    inline CPerson1& operator=(const CPerson1& 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 CPerson1& default_instance();
  
    void Swap(CPerson1* other);
  
    // implements Message ----------------------------------------------
  
    CPerson1* New() const;
    void CopyFrom(const ::google::protobuf::Message& from);
    void MergeFrom(const ::google::protobuf::Message& from);
    void CopyFrom(const CPerson1& from);
    void MergeFrom(const CPerson1& 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 ----------------------------------------------------
  
    typedef CPerson1_PhoneNumber PhoneNumber;
  
    typedef CPerson1_PhoneType PhoneType;
    static const PhoneType MOBILE = CPerson1_PhoneType_MOBILE;
    static const PhoneType HOME = CPerson1_PhoneType_HOME;
    static const PhoneType WORK = CPerson1_PhoneType_WORK;
    static inline bool PhoneType_IsValid(int value) {
      return CPerson1_PhoneType_IsValid(value);
    }
    static const PhoneType PhoneType_MIN =
      CPerson1_PhoneType_PhoneType_MIN;
    static const PhoneType PhoneType_MAX =
      CPerson1_PhoneType_PhoneType_MAX;
    static const int PhoneType_ARRAYSIZE =
      CPerson1_PhoneType_PhoneType_ARRAYSIZE;
    static inline const ::google::protobuf::EnumDescriptor*
    PhoneType_descriptor() {
      return CPerson1_PhoneType_descriptor();
    }
    static inline const ::std::string& PhoneType_Name(PhoneType value) {
      return CPerson1_PhoneType_Name(value);
    }
    static inline bool PhoneType_Parse(const ::std::string& name,
        PhoneType* value) {
      return CPerson1_PhoneType_Parse(name, value);
    }
  
    // accessors -------------------------------------------------------
  
    // required string name = 1;
    inline bool has_name() const;
    inline void clear_name();
    static const int kNameFieldNumber = 1;
    inline const ::std::string& name() const;
    inline void set_name(const ::std::string& value);
    inline void set_name(const char* value);
    inline void set_name(const char* value, size_t size);
    inline ::std::string* mutable_name();
    inline ::std::string* release_name();
    inline void set_allocated_name(::std::string* name);
  
    // required int32 id = 2;
    inline bool has_id() const;
    inline void clear_id();
    static const int kIdFieldNumber = 2;
    inline ::google::protobuf::int32 id() const;
    inline void set_id(::google::protobuf::int32 value);
  
    // optional string email = 3;
    inline bool has_email() const;
    inline void clear_email();
    static const int kEmailFieldNumber = 3;
    inline const ::std::string& email() const;
    inline void set_email(const ::std::string& value);
    inline void set_email(const char* value);
    inline void set_email(const char* value, size_t size);
    inline ::std::string* mutable_email();
    inline ::std::string* release_email();
    inline void set_allocated_email(::std::string* email);
  
    // repeated .CPerson1.PhoneNumber phone = 4;
    inline int phone_size() const;
    inline void clear_phone();
    static const int kPhoneFieldNumber = 4;
    inline const ::CPerson1_PhoneNumber& phone(int index) const;
    inline ::CPerson1_PhoneNumber* mutable_phone(int index);
    inline ::CPerson1_PhoneNumber* add_phone();
    inline const ::google::protobuf::RepeatedPtrField< ::CPerson1_PhoneNumber >&
        phone() const;
    inline ::google::protobuf::RepeatedPtrField< ::CPerson1_PhoneNumber >*
        mutable_phone();
  
    // @@protoc_insertion_point(class_scope:CPerson1)
   private:
    inline void set_has_name();
    inline void clear_has_name();
    inline void set_has_id();
    inline void clear_has_id();
    inline void set_has_email();
    inline void clear_has_email();
  
    ::google::protobuf::UnknownFieldSet _unknown_fields_;
  
    ::google::protobuf::uint32 _has_bits_[1];
    mutable int _cached_size_;
    ::std::string* name_;
    ::std::string* email_;
    ::google::protobuf::RepeatedPtrField< ::CPerson1_PhoneNumber > phone_;
    ::google::protobuf::int32 id_;
    friend void  protobuf_AddDesc_CPerson1_2eproto();
    friend void protobuf_AssignDesc_CPerson1_2eproto();
    friend void protobuf_ShutdownFile_CPerson1_2eproto();
  
    void InitAsDefaultInstance();
    static CPerson1* default_instance_;
  };
  // ===================================================================
  
  
  // ===================================================================
  
  // CPerson1_PhoneNumber
  
  // required string number = 1;
  inline bool CPerson1_PhoneNumber::has_number() const {
    return (_has_bits_[0] & 0x00000001u) != 0;
  }
  inline void CPerson1_PhoneNumber::set_has_number() {
    _has_bits_[0] |= 0x00000001u;
  }
  inline void CPerson1_PhoneNumber::clear_has_number() {
    _has_bits_[0] &= ~0x00000001u;
  }
  inline void CPerson1_PhoneNumber::clear_number() {
    if (number_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      number_->clear();
    }
    clear_has_number();
  }
  inline const ::std::string& CPerson1_PhoneNumber::number() const {
    // @@protoc_insertion_point(field_get:CPerson1.PhoneNumber.number)
    return *number_;
  }
  inline void CPerson1_PhoneNumber::set_number(const ::std::string& value) {
    set_has_number();
    if (number_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      number_ = new ::std::string;
    }
    number_->assign(value);
    // @@protoc_insertion_point(field_set:CPerson1.PhoneNumber.number)
  }
  inline void CPerson1_PhoneNumber::set_number(const char* value) {
    set_has_number();
    if (number_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      number_ = new ::std::string;
    }
    number_->assign(value);
    // @@protoc_insertion_point(field_set_char:CPerson1.PhoneNumber.number)
  }
  inline void CPerson1_PhoneNumber::set_number(const char* value, size_t size) {
    set_has_number();
    if (number_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      number_ = new ::std::string;
    }
    number_->assign(reinterpret_cast<const char*>(value), size);
    // @@protoc_insertion_point(field_set_pointer:CPerson1.PhoneNumber.number)
  }
  inline ::std::string* CPerson1_PhoneNumber::mutable_number() {
    set_has_number();
    if (number_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      number_ = new ::std::string;
    }
    // @@protoc_insertion_point(field_mutable:CPerson1.PhoneNumber.number)
    return number_;
  }
  inline ::std::string* CPerson1_PhoneNumber::release_number() {
    clear_has_number();
    if (number_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      return NULL;
    } else {
      ::std::string* temp = number_;
      number_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
      return temp;
    }
  }
  inline void CPerson1_PhoneNumber::set_allocated_number(::std::string* number) {
    if (number_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete number_;
    }
    if (number) {
      set_has_number();
      number_ = number;
    } else {
      clear_has_number();
      number_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    // @@protoc_insertion_point(field_set_allocated:CPerson1.PhoneNumber.number)
  }
  
  // optional .CPerson1.PhoneType type = 2 [default = HOME];
  inline bool CPerson1_PhoneNumber::has_type() const {
    return (_has_bits_[0] & 0x00000002u) != 0;
  }
  inline void CPerson1_PhoneNumber::set_has_type() {
    _has_bits_[0] |= 0x00000002u;
  }
  inline void CPerson1_PhoneNumber::clear_has_type() {
    _has_bits_[0] &= ~0x00000002u;
  }
  inline void CPerson1_PhoneNumber::clear_type() {
    type_ = 1;
    clear_has_type();
  }
  inline ::CPerson1_PhoneType CPerson1_PhoneNumber::type() const {
    // @@protoc_insertion_point(field_get:CPerson1.PhoneNumber.type)
    return static_cast< ::CPerson1_PhoneType >(type_);
  }
  inline void CPerson1_PhoneNumber::set_type(::CPerson1_PhoneType value) {
    assert(::CPerson1_PhoneType_IsValid(value));
    set_has_type();
    type_ = value;
    // @@protoc_insertion_point(field_set:CPerson1.PhoneNumber.type)
  }
  
  // -------------------------------------------------------------------
  
  // CPerson1
  
  // required string name = 1;
  inline bool CPerson1::has_name() const {
    return (_has_bits_[0] & 0x00000001u) != 0;
  }
  inline void CPerson1::set_has_name() {
    _has_bits_[0] |= 0x00000001u;
  }
  inline void CPerson1::clear_has_name() {
    _has_bits_[0] &= ~0x00000001u;
  }
  inline void CPerson1::clear_name() {
    if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      name_->clear();
    }
    clear_has_name();
  }
  inline const ::std::string& CPerson1::name() const {
    // @@protoc_insertion_point(field_get:CPerson1.name)
    return *name_;
  }
  inline void CPerson1::set_name(const ::std::string& value) {
    set_has_name();
    if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      name_ = new ::std::string;
    }
    name_->assign(value);
    // @@protoc_insertion_point(field_set:CPerson1.name)
  }
  inline void CPerson1::set_name(const char* value) {
    set_has_name();
    if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      name_ = new ::std::string;
    }
    name_->assign(value);
    // @@protoc_insertion_point(field_set_char:CPerson1.name)
  }
  inline void CPerson1::set_name(const char* value, size_t size) {
    set_has_name();
    if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      name_ = new ::std::string;
    }
    name_->assign(reinterpret_cast<const char*>(value), size);
    // @@protoc_insertion_point(field_set_pointer:CPerson1.name)
  }
  inline ::std::string* CPerson1::mutable_name() {
    set_has_name();
    if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      name_ = new ::std::string;
    }
    // @@protoc_insertion_point(field_mutable:CPerson1.name)
    return name_;
  }
  inline ::std::string* CPerson1::release_name() {
    clear_has_name();
    if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      return NULL;
    } else {
      ::std::string* temp = name_;
      name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
      return temp;
    }
  }
  inline void CPerson1::set_allocated_name(::std::string* name) {
    if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete name_;
    }
    if (name) {
      set_has_name();
      name_ = name;
    } else {
      clear_has_name();
      name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    // @@protoc_insertion_point(field_set_allocated:CPerson1.name)
  }
  
  // required int32 id = 2;
  inline bool CPerson1::has_id() const {
    return (_has_bits_[0] & 0x00000002u) != 0;
  }
  inline void CPerson1::set_has_id() {
    _has_bits_[0] |= 0x00000002u;
  }
  inline void CPerson1::clear_has_id() {
    _has_bits_[0] &= ~0x00000002u;
  }
  inline void CPerson1::clear_id() {
    id_ = 0;
    clear_has_id();
  }
  inline ::google::protobuf::int32 CPerson1::id() const {
    // @@protoc_insertion_point(field_get:CPerson1.id)
    return id_;
  }
  inline void CPerson1::set_id(::google::protobuf::int32 value) {
    set_has_id();
    id_ = value;
    // @@protoc_insertion_point(field_set:CPerson1.id)
  }
  
  // optional string email = 3;
  inline bool CPerson1::has_email() const {
    return (_has_bits_[0] & 0x00000004u) != 0;
  }
  inline void CPerson1::set_has_email() {
    _has_bits_[0] |= 0x00000004u;
  }
  inline void CPerson1::clear_has_email() {
    _has_bits_[0] &= ~0x00000004u;
  }
  inline void CPerson1::clear_email() {
    if (email_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      email_->clear();
    }
    clear_has_email();
  }
  inline const ::std::string& CPerson1::email() const {
    // @@protoc_insertion_point(field_get:CPerson1.email)
    return *email_;
  }
  inline void CPerson1::set_email(const ::std::string& value) {
    set_has_email();
    if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      email_ = new ::std::string;
    }
    email_->assign(value);
    // @@protoc_insertion_point(field_set:CPerson1.email)
  }
  inline void CPerson1::set_email(const char* value) {
    set_has_email();
    if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      email_ = new ::std::string;
    }
    email_->assign(value);
    // @@protoc_insertion_point(field_set_char:CPerson1.email)
  }
  inline void CPerson1::set_email(const char* value, size_t size) {
    set_has_email();
    if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      email_ = new ::std::string;
    }
    email_->assign(reinterpret_cast<const char*>(value), size);
    // @@protoc_insertion_point(field_set_pointer:CPerson1.email)
  }
  inline ::std::string* CPerson1::mutable_email() {
    set_has_email();
    if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      email_ = new ::std::string;
    }
    // @@protoc_insertion_point(field_mutable:CPerson1.email)
    return email_;
  }
  inline ::std::string* CPerson1::release_email() {
    clear_has_email();
    if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      return NULL;
    } else {
      ::std::string* temp = email_;
      email_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
      return temp;
    }
  }
  inline void CPerson1::set_allocated_email(::std::string* email) {
    if (email_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
      delete email_;
    }
    if (email) {
      set_has_email();
      email_ = email;
    } else {
      clear_has_email();
      email_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    // @@protoc_insertion_point(field_set_allocated:CPerson1.email)
  }
  
  // repeated .CPerson1.PhoneNumber phone = 4;
  inline int CPerson1::phone_size() const {
    return phone_.size();
  }
  inline void CPerson1::clear_phone() {
    phone_.Clear();
  }
  inline const ::CPerson1_PhoneNumber& CPerson1::phone(int index) const {
    // @@protoc_insertion_point(field_get:CPerson1.phone)
    return phone_.Get(index);
  }
  inline ::CPerson1_PhoneNumber* CPerson1::mutable_phone(int index) {
    // @@protoc_insertion_point(field_mutable:CPerson1.phone)
    return phone_.Mutable(index);
  }
  inline ::CPerson1_PhoneNumber* CPerson1::add_phone() {
    // @@protoc_insertion_point(field_add:CPerson1.phone)
    return phone_.Add();
  }
  inline const ::google::protobuf::RepeatedPtrField< ::CPerson1_PhoneNumber >&
  CPerson1::phone() const {
    // @@protoc_insertion_point(field_list:CPerson1.phone)
    return phone_;
  }
  inline ::google::protobuf::RepeatedPtrField< ::CPerson1_PhoneNumber >*
  CPerson1::mutable_phone() {
    // @@protoc_insertion_point(field_mutable_list:CPerson1.phone)
    return &phone_;
  }
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  #ifndef SWIG
  namespace google {
  namespace protobuf {
  
  template <> struct is_proto_enum< ::CPerson1_PhoneType> : ::google::protobuf::internal::true_type {};
  template <>
  inline const EnumDescriptor* GetEnumDescriptor< ::CPerson1_PhoneType>() {
    return ::CPerson1_PhoneType_descriptor();
  }
  
  }  // namespace google
  }  // namespace protobuf
  #endif  // SWIG
  
  // @@protoc_insertion_point(global_scope)
  
  #endif  // PROTOBUF_CPerson1_2eproto__INCLUDED
  