// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/protobuf/unittest_lite.proto

#ifndef PROTOBUF_google_2fprotobuf_2funittest_5flite_2eproto__INCLUDED
#define PROTOBUF_google_2fprotobuf_2funittest_5flite_2eproto__INCLUDED

#include <string>

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

#if GOOGLE_PROTOBUF_VERSION < 2004000
#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 2004001 < 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/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include "google/protobuf/unittest_import_lite.pb.h"
// @@protoc_insertion_point(includes)

namespace protobuf_unittest {

// Internal implementation detail -- do not call these.
void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();

class TestAllTypesLite;
class TestAllTypesLite_NestedMessage;
class TestAllTypesLite_OptionalGroup;
class TestAllTypesLite_RepeatedGroup;
class ForeignMessageLite;
class TestPackedTypesLite;
class TestAllExtensionsLite;
class OptionalGroup_extension_lite;
class RepeatedGroup_extension_lite;
class TestPackedExtensionsLite;
class TestNestedExtensionLite;
class TestDeprecatedLite;

enum TestAllTypesLite_NestedEnum {
  TestAllTypesLite_NestedEnum_FOO = 1,
  TestAllTypesLite_NestedEnum_BAR = 2,
  TestAllTypesLite_NestedEnum_BAZ = 3
};
bool TestAllTypesLite_NestedEnum_IsValid(int value);
const TestAllTypesLite_NestedEnum TestAllTypesLite_NestedEnum_NestedEnum_MIN = TestAllTypesLite_NestedEnum_FOO;
const TestAllTypesLite_NestedEnum TestAllTypesLite_NestedEnum_NestedEnum_MAX = TestAllTypesLite_NestedEnum_BAZ;
const int TestAllTypesLite_NestedEnum_NestedEnum_ARRAYSIZE = TestAllTypesLite_NestedEnum_NestedEnum_MAX + 1;

enum ForeignEnumLite {
  FOREIGN_LITE_FOO = 4,
  FOREIGN_LITE_BAR = 5,
  FOREIGN_LITE_BAZ = 6
};
bool ForeignEnumLite_IsValid(int value);
const ForeignEnumLite ForeignEnumLite_MIN = FOREIGN_LITE_FOO;
const ForeignEnumLite ForeignEnumLite_MAX = FOREIGN_LITE_BAZ;
const int ForeignEnumLite_ARRAYSIZE = ForeignEnumLite_MAX + 1;

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

class TestAllTypesLite_NestedMessage : public ::google::protobuf::MessageLite {
 public:
  TestAllTypesLite_NestedMessage();
  virtual ~TestAllTypesLite_NestedMessage();
  
  TestAllTypesLite_NestedMessage(const TestAllTypesLite_NestedMessage& from);
  
  inline TestAllTypesLite_NestedMessage& operator=(const TestAllTypesLite_NestedMessage& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestAllTypesLite_NestedMessage& default_instance();
  
  void Swap(TestAllTypesLite_NestedMessage* other);
  
  // implements Message ----------------------------------------------
  
  TestAllTypesLite_NestedMessage* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestAllTypesLite_NestedMessage& from);
  void MergeFrom(const TestAllTypesLite_NestedMessage& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // optional int32 bb = 1;
  inline bool has_bb() const;
  inline void clear_bb();
  static const int kBbFieldNumber = 1;
  inline ::google::protobuf::int32 bb() const;
  inline void set_bb(::google::protobuf::int32 value);
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllTypesLite.NestedMessage)
 private:
  inline void set_has_bb();
  inline void clear_has_bb();
  
  ::google::protobuf::int32 bb_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestAllTypesLite_NestedMessage* default_instance_;
};
// -------------------------------------------------------------------

class TestAllTypesLite_OptionalGroup : public ::google::protobuf::MessageLite {
 public:
  TestAllTypesLite_OptionalGroup();
  virtual ~TestAllTypesLite_OptionalGroup();
  
  TestAllTypesLite_OptionalGroup(const TestAllTypesLite_OptionalGroup& from);
  
  inline TestAllTypesLite_OptionalGroup& operator=(const TestAllTypesLite_OptionalGroup& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestAllTypesLite_OptionalGroup& default_instance();
  
  void Swap(TestAllTypesLite_OptionalGroup* other);
  
  // implements Message ----------------------------------------------
  
  TestAllTypesLite_OptionalGroup* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestAllTypesLite_OptionalGroup& from);
  void MergeFrom(const TestAllTypesLite_OptionalGroup& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // optional int32 a = 17;
  inline bool has_a() const;
  inline void clear_a();
  static const int kAFieldNumber = 17;
  inline ::google::protobuf::int32 a() const;
  inline void set_a(::google::protobuf::int32 value);
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllTypesLite.OptionalGroup)
 private:
  inline void set_has_a();
  inline void clear_has_a();
  
  ::google::protobuf::int32 a_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestAllTypesLite_OptionalGroup* default_instance_;
};
// -------------------------------------------------------------------

class TestAllTypesLite_RepeatedGroup : public ::google::protobuf::MessageLite {
 public:
  TestAllTypesLite_RepeatedGroup();
  virtual ~TestAllTypesLite_RepeatedGroup();
  
  TestAllTypesLite_RepeatedGroup(const TestAllTypesLite_RepeatedGroup& from);
  
  inline TestAllTypesLite_RepeatedGroup& operator=(const TestAllTypesLite_RepeatedGroup& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestAllTypesLite_RepeatedGroup& default_instance();
  
  void Swap(TestAllTypesLite_RepeatedGroup* other);
  
  // implements Message ----------------------------------------------
  
  TestAllTypesLite_RepeatedGroup* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestAllTypesLite_RepeatedGroup& from);
  void MergeFrom(const TestAllTypesLite_RepeatedGroup& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // optional int32 a = 47;
  inline bool has_a() const;
  inline void clear_a();
  static const int kAFieldNumber = 47;
  inline ::google::protobuf::int32 a() const;
  inline void set_a(::google::protobuf::int32 value);
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllTypesLite.RepeatedGroup)
 private:
  inline void set_has_a();
  inline void clear_has_a();
  
  ::google::protobuf::int32 a_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestAllTypesLite_RepeatedGroup* default_instance_;
};
// -------------------------------------------------------------------

class TestAllTypesLite : public ::google::protobuf::MessageLite {
 public:
  TestAllTypesLite();
  virtual ~TestAllTypesLite();
  
  TestAllTypesLite(const TestAllTypesLite& from);
  
  inline TestAllTypesLite& operator=(const TestAllTypesLite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestAllTypesLite& default_instance();
  
  void Swap(TestAllTypesLite* other);
  
  // implements Message ----------------------------------------------
  
  TestAllTypesLite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestAllTypesLite& from);
  void MergeFrom(const TestAllTypesLite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  typedef TestAllTypesLite_NestedMessage NestedMessage;
  typedef TestAllTypesLite_OptionalGroup OptionalGroup;
  typedef TestAllTypesLite_RepeatedGroup RepeatedGroup;
  
  typedef TestAllTypesLite_NestedEnum NestedEnum;
  static const NestedEnum FOO = TestAllTypesLite_NestedEnum_FOO;
  static const NestedEnum BAR = TestAllTypesLite_NestedEnum_BAR;
  static const NestedEnum BAZ = TestAllTypesLite_NestedEnum_BAZ;
  static inline bool NestedEnum_IsValid(int value) {
    return TestAllTypesLite_NestedEnum_IsValid(value);
  }
  static const NestedEnum NestedEnum_MIN =
    TestAllTypesLite_NestedEnum_NestedEnum_MIN;
  static const NestedEnum NestedEnum_MAX =
    TestAllTypesLite_NestedEnum_NestedEnum_MAX;
  static const int NestedEnum_ARRAYSIZE =
    TestAllTypesLite_NestedEnum_NestedEnum_ARRAYSIZE;
  
  // accessors -------------------------------------------------------
  
  // optional int32 optional_int32 = 1;
  inline bool has_optional_int32() const;
  inline void clear_optional_int32();
  static const int kOptionalInt32FieldNumber = 1;
  inline ::google::protobuf::int32 optional_int32() const;
  inline void set_optional_int32(::google::protobuf::int32 value);
  
  // optional int64 optional_int64 = 2;
  inline bool has_optional_int64() const;
  inline void clear_optional_int64();
  static const int kOptionalInt64FieldNumber = 2;
  inline ::google::protobuf::int64 optional_int64() const;
  inline void set_optional_int64(::google::protobuf::int64 value);
  
  // optional uint32 optional_uint32 = 3;
  inline bool has_optional_uint32() const;
  inline void clear_optional_uint32();
  static const int kOptionalUint32FieldNumber = 3;
  inline ::google::protobuf::uint32 optional_uint32() const;
  inline void set_optional_uint32(::google::protobuf::uint32 value);
  
  // optional uint64 optional_uint64 = 4;
  inline bool has_optional_uint64() const;
  inline void clear_optional_uint64();
  static const int kOptionalUint64FieldNumber = 4;
  inline ::google::protobuf::uint64 optional_uint64() const;
  inline void set_optional_uint64(::google::protobuf::uint64 value);
  
  // optional sint32 optional_sint32 = 5;
  inline bool has_optional_sint32() const;
  inline void clear_optional_sint32();
  static const int kOptionalSint32FieldNumber = 5;
  inline ::google::protobuf::int32 optional_sint32() const;
  inline void set_optional_sint32(::google::protobuf::int32 value);
  
  // optional sint64 optional_sint64 = 6;
  inline bool has_optional_sint64() const;
  inline void clear_optional_sint64();
  static const int kOptionalSint64FieldNumber = 6;
  inline ::google::protobuf::int64 optional_sint64() const;
  inline void set_optional_sint64(::google::protobuf::int64 value);
  
  // optional fixed32 optional_fixed32 = 7;
  inline bool has_optional_fixed32() const;
  inline void clear_optional_fixed32();
  static const int kOptionalFixed32FieldNumber = 7;
  inline ::google::protobuf::uint32 optional_fixed32() const;
  inline void set_optional_fixed32(::google::protobuf::uint32 value);
  
  // optional fixed64 optional_fixed64 = 8;
  inline bool has_optional_fixed64() const;
  inline void clear_optional_fixed64();
  static const int kOptionalFixed64FieldNumber = 8;
  inline ::google::protobuf::uint64 optional_fixed64() const;
  inline void set_optional_fixed64(::google::protobuf::uint64 value);
  
  // optional sfixed32 optional_sfixed32 = 9;
  inline bool has_optional_sfixed32() const;
  inline void clear_optional_sfixed32();
  static const int kOptionalSfixed32FieldNumber = 9;
  inline ::google::protobuf::int32 optional_sfixed32() const;
  inline void set_optional_sfixed32(::google::protobuf::int32 value);
  
  // optional sfixed64 optional_sfixed64 = 10;
  inline bool has_optional_sfixed64() const;
  inline void clear_optional_sfixed64();
  static const int kOptionalSfixed64FieldNumber = 10;
  inline ::google::protobuf::int64 optional_sfixed64() const;
  inline void set_optional_sfixed64(::google::protobuf::int64 value);
  
  // optional float optional_float = 11;
  inline bool has_optional_float() const;
  inline void clear_optional_float();
  static const int kOptionalFloatFieldNumber = 11;
  inline float optional_float() const;
  inline void set_optional_float(float value);
  
  // optional double optional_double = 12;
  inline bool has_optional_double() const;
  inline void clear_optional_double();
  static const int kOptionalDoubleFieldNumber = 12;
  inline double optional_double() const;
  inline void set_optional_double(double value);
  
  // optional bool optional_bool = 13;
  inline bool has_optional_bool() const;
  inline void clear_optional_bool();
  static const int kOptionalBoolFieldNumber = 13;
  inline bool optional_bool() const;
  inline void set_optional_bool(bool value);
  
  // optional string optional_string = 14;
  inline bool has_optional_string() const;
  inline void clear_optional_string();
  static const int kOptionalStringFieldNumber = 14;
  inline const ::std::string& optional_string() const;
  inline void set_optional_string(const ::std::string& value);
  inline void set_optional_string(const char* value);
  inline void set_optional_string(const char* value, size_t size);
  inline ::std::string* mutable_optional_string();
  inline ::std::string* release_optional_string();
  
  // optional bytes optional_bytes = 15;
  inline bool has_optional_bytes() const;
  inline void clear_optional_bytes();
  static const int kOptionalBytesFieldNumber = 15;
  inline const ::std::string& optional_bytes() const;
  inline void set_optional_bytes(const ::std::string& value);
  inline void set_optional_bytes(const char* value);
  inline void set_optional_bytes(const void* value, size_t size);
  inline ::std::string* mutable_optional_bytes();
  inline ::std::string* release_optional_bytes();
  
  // optional group OptionalGroup = 16 {
  inline bool has_optionalgroup() const;
  inline void clear_optionalgroup();
  static const int kOptionalgroupFieldNumber = 16;
  inline const ::protobuf_unittest::TestAllTypesLite_OptionalGroup& optionalgroup() const;
  inline ::protobuf_unittest::TestAllTypesLite_OptionalGroup* mutable_optionalgroup();
  inline ::protobuf_unittest::TestAllTypesLite_OptionalGroup* release_optionalgroup();
  
  // optional .protobuf_unittest.TestAllTypesLite.NestedMessage optional_nested_message = 18;
  inline bool has_optional_nested_message() const;
  inline void clear_optional_nested_message();
  static const int kOptionalNestedMessageFieldNumber = 18;
  inline const ::protobuf_unittest::TestAllTypesLite_NestedMessage& optional_nested_message() const;
  inline ::protobuf_unittest::TestAllTypesLite_NestedMessage* mutable_optional_nested_message();
  inline ::protobuf_unittest::TestAllTypesLite_NestedMessage* release_optional_nested_message();
  
  // optional .protobuf_unittest.ForeignMessageLite optional_foreign_message = 19;
  inline bool has_optional_foreign_message() const;
  inline void clear_optional_foreign_message();
  static const int kOptionalForeignMessageFieldNumber = 19;
  inline const ::protobuf_unittest::ForeignMessageLite& optional_foreign_message() const;
  inline ::protobuf_unittest::ForeignMessageLite* mutable_optional_foreign_message();
  inline ::protobuf_unittest::ForeignMessageLite* release_optional_foreign_message();
  
  // optional .protobuf_unittest_import.ImportMessageLite optional_import_message = 20;
  inline bool has_optional_import_message() const;
  inline void clear_optional_import_message();
  static const int kOptionalImportMessageFieldNumber = 20;
  inline const ::protobuf_unittest_import::ImportMessageLite& optional_import_message() const;
  inline ::protobuf_unittest_import::ImportMessageLite* mutable_optional_import_message();
  inline ::protobuf_unittest_import::ImportMessageLite* release_optional_import_message();
  
  // optional .protobuf_unittest.TestAllTypesLite.NestedEnum optional_nested_enum = 21;
  inline bool has_optional_nested_enum() const;
  inline void clear_optional_nested_enum();
  static const int kOptionalNestedEnumFieldNumber = 21;
  inline ::protobuf_unittest::TestAllTypesLite_NestedEnum optional_nested_enum() const;
  inline void set_optional_nested_enum(::protobuf_unittest::TestAllTypesLite_NestedEnum value);
  
  // optional .protobuf_unittest.ForeignEnumLite optional_foreign_enum = 22;
  inline bool has_optional_foreign_enum() const;
  inline void clear_optional_foreign_enum();
  static const int kOptionalForeignEnumFieldNumber = 22;
  inline protobuf_unittest::ForeignEnumLite optional_foreign_enum() const;
  inline void set_optional_foreign_enum(protobuf_unittest::ForeignEnumLite value);
  
  // optional .protobuf_unittest_import.ImportEnumLite optional_import_enum = 23;
  inline bool has_optional_import_enum() const;
  inline void clear_optional_import_enum();
  static const int kOptionalImportEnumFieldNumber = 23;
  inline protobuf_unittest_import::ImportEnumLite optional_import_enum() const;
  inline void set_optional_import_enum(protobuf_unittest_import::ImportEnumLite value);
  
  // optional string optional_string_piece = 24 [ctype = STRING_PIECE];
  inline bool has_optional_string_piece() const;
  inline void clear_optional_string_piece();
  static const int kOptionalStringPieceFieldNumber = 24;
 private:
  // Hidden due to unknown ctype option.
  inline const ::std::string& optional_string_piece() const;
  inline void set_optional_string_piece(const ::std::string& value);
  inline void set_optional_string_piece(const char* value);
  inline void set_optional_string_piece(const char* value, size_t size);
  inline ::std::string* mutable_optional_string_piece();
  inline ::std::string* release_optional_string_piece();
 public:
  
  // optional string optional_cord = 25 [ctype = CORD];
  inline bool has_optional_cord() const;
  inline void clear_optional_cord();
  static const int kOptionalCordFieldNumber = 25;
 private:
  // Hidden due to unknown ctype option.
  inline const ::std::string& optional_cord() const;
  inline void set_optional_cord(const ::std::string& value);
  inline void set_optional_cord(const char* value);
  inline void set_optional_cord(const char* value, size_t size);
  inline ::std::string* mutable_optional_cord();
  inline ::std::string* release_optional_cord();
 public:
  
  // repeated int32 repeated_int32 = 31;
  inline int repeated_int32_size() const;
  inline void clear_repeated_int32();
  static const int kRepeatedInt32FieldNumber = 31;
  inline ::google::protobuf::int32 repeated_int32(int index) const;
  inline void set_repeated_int32(int index, ::google::protobuf::int32 value);
  inline void add_repeated_int32(::google::protobuf::int32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
      repeated_int32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
      mutable_repeated_int32();
  
  // repeated int64 repeated_int64 = 32;
  inline int repeated_int64_size() const;
  inline void clear_repeated_int64();
  static const int kRepeatedInt64FieldNumber = 32;
  inline ::google::protobuf::int64 repeated_int64(int index) const;
  inline void set_repeated_int64(int index, ::google::protobuf::int64 value);
  inline void add_repeated_int64(::google::protobuf::int64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
      repeated_int64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
      mutable_repeated_int64();
  
  // repeated uint32 repeated_uint32 = 33;
  inline int repeated_uint32_size() const;
  inline void clear_repeated_uint32();
  static const int kRepeatedUint32FieldNumber = 33;
  inline ::google::protobuf::uint32 repeated_uint32(int index) const;
  inline void set_repeated_uint32(int index, ::google::protobuf::uint32 value);
  inline void add_repeated_uint32(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      repeated_uint32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_repeated_uint32();
  
  // repeated uint64 repeated_uint64 = 34;
  inline int repeated_uint64_size() const;
  inline void clear_repeated_uint64();
  static const int kRepeatedUint64FieldNumber = 34;
  inline ::google::protobuf::uint64 repeated_uint64(int index) const;
  inline void set_repeated_uint64(int index, ::google::protobuf::uint64 value);
  inline void add_repeated_uint64(::google::protobuf::uint64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
      repeated_uint64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
      mutable_repeated_uint64();
  
  // repeated sint32 repeated_sint32 = 35;
  inline int repeated_sint32_size() const;
  inline void clear_repeated_sint32();
  static const int kRepeatedSint32FieldNumber = 35;
  inline ::google::protobuf::int32 repeated_sint32(int index) const;
  inline void set_repeated_sint32(int index, ::google::protobuf::int32 value);
  inline void add_repeated_sint32(::google::protobuf::int32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
      repeated_sint32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
      mutable_repeated_sint32();
  
  // repeated sint64 repeated_sint64 = 36;
  inline int repeated_sint64_size() const;
  inline void clear_repeated_sint64();
  static const int kRepeatedSint64FieldNumber = 36;
  inline ::google::protobuf::int64 repeated_sint64(int index) const;
  inline void set_repeated_sint64(int index, ::google::protobuf::int64 value);
  inline void add_repeated_sint64(::google::protobuf::int64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
      repeated_sint64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
      mutable_repeated_sint64();
  
  // repeated fixed32 repeated_fixed32 = 37;
  inline int repeated_fixed32_size() const;
  inline void clear_repeated_fixed32();
  static const int kRepeatedFixed32FieldNumber = 37;
  inline ::google::protobuf::uint32 repeated_fixed32(int index) const;
  inline void set_repeated_fixed32(int index, ::google::protobuf::uint32 value);
  inline void add_repeated_fixed32(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      repeated_fixed32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_repeated_fixed32();
  
  // repeated fixed64 repeated_fixed64 = 38;
  inline int repeated_fixed64_size() const;
  inline void clear_repeated_fixed64();
  static const int kRepeatedFixed64FieldNumber = 38;
  inline ::google::protobuf::uint64 repeated_fixed64(int index) const;
  inline void set_repeated_fixed64(int index, ::google::protobuf::uint64 value);
  inline void add_repeated_fixed64(::google::protobuf::uint64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
      repeated_fixed64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
      mutable_repeated_fixed64();
  
  // repeated sfixed32 repeated_sfixed32 = 39;
  inline int repeated_sfixed32_size() const;
  inline void clear_repeated_sfixed32();
  static const int kRepeatedSfixed32FieldNumber = 39;
  inline ::google::protobuf::int32 repeated_sfixed32(int index) const;
  inline void set_repeated_sfixed32(int index, ::google::protobuf::int32 value);
  inline void add_repeated_sfixed32(::google::protobuf::int32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
      repeated_sfixed32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
      mutable_repeated_sfixed32();
  
  // repeated sfixed64 repeated_sfixed64 = 40;
  inline int repeated_sfixed64_size() const;
  inline void clear_repeated_sfixed64();
  static const int kRepeatedSfixed64FieldNumber = 40;
  inline ::google::protobuf::int64 repeated_sfixed64(int index) const;
  inline void set_repeated_sfixed64(int index, ::google::protobuf::int64 value);
  inline void add_repeated_sfixed64(::google::protobuf::int64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
      repeated_sfixed64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
      mutable_repeated_sfixed64();
  
  // repeated float repeated_float = 41;
  inline int repeated_float_size() const;
  inline void clear_repeated_float();
  static const int kRepeatedFloatFieldNumber = 41;
  inline float repeated_float(int index) const;
  inline void set_repeated_float(int index, float value);
  inline void add_repeated_float(float value);
  inline const ::google::protobuf::RepeatedField< float >&
      repeated_float() const;
  inline ::google::protobuf::RepeatedField< float >*
      mutable_repeated_float();
  
  // repeated double repeated_double = 42;
  inline int repeated_double_size() const;
  inline void clear_repeated_double();
  static const int kRepeatedDoubleFieldNumber = 42;
  inline double repeated_double(int index) const;
  inline void set_repeated_double(int index, double value);
  inline void add_repeated_double(double value);
  inline const ::google::protobuf::RepeatedField< double >&
      repeated_double() const;
  inline ::google::protobuf::RepeatedField< double >*
      mutable_repeated_double();
  
  // repeated bool repeated_bool = 43;
  inline int repeated_bool_size() const;
  inline void clear_repeated_bool();
  static const int kRepeatedBoolFieldNumber = 43;
  inline bool repeated_bool(int index) const;
  inline void set_repeated_bool(int index, bool value);
  inline void add_repeated_bool(bool value);
  inline const ::google::protobuf::RepeatedField< bool >&
      repeated_bool() const;
  inline ::google::protobuf::RepeatedField< bool >*
      mutable_repeated_bool();
  
  // repeated string repeated_string = 44;
  inline int repeated_string_size() const;
  inline void clear_repeated_string();
  static const int kRepeatedStringFieldNumber = 44;
  inline const ::std::string& repeated_string(int index) const;
  inline ::std::string* mutable_repeated_string(int index);
  inline void set_repeated_string(int index, const ::std::string& value);
  inline void set_repeated_string(int index, const char* value);
  inline void set_repeated_string(int index, const char* value, size_t size);
  inline ::std::string* add_repeated_string();
  inline void add_repeated_string(const ::std::string& value);
  inline void add_repeated_string(const char* value);
  inline void add_repeated_string(const char* value, size_t size);
  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& repeated_string() const;
  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_repeated_string();
  
  // repeated bytes repeated_bytes = 45;
  inline int repeated_bytes_size() const;
  inline void clear_repeated_bytes();
  static const int kRepeatedBytesFieldNumber = 45;
  inline const ::std::string& repeated_bytes(int index) const;
  inline ::std::string* mutable_repeated_bytes(int index);
  inline void set_repeated_bytes(int index, const ::std::string& value);
  inline void set_repeated_bytes(int index, const char* value);
  inline void set_repeated_bytes(int index, const void* value, size_t size);
  inline ::std::string* add_repeated_bytes();
  inline void add_repeated_bytes(const ::std::string& value);
  inline void add_repeated_bytes(const char* value);
  inline void add_repeated_bytes(const void* value, size_t size);
  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& repeated_bytes() const;
  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_repeated_bytes();
  
  // repeated group RepeatedGroup = 46 {
  inline int repeatedgroup_size() const;
  inline void clear_repeatedgroup();
  static const int kRepeatedgroupFieldNumber = 46;
  inline const ::protobuf_unittest::TestAllTypesLite_RepeatedGroup& repeatedgroup(int index) const;
  inline ::protobuf_unittest::TestAllTypesLite_RepeatedGroup* mutable_repeatedgroup(int index);
  inline ::protobuf_unittest::TestAllTypesLite_RepeatedGroup* add_repeatedgroup();
  inline const ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_RepeatedGroup >&
      repeatedgroup() const;
  inline ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_RepeatedGroup >*
      mutable_repeatedgroup();
  
  // repeated .protobuf_unittest.TestAllTypesLite.NestedMessage repeated_nested_message = 48;
  inline int repeated_nested_message_size() const;
  inline void clear_repeated_nested_message();
  static const int kRepeatedNestedMessageFieldNumber = 48;
  inline const ::protobuf_unittest::TestAllTypesLite_NestedMessage& repeated_nested_message(int index) const;
  inline ::protobuf_unittest::TestAllTypesLite_NestedMessage* mutable_repeated_nested_message(int index);
  inline ::protobuf_unittest::TestAllTypesLite_NestedMessage* add_repeated_nested_message();
  inline const ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_NestedMessage >&
      repeated_nested_message() const;
  inline ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_NestedMessage >*
      mutable_repeated_nested_message();
  
  // repeated .protobuf_unittest.ForeignMessageLite repeated_foreign_message = 49;
  inline int repeated_foreign_message_size() const;
  inline void clear_repeated_foreign_message();
  static const int kRepeatedForeignMessageFieldNumber = 49;
  inline const ::protobuf_unittest::ForeignMessageLite& repeated_foreign_message(int index) const;
  inline ::protobuf_unittest::ForeignMessageLite* mutable_repeated_foreign_message(int index);
  inline ::protobuf_unittest::ForeignMessageLite* add_repeated_foreign_message();
  inline const ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::ForeignMessageLite >&
      repeated_foreign_message() const;
  inline ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::ForeignMessageLite >*
      mutable_repeated_foreign_message();
  
  // repeated .protobuf_unittest_import.ImportMessageLite repeated_import_message = 50;
  inline int repeated_import_message_size() const;
  inline void clear_repeated_import_message();
  static const int kRepeatedImportMessageFieldNumber = 50;
  inline const ::protobuf_unittest_import::ImportMessageLite& repeated_import_message(int index) const;
  inline ::protobuf_unittest_import::ImportMessageLite* mutable_repeated_import_message(int index);
  inline ::protobuf_unittest_import::ImportMessageLite* add_repeated_import_message();
  inline const ::google::protobuf::RepeatedPtrField< ::protobuf_unittest_import::ImportMessageLite >&
      repeated_import_message() const;
  inline ::google::protobuf::RepeatedPtrField< ::protobuf_unittest_import::ImportMessageLite >*
      mutable_repeated_import_message();
  
  // repeated .protobuf_unittest.TestAllTypesLite.NestedEnum repeated_nested_enum = 51;
  inline int repeated_nested_enum_size() const;
  inline void clear_repeated_nested_enum();
  static const int kRepeatedNestedEnumFieldNumber = 51;
  inline ::protobuf_unittest::TestAllTypesLite_NestedEnum repeated_nested_enum(int index) const;
  inline void set_repeated_nested_enum(int index, ::protobuf_unittest::TestAllTypesLite_NestedEnum value);
  inline void add_repeated_nested_enum(::protobuf_unittest::TestAllTypesLite_NestedEnum value);
  inline const ::google::protobuf::RepeatedField<int>& repeated_nested_enum() const;
  inline ::google::protobuf::RepeatedField<int>* mutable_repeated_nested_enum();
  
  // repeated .protobuf_unittest.ForeignEnumLite repeated_foreign_enum = 52;
  inline int repeated_foreign_enum_size() const;
  inline void clear_repeated_foreign_enum();
  static const int kRepeatedForeignEnumFieldNumber = 52;
  inline protobuf_unittest::ForeignEnumLite repeated_foreign_enum(int index) const;
  inline void set_repeated_foreign_enum(int index, protobuf_unittest::ForeignEnumLite value);
  inline void add_repeated_foreign_enum(protobuf_unittest::ForeignEnumLite value);
  inline const ::google::protobuf::RepeatedField<int>& repeated_foreign_enum() const;
  inline ::google::protobuf::RepeatedField<int>* mutable_repeated_foreign_enum();
  
  // repeated .protobuf_unittest_import.ImportEnumLite repeated_import_enum = 53;
  inline int repeated_import_enum_size() const;
  inline void clear_repeated_import_enum();
  static const int kRepeatedImportEnumFieldNumber = 53;
  inline protobuf_unittest_import::ImportEnumLite repeated_import_enum(int index) const;
  inline void set_repeated_import_enum(int index, protobuf_unittest_import::ImportEnumLite value);
  inline void add_repeated_import_enum(protobuf_unittest_import::ImportEnumLite value);
  inline const ::google::protobuf::RepeatedField<int>& repeated_import_enum() const;
  inline ::google::protobuf::RepeatedField<int>* mutable_repeated_import_enum();
  
  // repeated string repeated_string_piece = 54 [ctype = STRING_PIECE];
  inline int repeated_string_piece_size() const;
  inline void clear_repeated_string_piece();
  static const int kRepeatedStringPieceFieldNumber = 54;
 private:
  // Hidden due to unknown ctype option.
  inline const ::std::string& repeated_string_piece(int index) const;
  inline ::std::string* mutable_repeated_string_piece(int index);
  inline void set_repeated_string_piece(int index, const ::std::string& value);
  inline void set_repeated_string_piece(int index, const char* value);
  inline void set_repeated_string_piece(int index, const char* value, size_t size);
  inline ::std::string* add_repeated_string_piece();
  inline void add_repeated_string_piece(const ::std::string& value);
  inline void add_repeated_string_piece(const char* value);
  inline void add_repeated_string_piece(const char* value, size_t size);
  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& repeated_string_piece() const;
  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_repeated_string_piece();
 public:
  
  // repeated string repeated_cord = 55 [ctype = CORD];
  inline int repeated_cord_size() const;
  inline void clear_repeated_cord();
  static const int kRepeatedCordFieldNumber = 55;
 private:
  // Hidden due to unknown ctype option.
  inline const ::std::string& repeated_cord(int index) const;
  inline ::std::string* mutable_repeated_cord(int index);
  inline void set_repeated_cord(int index, const ::std::string& value);
  inline void set_repeated_cord(int index, const char* value);
  inline void set_repeated_cord(int index, const char* value, size_t size);
  inline ::std::string* add_repeated_cord();
  inline void add_repeated_cord(const ::std::string& value);
  inline void add_repeated_cord(const char* value);
  inline void add_repeated_cord(const char* value, size_t size);
  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& repeated_cord() const;
  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_repeated_cord();
 public:
  
  // optional int32 default_int32 = 61 [default = 41];
  inline bool has_default_int32() const;
  inline void clear_default_int32();
  static const int kDefaultInt32FieldNumber = 61;
  inline ::google::protobuf::int32 default_int32() const;
  inline void set_default_int32(::google::protobuf::int32 value);
  
  // optional int64 default_int64 = 62 [default = 42];
  inline bool has_default_int64() const;
  inline void clear_default_int64();
  static const int kDefaultInt64FieldNumber = 62;
  inline ::google::protobuf::int64 default_int64() const;
  inline void set_default_int64(::google::protobuf::int64 value);
  
  // optional uint32 default_uint32 = 63 [default = 43];
  inline bool has_default_uint32() const;
  inline void clear_default_uint32();
  static const int kDefaultUint32FieldNumber = 63;
  inline ::google::protobuf::uint32 default_uint32() const;
  inline void set_default_uint32(::google::protobuf::uint32 value);
  
  // optional uint64 default_uint64 = 64 [default = 44];
  inline bool has_default_uint64() const;
  inline void clear_default_uint64();
  static const int kDefaultUint64FieldNumber = 64;
  inline ::google::protobuf::uint64 default_uint64() const;
  inline void set_default_uint64(::google::protobuf::uint64 value);
  
  // optional sint32 default_sint32 = 65 [default = -45];
  inline bool has_default_sint32() const;
  inline void clear_default_sint32();
  static const int kDefaultSint32FieldNumber = 65;
  inline ::google::protobuf::int32 default_sint32() const;
  inline void set_default_sint32(::google::protobuf::int32 value);
  
  // optional sint64 default_sint64 = 66 [default = 46];
  inline bool has_default_sint64() const;
  inline void clear_default_sint64();
  static const int kDefaultSint64FieldNumber = 66;
  inline ::google::protobuf::int64 default_sint64() const;
  inline void set_default_sint64(::google::protobuf::int64 value);
  
  // optional fixed32 default_fixed32 = 67 [default = 47];
  inline bool has_default_fixed32() const;
  inline void clear_default_fixed32();
  static const int kDefaultFixed32FieldNumber = 67;
  inline ::google::protobuf::uint32 default_fixed32() const;
  inline void set_default_fixed32(::google::protobuf::uint32 value);
  
  // optional fixed64 default_fixed64 = 68 [default = 48];
  inline bool has_default_fixed64() const;
  inline void clear_default_fixed64();
  static const int kDefaultFixed64FieldNumber = 68;
  inline ::google::protobuf::uint64 default_fixed64() const;
  inline void set_default_fixed64(::google::protobuf::uint64 value);
  
  // optional sfixed32 default_sfixed32 = 69 [default = 49];
  inline bool has_default_sfixed32() const;
  inline void clear_default_sfixed32();
  static const int kDefaultSfixed32FieldNumber = 69;
  inline ::google::protobuf::int32 default_sfixed32() const;
  inline void set_default_sfixed32(::google::protobuf::int32 value);
  
  // optional sfixed64 default_sfixed64 = 70 [default = -50];
  inline bool has_default_sfixed64() const;
  inline void clear_default_sfixed64();
  static const int kDefaultSfixed64FieldNumber = 70;
  inline ::google::protobuf::int64 default_sfixed64() const;
  inline void set_default_sfixed64(::google::protobuf::int64 value);
  
  // optional float default_float = 71 [default = 51.5];
  inline bool has_default_float() const;
  inline void clear_default_float();
  static const int kDefaultFloatFieldNumber = 71;
  inline float default_float() const;
  inline void set_default_float(float value);
  
  // optional double default_double = 72 [default = 52000];
  inline bool has_default_double() const;
  inline void clear_default_double();
  static const int kDefaultDoubleFieldNumber = 72;
  inline double default_double() const;
  inline void set_default_double(double value);
  
  // optional bool default_bool = 73 [default = true];
  inline bool has_default_bool() const;
  inline void clear_default_bool();
  static const int kDefaultBoolFieldNumber = 73;
  inline bool default_bool() const;
  inline void set_default_bool(bool value);
  
  // optional string default_string = 74 [default = "hello"];
  inline bool has_default_string() const;
  inline void clear_default_string();
  static const int kDefaultStringFieldNumber = 74;
  inline const ::std::string& default_string() const;
  inline void set_default_string(const ::std::string& value);
  inline void set_default_string(const char* value);
  inline void set_default_string(const char* value, size_t size);
  inline ::std::string* mutable_default_string();
  inline ::std::string* release_default_string();
  
  // optional bytes default_bytes = 75 [default = "world"];
  inline bool has_default_bytes() const;
  inline void clear_default_bytes();
  static const int kDefaultBytesFieldNumber = 75;
  inline const ::std::string& default_bytes() const;
  inline void set_default_bytes(const ::std::string& value);
  inline void set_default_bytes(const char* value);
  inline void set_default_bytes(const void* value, size_t size);
  inline ::std::string* mutable_default_bytes();
  inline ::std::string* release_default_bytes();
  
  // optional .protobuf_unittest.TestAllTypesLite.NestedEnum default_nested_enum = 81 [default = BAR];
  inline bool has_default_nested_enum() const;
  inline void clear_default_nested_enum();
  static const int kDefaultNestedEnumFieldNumber = 81;
  inline ::protobuf_unittest::TestAllTypesLite_NestedEnum default_nested_enum() const;
  inline void set_default_nested_enum(::protobuf_unittest::TestAllTypesLite_NestedEnum value);
  
  // optional .protobuf_unittest.ForeignEnumLite default_foreign_enum = 82 [default = FOREIGN_LITE_BAR];
  inline bool has_default_foreign_enum() const;
  inline void clear_default_foreign_enum();
  static const int kDefaultForeignEnumFieldNumber = 82;
  inline protobuf_unittest::ForeignEnumLite default_foreign_enum() const;
  inline void set_default_foreign_enum(protobuf_unittest::ForeignEnumLite value);
  
  // optional .protobuf_unittest_import.ImportEnumLite default_import_enum = 83 [default = IMPORT_LITE_BAR];
  inline bool has_default_import_enum() const;
  inline void clear_default_import_enum();
  static const int kDefaultImportEnumFieldNumber = 83;
  inline protobuf_unittest_import::ImportEnumLite default_import_enum() const;
  inline void set_default_import_enum(protobuf_unittest_import::ImportEnumLite value);
  
  // optional string default_string_piece = 84 [default = "abc", ctype = STRING_PIECE];
  inline bool has_default_string_piece() const;
  inline void clear_default_string_piece();
  static const int kDefaultStringPieceFieldNumber = 84;
 private:
  // Hidden due to unknown ctype option.
  inline const ::std::string& default_string_piece() const;
  inline void set_default_string_piece(const ::std::string& value);
  inline void set_default_string_piece(const char* value);
  inline void set_default_string_piece(const char* value, size_t size);
  inline ::std::string* mutable_default_string_piece();
  inline ::std::string* release_default_string_piece();
 public:
  
  // optional string default_cord = 85 [default = "123", ctype = CORD];
  inline bool has_default_cord() const;
  inline void clear_default_cord();
  static const int kDefaultCordFieldNumber = 85;
 private:
  // Hidden due to unknown ctype option.
  inline const ::std::string& default_cord() const;
  inline void set_default_cord(const ::std::string& value);
  inline void set_default_cord(const char* value);
  inline void set_default_cord(const char* value, size_t size);
  inline ::std::string* mutable_default_cord();
  inline ::std::string* release_default_cord();
 public:
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllTypesLite)
 private:
  inline void set_has_optional_int32();
  inline void clear_has_optional_int32();
  inline void set_has_optional_int64();
  inline void clear_has_optional_int64();
  inline void set_has_optional_uint32();
  inline void clear_has_optional_uint32();
  inline void set_has_optional_uint64();
  inline void clear_has_optional_uint64();
  inline void set_has_optional_sint32();
  inline void clear_has_optional_sint32();
  inline void set_has_optional_sint64();
  inline void clear_has_optional_sint64();
  inline void set_has_optional_fixed32();
  inline void clear_has_optional_fixed32();
  inline void set_has_optional_fixed64();
  inline void clear_has_optional_fixed64();
  inline void set_has_optional_sfixed32();
  inline void clear_has_optional_sfixed32();
  inline void set_has_optional_sfixed64();
  inline void clear_has_optional_sfixed64();
  inline void set_has_optional_float();
  inline void clear_has_optional_float();
  inline void set_has_optional_double();
  inline void clear_has_optional_double();
  inline void set_has_optional_bool();
  inline void clear_has_optional_bool();
  inline void set_has_optional_string();
  inline void clear_has_optional_string();
  inline void set_has_optional_bytes();
  inline void clear_has_optional_bytes();
  inline void set_has_optionalgroup();
  inline void clear_has_optionalgroup();
  inline void set_has_optional_nested_message();
  inline void clear_has_optional_nested_message();
  inline void set_has_optional_foreign_message();
  inline void clear_has_optional_foreign_message();
  inline void set_has_optional_import_message();
  inline void clear_has_optional_import_message();
  inline void set_has_optional_nested_enum();
  inline void clear_has_optional_nested_enum();
  inline void set_has_optional_foreign_enum();
  inline void clear_has_optional_foreign_enum();
  inline void set_has_optional_import_enum();
  inline void clear_has_optional_import_enum();
  inline void set_has_optional_string_piece();
  inline void clear_has_optional_string_piece();
  inline void set_has_optional_cord();
  inline void clear_has_optional_cord();
  inline void set_has_default_int32();
  inline void clear_has_default_int32();
  inline void set_has_default_int64();
  inline void clear_has_default_int64();
  inline void set_has_default_uint32();
  inline void clear_has_default_uint32();
  inline void set_has_default_uint64();
  inline void clear_has_default_uint64();
  inline void set_has_default_sint32();
  inline void clear_has_default_sint32();
  inline void set_has_default_sint64();
  inline void clear_has_default_sint64();
  inline void set_has_default_fixed32();
  inline void clear_has_default_fixed32();
  inline void set_has_default_fixed64();
  inline void clear_has_default_fixed64();
  inline void set_has_default_sfixed32();
  inline void clear_has_default_sfixed32();
  inline void set_has_default_sfixed64();
  inline void clear_has_default_sfixed64();
  inline void set_has_default_float();
  inline void clear_has_default_float();
  inline void set_has_default_double();
  inline void clear_has_default_double();
  inline void set_has_default_bool();
  inline void clear_has_default_bool();
  inline void set_has_default_string();
  inline void clear_has_default_string();
  inline void set_has_default_bytes();
  inline void clear_has_default_bytes();
  inline void set_has_default_nested_enum();
  inline void clear_has_default_nested_enum();
  inline void set_has_default_foreign_enum();
  inline void clear_has_default_foreign_enum();
  inline void set_has_default_import_enum();
  inline void clear_has_default_import_enum();
  inline void set_has_default_string_piece();
  inline void clear_has_default_string_piece();
  inline void set_has_default_cord();
  inline void clear_has_default_cord();
  
  ::google::protobuf::int32 optional_int32_;
  ::google::protobuf::uint32 optional_uint32_;
  ::google::protobuf::int64 optional_int64_;
  ::google::protobuf::uint64 optional_uint64_;
  ::google::protobuf::int64 optional_sint64_;
  ::google::protobuf::int32 optional_sint32_;
  ::google::protobuf::uint32 optional_fixed32_;
  ::google::protobuf::uint64 optional_fixed64_;
  ::google::protobuf::int64 optional_sfixed64_;
  ::google::protobuf::int32 optional_sfixed32_;
  float optional_float_;
  double optional_double_;
  ::std::string* optional_string_;
  ::std::string* optional_bytes_;
  ::protobuf_unittest::TestAllTypesLite_OptionalGroup* optionalgroup_;
  ::protobuf_unittest::TestAllTypesLite_NestedMessage* optional_nested_message_;
  ::protobuf_unittest::ForeignMessageLite* optional_foreign_message_;
  ::protobuf_unittest_import::ImportMessageLite* optional_import_message_;
  int optional_nested_enum_;
  int optional_foreign_enum_;
  ::std::string* optional_string_piece_;
  ::std::string* optional_cord_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > repeated_int32_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int64 > repeated_int64_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > repeated_uint32_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > repeated_uint64_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > repeated_sint32_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int64 > repeated_sint64_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > repeated_fixed32_;
  int optional_import_enum_;
  bool optional_bool_;
  bool default_bool_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > repeated_fixed64_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > repeated_sfixed32_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int64 > repeated_sfixed64_;
  ::google::protobuf::RepeatedField< float > repeated_float_;
  ::google::protobuf::RepeatedField< double > repeated_double_;
  ::google::protobuf::RepeatedField< bool > repeated_bool_;
  ::google::protobuf::RepeatedPtrField< ::std::string> repeated_string_;
  ::google::protobuf::RepeatedPtrField< ::std::string> repeated_bytes_;
  ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_RepeatedGroup > repeatedgroup_;
  ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_NestedMessage > repeated_nested_message_;
  ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::ForeignMessageLite > repeated_foreign_message_;
  ::google::protobuf::RepeatedPtrField< ::protobuf_unittest_import::ImportMessageLite > repeated_import_message_;
  ::google::protobuf::RepeatedField<int> repeated_nested_enum_;
  ::google::protobuf::RepeatedField<int> repeated_foreign_enum_;
  ::google::protobuf::RepeatedField<int> repeated_import_enum_;
  ::google::protobuf::RepeatedPtrField< ::std::string> repeated_string_piece_;
  ::google::protobuf::RepeatedPtrField< ::std::string> repeated_cord_;
  ::google::protobuf::int64 default_int64_;
  ::google::protobuf::int32 default_int32_;
  ::google::protobuf::uint32 default_uint32_;
  ::google::protobuf::uint64 default_uint64_;
  ::google::protobuf::int64 default_sint64_;
  ::google::protobuf::int32 default_sint32_;
  ::google::protobuf::uint32 default_fixed32_;
  ::google::protobuf::uint64 default_fixed64_;
  ::google::protobuf::int32 default_sfixed32_;
  float default_float_;
  ::google::protobuf::int64 default_sfixed64_;
  double default_double_;
  ::std::string* default_string_;
  static const ::std::string _default_default_string_;
  ::std::string* default_bytes_;
  static const ::std::string _default_default_bytes_;
  int default_nested_enum_;
  int default_foreign_enum_;
  ::std::string* default_string_piece_;
  static const ::std::string _default_default_string_piece_;
  ::std::string* default_cord_;
  static const ::std::string _default_default_cord_;
  int default_import_enum_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(68 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestAllTypesLite* default_instance_;
};
// -------------------------------------------------------------------

class ForeignMessageLite : public ::google::protobuf::MessageLite {
 public:
  ForeignMessageLite();
  virtual ~ForeignMessageLite();
  
  ForeignMessageLite(const ForeignMessageLite& from);
  
  inline ForeignMessageLite& operator=(const ForeignMessageLite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const ForeignMessageLite& default_instance();
  
  void Swap(ForeignMessageLite* other);
  
  // implements Message ----------------------------------------------
  
  ForeignMessageLite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const ForeignMessageLite& from);
  void MergeFrom(const ForeignMessageLite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // optional int32 c = 1;
  inline bool has_c() const;
  inline void clear_c();
  static const int kCFieldNumber = 1;
  inline ::google::protobuf::int32 c() const;
  inline void set_c(::google::protobuf::int32 value);
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.ForeignMessageLite)
 private:
  inline void set_has_c();
  inline void clear_has_c();
  
  ::google::protobuf::int32 c_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static ForeignMessageLite* default_instance_;
};
// -------------------------------------------------------------------

class TestPackedTypesLite : public ::google::protobuf::MessageLite {
 public:
  TestPackedTypesLite();
  virtual ~TestPackedTypesLite();
  
  TestPackedTypesLite(const TestPackedTypesLite& from);
  
  inline TestPackedTypesLite& operator=(const TestPackedTypesLite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestPackedTypesLite& default_instance();
  
  void Swap(TestPackedTypesLite* other);
  
  // implements Message ----------------------------------------------
  
  TestPackedTypesLite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestPackedTypesLite& from);
  void MergeFrom(const TestPackedTypesLite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // repeated int32 packed_int32 = 90 [packed = true];
  inline int packed_int32_size() const;
  inline void clear_packed_int32();
  static const int kPackedInt32FieldNumber = 90;
  inline ::google::protobuf::int32 packed_int32(int index) const;
  inline void set_packed_int32(int index, ::google::protobuf::int32 value);
  inline void add_packed_int32(::google::protobuf::int32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
      packed_int32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
      mutable_packed_int32();
  
  // repeated int64 packed_int64 = 91 [packed = true];
  inline int packed_int64_size() const;
  inline void clear_packed_int64();
  static const int kPackedInt64FieldNumber = 91;
  inline ::google::protobuf::int64 packed_int64(int index) const;
  inline void set_packed_int64(int index, ::google::protobuf::int64 value);
  inline void add_packed_int64(::google::protobuf::int64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
      packed_int64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
      mutable_packed_int64();
  
  // repeated uint32 packed_uint32 = 92 [packed = true];
  inline int packed_uint32_size() const;
  inline void clear_packed_uint32();
  static const int kPackedUint32FieldNumber = 92;
  inline ::google::protobuf::uint32 packed_uint32(int index) const;
  inline void set_packed_uint32(int index, ::google::protobuf::uint32 value);
  inline void add_packed_uint32(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      packed_uint32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_packed_uint32();
  
  // repeated uint64 packed_uint64 = 93 [packed = true];
  inline int packed_uint64_size() const;
  inline void clear_packed_uint64();
  static const int kPackedUint64FieldNumber = 93;
  inline ::google::protobuf::uint64 packed_uint64(int index) const;
  inline void set_packed_uint64(int index, ::google::protobuf::uint64 value);
  inline void add_packed_uint64(::google::protobuf::uint64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
      packed_uint64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
      mutable_packed_uint64();
  
  // repeated sint32 packed_sint32 = 94 [packed = true];
  inline int packed_sint32_size() const;
  inline void clear_packed_sint32();
  static const int kPackedSint32FieldNumber = 94;
  inline ::google::protobuf::int32 packed_sint32(int index) const;
  inline void set_packed_sint32(int index, ::google::protobuf::int32 value);
  inline void add_packed_sint32(::google::protobuf::int32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
      packed_sint32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
      mutable_packed_sint32();
  
  // repeated sint64 packed_sint64 = 95 [packed = true];
  inline int packed_sint64_size() const;
  inline void clear_packed_sint64();
  static const int kPackedSint64FieldNumber = 95;
  inline ::google::protobuf::int64 packed_sint64(int index) const;
  inline void set_packed_sint64(int index, ::google::protobuf::int64 value);
  inline void add_packed_sint64(::google::protobuf::int64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
      packed_sint64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
      mutable_packed_sint64();
  
  // repeated fixed32 packed_fixed32 = 96 [packed = true];
  inline int packed_fixed32_size() const;
  inline void clear_packed_fixed32();
  static const int kPackedFixed32FieldNumber = 96;
  inline ::google::protobuf::uint32 packed_fixed32(int index) const;
  inline void set_packed_fixed32(int index, ::google::protobuf::uint32 value);
  inline void add_packed_fixed32(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      packed_fixed32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_packed_fixed32();
  
  // repeated fixed64 packed_fixed64 = 97 [packed = true];
  inline int packed_fixed64_size() const;
  inline void clear_packed_fixed64();
  static const int kPackedFixed64FieldNumber = 97;
  inline ::google::protobuf::uint64 packed_fixed64(int index) const;
  inline void set_packed_fixed64(int index, ::google::protobuf::uint64 value);
  inline void add_packed_fixed64(::google::protobuf::uint64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
      packed_fixed64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
      mutable_packed_fixed64();
  
  // repeated sfixed32 packed_sfixed32 = 98 [packed = true];
  inline int packed_sfixed32_size() const;
  inline void clear_packed_sfixed32();
  static const int kPackedSfixed32FieldNumber = 98;
  inline ::google::protobuf::int32 packed_sfixed32(int index) const;
  inline void set_packed_sfixed32(int index, ::google::protobuf::int32 value);
  inline void add_packed_sfixed32(::google::protobuf::int32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
      packed_sfixed32() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
      mutable_packed_sfixed32();
  
  // repeated sfixed64 packed_sfixed64 = 99 [packed = true];
  inline int packed_sfixed64_size() const;
  inline void clear_packed_sfixed64();
  static const int kPackedSfixed64FieldNumber = 99;
  inline ::google::protobuf::int64 packed_sfixed64(int index) const;
  inline void set_packed_sfixed64(int index, ::google::protobuf::int64 value);
  inline void add_packed_sfixed64(::google::protobuf::int64 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
      packed_sfixed64() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
      mutable_packed_sfixed64();
  
  // repeated float packed_float = 100 [packed = true];
  inline int packed_float_size() const;
  inline void clear_packed_float();
  static const int kPackedFloatFieldNumber = 100;
  inline float packed_float(int index) const;
  inline void set_packed_float(int index, float value);
  inline void add_packed_float(float value);
  inline const ::google::protobuf::RepeatedField< float >&
      packed_float() const;
  inline ::google::protobuf::RepeatedField< float >*
      mutable_packed_float();
  
  // repeated double packed_double = 101 [packed = true];
  inline int packed_double_size() const;
  inline void clear_packed_double();
  static const int kPackedDoubleFieldNumber = 101;
  inline double packed_double(int index) const;
  inline void set_packed_double(int index, double value);
  inline void add_packed_double(double value);
  inline const ::google::protobuf::RepeatedField< double >&
      packed_double() const;
  inline ::google::protobuf::RepeatedField< double >*
      mutable_packed_double();
  
  // repeated bool packed_bool = 102 [packed = true];
  inline int packed_bool_size() const;
  inline void clear_packed_bool();
  static const int kPackedBoolFieldNumber = 102;
  inline bool packed_bool(int index) const;
  inline void set_packed_bool(int index, bool value);
  inline void add_packed_bool(bool value);
  inline const ::google::protobuf::RepeatedField< bool >&
      packed_bool() const;
  inline ::google::protobuf::RepeatedField< bool >*
      mutable_packed_bool();
  
  // repeated .protobuf_unittest.ForeignEnumLite packed_enum = 103 [packed = true];
  inline int packed_enum_size() const;
  inline void clear_packed_enum();
  static const int kPackedEnumFieldNumber = 103;
  inline protobuf_unittest::ForeignEnumLite packed_enum(int index) const;
  inline void set_packed_enum(int index, protobuf_unittest::ForeignEnumLite value);
  inline void add_packed_enum(protobuf_unittest::ForeignEnumLite value);
  inline const ::google::protobuf::RepeatedField<int>& packed_enum() const;
  inline ::google::protobuf::RepeatedField<int>* mutable_packed_enum();
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestPackedTypesLite)
 private:
  
  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > packed_int32_;
  mutable int _packed_int32_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int64 > packed_int64_;
  mutable int _packed_int64_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > packed_uint32_;
  mutable int _packed_uint32_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > packed_uint64_;
  mutable int _packed_uint64_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > packed_sint32_;
  mutable int _packed_sint32_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int64 > packed_sint64_;
  mutable int _packed_sint64_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > packed_fixed32_;
  mutable int _packed_fixed32_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > packed_fixed64_;
  mutable int _packed_fixed64_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > packed_sfixed32_;
  mutable int _packed_sfixed32_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::int64 > packed_sfixed64_;
  mutable int _packed_sfixed64_cached_byte_size_;
  ::google::protobuf::RepeatedField< float > packed_float_;
  mutable int _packed_float_cached_byte_size_;
  ::google::protobuf::RepeatedField< double > packed_double_;
  mutable int _packed_double_cached_byte_size_;
  ::google::protobuf::RepeatedField< bool > packed_bool_;
  mutable int _packed_bool_cached_byte_size_;
  ::google::protobuf::RepeatedField<int> packed_enum_;
  mutable int _packed_enum_cached_byte_size_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(14 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestPackedTypesLite* default_instance_;
};
// -------------------------------------------------------------------

class TestAllExtensionsLite : public ::google::protobuf::MessageLite {
 public:
  TestAllExtensionsLite();
  virtual ~TestAllExtensionsLite();
  
  TestAllExtensionsLite(const TestAllExtensionsLite& from);
  
  inline TestAllExtensionsLite& operator=(const TestAllExtensionsLite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestAllExtensionsLite& default_instance();
  
  void Swap(TestAllExtensionsLite* other);
  
  // implements Message ----------------------------------------------
  
  TestAllExtensionsLite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestAllExtensionsLite& from);
  void MergeFrom(const TestAllExtensionsLite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(TestAllExtensionsLite)
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllExtensionsLite)
 private:
  
  ::google::protobuf::internal::ExtensionSet _extensions_;
  
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[1];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestAllExtensionsLite* default_instance_;
};
// -------------------------------------------------------------------

class OptionalGroup_extension_lite : public ::google::protobuf::MessageLite {
 public:
  OptionalGroup_extension_lite();
  virtual ~OptionalGroup_extension_lite();
  
  OptionalGroup_extension_lite(const OptionalGroup_extension_lite& from);
  
  inline OptionalGroup_extension_lite& operator=(const OptionalGroup_extension_lite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const OptionalGroup_extension_lite& default_instance();
  
  void Swap(OptionalGroup_extension_lite* other);
  
  // implements Message ----------------------------------------------
  
  OptionalGroup_extension_lite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const OptionalGroup_extension_lite& from);
  void MergeFrom(const OptionalGroup_extension_lite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // optional int32 a = 17;
  inline bool has_a() const;
  inline void clear_a();
  static const int kAFieldNumber = 17;
  inline ::google::protobuf::int32 a() const;
  inline void set_a(::google::protobuf::int32 value);
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.OptionalGroup_extension_lite)
 private:
  inline void set_has_a();
  inline void clear_has_a();
  
  ::google::protobuf::int32 a_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static OptionalGroup_extension_lite* default_instance_;
};
// -------------------------------------------------------------------

class RepeatedGroup_extension_lite : public ::google::protobuf::MessageLite {
 public:
  RepeatedGroup_extension_lite();
  virtual ~RepeatedGroup_extension_lite();
  
  RepeatedGroup_extension_lite(const RepeatedGroup_extension_lite& from);
  
  inline RepeatedGroup_extension_lite& operator=(const RepeatedGroup_extension_lite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const RepeatedGroup_extension_lite& default_instance();
  
  void Swap(RepeatedGroup_extension_lite* other);
  
  // implements Message ----------------------------------------------
  
  RepeatedGroup_extension_lite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const RepeatedGroup_extension_lite& from);
  void MergeFrom(const RepeatedGroup_extension_lite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // optional int32 a = 47;
  inline bool has_a() const;
  inline void clear_a();
  static const int kAFieldNumber = 47;
  inline ::google::protobuf::int32 a() const;
  inline void set_a(::google::protobuf::int32 value);
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.RepeatedGroup_extension_lite)
 private:
  inline void set_has_a();
  inline void clear_has_a();
  
  ::google::protobuf::int32 a_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static RepeatedGroup_extension_lite* default_instance_;
};
// -------------------------------------------------------------------

class TestPackedExtensionsLite : public ::google::protobuf::MessageLite {
 public:
  TestPackedExtensionsLite();
  virtual ~TestPackedExtensionsLite();
  
  TestPackedExtensionsLite(const TestPackedExtensionsLite& from);
  
  inline TestPackedExtensionsLite& operator=(const TestPackedExtensionsLite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestPackedExtensionsLite& default_instance();
  
  void Swap(TestPackedExtensionsLite* other);
  
  // implements Message ----------------------------------------------
  
  TestPackedExtensionsLite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestPackedExtensionsLite& from);
  void MergeFrom(const TestPackedExtensionsLite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(TestPackedExtensionsLite)
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestPackedExtensionsLite)
 private:
  
  ::google::protobuf::internal::ExtensionSet _extensions_;
  
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[1];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestPackedExtensionsLite* default_instance_;
};
// -------------------------------------------------------------------

class TestNestedExtensionLite : public ::google::protobuf::MessageLite {
 public:
  TestNestedExtensionLite();
  virtual ~TestNestedExtensionLite();
  
  TestNestedExtensionLite(const TestNestedExtensionLite& from);
  
  inline TestNestedExtensionLite& operator=(const TestNestedExtensionLite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestNestedExtensionLite& default_instance();
  
  void Swap(TestNestedExtensionLite* other);
  
  // implements Message ----------------------------------------------
  
  TestNestedExtensionLite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestNestedExtensionLite& from);
  void MergeFrom(const TestNestedExtensionLite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  static const int kNestedExtensionFieldNumber = 12345;
  static ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
      ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int32 >, 5, false >
    nested_extension;
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestNestedExtensionLite)
 private:
  
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[1];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestNestedExtensionLite* default_instance_;
};
// -------------------------------------------------------------------

class TestDeprecatedLite : public ::google::protobuf::MessageLite {
 public:
  TestDeprecatedLite();
  virtual ~TestDeprecatedLite();
  
  TestDeprecatedLite(const TestDeprecatedLite& from);
  
  inline TestDeprecatedLite& operator=(const TestDeprecatedLite& from) {
    CopyFrom(from);
    return *this;
  }
  
  static const TestDeprecatedLite& default_instance();
  
  void Swap(TestDeprecatedLite* other);
  
  // implements Message ----------------------------------------------
  
  TestDeprecatedLite* New() const;
  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
  void CopyFrom(const TestDeprecatedLite& from);
  void MergeFrom(const TestDeprecatedLite& from);
  void Clear();
  bool IsInitialized() const;
  
  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  
  ::std::string GetTypeName() const;
  
  // nested types ----------------------------------------------------
  
  // accessors -------------------------------------------------------
  
  // optional int32 deprecated_field = 1 [deprecated = true];
  inline bool has_deprecated_field() const PROTOBUF_DEPRECATED;
  inline void clear_deprecated_field() PROTOBUF_DEPRECATED;
  static const int kDeprecatedFieldFieldNumber = 1;
  inline ::google::protobuf::int32 deprecated_field() const PROTOBUF_DEPRECATED;
  inline void set_deprecated_field(::google::protobuf::int32 value) PROTOBUF_DEPRECATED;
  
  // @@protoc_insertion_point(class_scope:protobuf_unittest.TestDeprecatedLite)
 private:
  inline void set_has_deprecated_field();
  inline void clear_has_deprecated_field();
  
  ::google::protobuf::int32 deprecated_field_;
  
  mutable int _cached_size_;
  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
  
  friend void  protobuf_AddDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_AssignDesc_google_2fprotobuf_2funittest_5flite_2eproto();
  friend void protobuf_ShutdownFile_google_2fprotobuf_2funittest_5flite_2eproto();
  
  void InitAsDefaultInstance();
  static TestDeprecatedLite* default_instance_;
};
// ===================================================================

static const int kOptionalInt32ExtensionLiteFieldNumber = 1;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int32 >, 5, false >
  optional_int32_extension_lite;
static const int kOptionalInt64ExtensionLiteFieldNumber = 2;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int64 >, 3, false >
  optional_int64_extension_lite;
static const int kOptionalUint32ExtensionLiteFieldNumber = 3;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::uint32 >, 13, false >
  optional_uint32_extension_lite;
static const int kOptionalUint64ExtensionLiteFieldNumber = 4;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::uint64 >, 4, false >
  optional_uint64_extension_lite;
static const int kOptionalSint32ExtensionLiteFieldNumber = 5;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int32 >, 17, false >
  optional_sint32_extension_lite;
static const int kOptionalSint64ExtensionLiteFieldNumber = 6;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int64 >, 18, false >
  optional_sint64_extension_lite;
static const int kOptionalFixed32ExtensionLiteFieldNumber = 7;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::uint32 >, 7, false >
  optional_fixed32_extension_lite;
static const int kOptionalFixed64ExtensionLiteFieldNumber = 8;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::uint64 >, 6, false >
  optional_fixed64_extension_lite;
static const int kOptionalSfixed32ExtensionLiteFieldNumber = 9;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int32 >, 15, false >
  optional_sfixed32_extension_lite;
static const int kOptionalSfixed64ExtensionLiteFieldNumber = 10;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int64 >, 16, false >
  optional_sfixed64_extension_lite;
static const int kOptionalFloatExtensionLiteFieldNumber = 11;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< float >, 2, false >
  optional_float_extension_lite;
static const int kOptionalDoubleExtensionLiteFieldNumber = 12;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< double >, 1, false >
  optional_double_extension_lite;
static const int kOptionalBoolExtensionLiteFieldNumber = 13;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< bool >, 8, false >
  optional_bool_extension_lite;
static const int kOptionalStringExtensionLiteFieldNumber = 14;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::StringTypeTraits, 9, false >
  optional_string_extension_lite;
static const int kOptionalBytesExtensionLiteFieldNumber = 15;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::StringTypeTraits, 12, false >
  optional_bytes_extension_lite;
static const int kOptionalgroupExtensionLiteFieldNumber = 16;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::MessageTypeTraits< ::protobuf_unittest::OptionalGroup_extension_lite >, 10, false >
  optionalgroup_extension_lite;
static const int kOptionalNestedMessageExtensionLiteFieldNumber = 18;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::MessageTypeTraits< ::protobuf_unittest::TestAllTypesLite_NestedMessage >, 11, false >
  optional_nested_message_extension_lite;
static const int kOptionalForeignMessageExtensionLiteFieldNumber = 19;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::MessageTypeTraits< ::protobuf_unittest::ForeignMessageLite >, 11, false >
  optional_foreign_message_extension_lite;
static const int kOptionalImportMessageExtensionLiteFieldNumber = 20;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::MessageTypeTraits< ::protobuf_unittest_import::ImportMessageLite >, 11, false >
  optional_import_message_extension_lite;
static const int kOptionalNestedEnumExtensionLiteFieldNumber = 21;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::EnumTypeTraits< ::protobuf_unittest::TestAllTypesLite_NestedEnum, ::protobuf_unittest::TestAllTypesLite_NestedEnum_IsValid>, 14, false >
  optional_nested_enum_extension_lite;
static const int kOptionalForeignEnumExtensionLiteFieldNumber = 22;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::EnumTypeTraits< protobuf_unittest::ForeignEnumLite, protobuf_unittest::ForeignEnumLite_IsValid>, 14, false >
  optional_foreign_enum_extension_lite;
static const int kOptionalImportEnumExtensionLiteFieldNumber = 23;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::EnumTypeTraits< protobuf_unittest_import::ImportEnumLite, protobuf_unittest_import::ImportEnumLite_IsValid>, 14, false >
  optional_import_enum_extension_lite;
static const int kOptionalStringPieceExtensionLiteFieldNumber = 24;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::StringTypeTraits, 9, false >
  optional_string_piece_extension_lite;
static const int kOptionalCordExtensionLiteFieldNumber = 25;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::StringTypeTraits, 9, false >
  optional_cord_extension_lite;
static const int kRepeatedInt32ExtensionLiteFieldNumber = 31;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int32 >, 5, false >
  repeated_int32_extension_lite;
static const int kRepeatedInt64ExtensionLiteFieldNumber = 32;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int64 >, 3, false >
  repeated_int64_extension_lite;
static const int kRepeatedUint32ExtensionLiteFieldNumber = 33;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::uint32 >, 13, false >
  repeated_uint32_extension_lite;
static const int kRepeatedUint64ExtensionLiteFieldNumber = 34;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::uint64 >, 4, false >
  repeated_uint64_extension_lite;
static const int kRepeatedSint32ExtensionLiteFieldNumber = 35;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int32 >, 17, false >
  repeated_sint32_extension_lite;
static const int kRepeatedSint64ExtensionLiteFieldNumber = 36;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int64 >, 18, false >
  repeated_sint64_extension_lite;
static const int kRepeatedFixed32ExtensionLiteFieldNumber = 37;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::uint32 >, 7, false >
  repeated_fixed32_extension_lite;
static const int kRepeatedFixed64ExtensionLiteFieldNumber = 38;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::uint64 >, 6, false >
  repeated_fixed64_extension_lite;
static const int kRepeatedSfixed32ExtensionLiteFieldNumber = 39;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int32 >, 15, false >
  repeated_sfixed32_extension_lite;
static const int kRepeatedSfixed64ExtensionLiteFieldNumber = 40;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int64 >, 16, false >
  repeated_sfixed64_extension_lite;
static const int kRepeatedFloatExtensionLiteFieldNumber = 41;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< float >, 2, false >
  repeated_float_extension_lite;
static const int kRepeatedDoubleExtensionLiteFieldNumber = 42;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< double >, 1, false >
  repeated_double_extension_lite;
static const int kRepeatedBoolExtensionLiteFieldNumber = 43;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< bool >, 8, false >
  repeated_bool_extension_lite;
static const int kRepeatedStringExtensionLiteFieldNumber = 44;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedStringTypeTraits, 9, false >
  repeated_string_extension_lite;
static const int kRepeatedBytesExtensionLiteFieldNumber = 45;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedStringTypeTraits, 12, false >
  repeated_bytes_extension_lite;
static const int kRepeatedgroupExtensionLiteFieldNumber = 46;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedMessageTypeTraits< ::protobuf_unittest::RepeatedGroup_extension_lite >, 10, false >
  repeatedgroup_extension_lite;
static const int kRepeatedNestedMessageExtensionLiteFieldNumber = 48;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedMessageTypeTraits< ::protobuf_unittest::TestAllTypesLite_NestedMessage >, 11, false >
  repeated_nested_message_extension_lite;
static const int kRepeatedForeignMessageExtensionLiteFieldNumber = 49;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedMessageTypeTraits< ::protobuf_unittest::ForeignMessageLite >, 11, false >
  repeated_foreign_message_extension_lite;
static const int kRepeatedImportMessageExtensionLiteFieldNumber = 50;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedMessageTypeTraits< ::protobuf_unittest_import::ImportMessageLite >, 11, false >
  repeated_import_message_extension_lite;
static const int kRepeatedNestedEnumExtensionLiteFieldNumber = 51;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedEnumTypeTraits< ::protobuf_unittest::TestAllTypesLite_NestedEnum, ::protobuf_unittest::TestAllTypesLite_NestedEnum_IsValid>, 14, false >
  repeated_nested_enum_extension_lite;
static const int kRepeatedForeignEnumExtensionLiteFieldNumber = 52;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedEnumTypeTraits< protobuf_unittest::ForeignEnumLite, protobuf_unittest::ForeignEnumLite_IsValid>, 14, false >
  repeated_foreign_enum_extension_lite;
static const int kRepeatedImportEnumExtensionLiteFieldNumber = 53;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedEnumTypeTraits< protobuf_unittest_import::ImportEnumLite, protobuf_unittest_import::ImportEnumLite_IsValid>, 14, false >
  repeated_import_enum_extension_lite;
static const int kRepeatedStringPieceExtensionLiteFieldNumber = 54;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedStringTypeTraits, 9, false >
  repeated_string_piece_extension_lite;
static const int kRepeatedCordExtensionLiteFieldNumber = 55;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::RepeatedStringTypeTraits, 9, false >
  repeated_cord_extension_lite;
static const int kDefaultInt32ExtensionLiteFieldNumber = 61;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int32 >, 5, false >
  default_int32_extension_lite;
static const int kDefaultInt64ExtensionLiteFieldNumber = 62;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int64 >, 3, false >
  default_int64_extension_lite;
static const int kDefaultUint32ExtensionLiteFieldNumber = 63;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::uint32 >, 13, false >
  default_uint32_extension_lite;
static const int kDefaultUint64ExtensionLiteFieldNumber = 64;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::uint64 >, 4, false >
  default_uint64_extension_lite;
static const int kDefaultSint32ExtensionLiteFieldNumber = 65;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int32 >, 17, false >
  default_sint32_extension_lite;
static const int kDefaultSint64ExtensionLiteFieldNumber = 66;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int64 >, 18, false >
  default_sint64_extension_lite;
static const int kDefaultFixed32ExtensionLiteFieldNumber = 67;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::uint32 >, 7, false >
  default_fixed32_extension_lite;
static const int kDefaultFixed64ExtensionLiteFieldNumber = 68;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::uint64 >, 6, false >
  default_fixed64_extension_lite;
static const int kDefaultSfixed32ExtensionLiteFieldNumber = 69;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int32 >, 15, false >
  default_sfixed32_extension_lite;
static const int kDefaultSfixed64ExtensionLiteFieldNumber = 70;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< ::google::protobuf::int64 >, 16, false >
  default_sfixed64_extension_lite;
static const int kDefaultFloatExtensionLiteFieldNumber = 71;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< float >, 2, false >
  default_float_extension_lite;
static const int kDefaultDoubleExtensionLiteFieldNumber = 72;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< double >, 1, false >
  default_double_extension_lite;
static const int kDefaultBoolExtensionLiteFieldNumber = 73;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::PrimitiveTypeTraits< bool >, 8, false >
  default_bool_extension_lite;
static const int kDefaultStringExtensionLiteFieldNumber = 74;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::StringTypeTraits, 9, false >
  default_string_extension_lite;
static const int kDefaultBytesExtensionLiteFieldNumber = 75;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::StringTypeTraits, 12, false >
  default_bytes_extension_lite;
static const int kDefaultNestedEnumExtensionLiteFieldNumber = 81;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::EnumTypeTraits< ::protobuf_unittest::TestAllTypesLite_NestedEnum, ::protobuf_unittest::TestAllTypesLite_NestedEnum_IsValid>, 14, false >
  default_nested_enum_extension_lite;
static const int kDefaultForeignEnumExtensionLiteFieldNumber = 82;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::EnumTypeTraits< protobuf_unittest::ForeignEnumLite, protobuf_unittest::ForeignEnumLite_IsValid>, 14, false >
  default_foreign_enum_extension_lite;
static const int kDefaultImportEnumExtensionLiteFieldNumber = 83;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::EnumTypeTraits< protobuf_unittest_import::ImportEnumLite, protobuf_unittest_import::ImportEnumLite_IsValid>, 14, false >
  default_import_enum_extension_lite;
static const int kDefaultStringPieceExtensionLiteFieldNumber = 84;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::StringTypeTraits, 9, false >
  default_string_piece_extension_lite;
static const int kDefaultCordExtensionLiteFieldNumber = 85;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestAllExtensionsLite,
    ::google::protobuf::internal::StringTypeTraits, 9, false >
  default_cord_extension_lite;
static const int kPackedInt32ExtensionLiteFieldNumber = 90;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int32 >, 5, true >
  packed_int32_extension_lite;
static const int kPackedInt64ExtensionLiteFieldNumber = 91;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int64 >, 3, true >
  packed_int64_extension_lite;
static const int kPackedUint32ExtensionLiteFieldNumber = 92;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::uint32 >, 13, true >
  packed_uint32_extension_lite;
static const int kPackedUint64ExtensionLiteFieldNumber = 93;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::uint64 >, 4, true >
  packed_uint64_extension_lite;
static const int kPackedSint32ExtensionLiteFieldNumber = 94;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int32 >, 17, true >
  packed_sint32_extension_lite;
static const int kPackedSint64ExtensionLiteFieldNumber = 95;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int64 >, 18, true >
  packed_sint64_extension_lite;
static const int kPackedFixed32ExtensionLiteFieldNumber = 96;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::uint32 >, 7, true >
  packed_fixed32_extension_lite;
static const int kPackedFixed64ExtensionLiteFieldNumber = 97;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::uint64 >, 6, true >
  packed_fixed64_extension_lite;
static const int kPackedSfixed32ExtensionLiteFieldNumber = 98;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int32 >, 15, true >
  packed_sfixed32_extension_lite;
static const int kPackedSfixed64ExtensionLiteFieldNumber = 99;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< ::google::protobuf::int64 >, 16, true >
  packed_sfixed64_extension_lite;
static const int kPackedFloatExtensionLiteFieldNumber = 100;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< float >, 2, true >
  packed_float_extension_lite;
static const int kPackedDoubleExtensionLiteFieldNumber = 101;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< double >, 1, true >
  packed_double_extension_lite;
static const int kPackedBoolExtensionLiteFieldNumber = 102;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedPrimitiveTypeTraits< bool >, 8, true >
  packed_bool_extension_lite;
static const int kPackedEnumExtensionLiteFieldNumber = 103;
extern ::google::protobuf::internal::ExtensionIdentifier< ::protobuf_unittest::TestPackedExtensionsLite,
    ::google::protobuf::internal::RepeatedEnumTypeTraits< protobuf_unittest::ForeignEnumLite, protobuf_unittest::ForeignEnumLite_IsValid>, 14, true >
  packed_enum_extension_lite;

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

// TestAllTypesLite_NestedMessage

// optional int32 bb = 1;
inline bool TestAllTypesLite_NestedMessage::has_bb() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TestAllTypesLite_NestedMessage::set_has_bb() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TestAllTypesLite_NestedMessage::clear_has_bb() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TestAllTypesLite_NestedMessage::clear_bb() {
  bb_ = 0;
  clear_has_bb();
}
inline ::google::protobuf::int32 TestAllTypesLite_NestedMessage::bb() const {
  return bb_;
}
inline void TestAllTypesLite_NestedMessage::set_bb(::google::protobuf::int32 value) {
  set_has_bb();
  bb_ = value;
}

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

// TestAllTypesLite_OptionalGroup

// optional int32 a = 17;
inline bool TestAllTypesLite_OptionalGroup::has_a() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TestAllTypesLite_OptionalGroup::set_has_a() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TestAllTypesLite_OptionalGroup::clear_has_a() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TestAllTypesLite_OptionalGroup::clear_a() {
  a_ = 0;
  clear_has_a();
}
inline ::google::protobuf::int32 TestAllTypesLite_OptionalGroup::a() const {
  return a_;
}
inline void TestAllTypesLite_OptionalGroup::set_a(::google::protobuf::int32 value) {
  set_has_a();
  a_ = value;
}

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

// TestAllTypesLite_RepeatedGroup

// optional int32 a = 47;
inline bool TestAllTypesLite_RepeatedGroup::has_a() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TestAllTypesLite_RepeatedGroup::set_has_a() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TestAllTypesLite_RepeatedGroup::clear_has_a() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TestAllTypesLite_RepeatedGroup::clear_a() {
  a_ = 0;
  clear_has_a();
}
inline ::google::protobuf::int32 TestAllTypesLite_RepeatedGroup::a() const {
  return a_;
}
inline void TestAllTypesLite_RepeatedGroup::set_a(::google::protobuf::int32 value) {
  set_has_a();
  a_ = value;
}

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

// TestAllTypesLite

// optional int32 optional_int32 = 1;
inline bool TestAllTypesLite::has_optional_int32() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TestAllTypesLite::set_has_optional_int32() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TestAllTypesLite::clear_has_optional_int32() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TestAllTypesLite::clear_optional_int32() {
  optional_int32_ = 0;
  clear_has_optional_int32();
}
inline ::google::protobuf::int32 TestAllTypesLite::optional_int32() const {
  return optional_int32_;
}
inline void TestAllTypesLite::set_optional_int32(::google::protobuf::int32 value) {
  set_has_optional_int32();
  optional_int32_ = value;
}

// optional int64 optional_int64 = 2;
inline bool TestAllTypesLite::has_optional_int64() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void TestAllTypesLite::set_has_optional_int64() {
  _has_bits_[0] |= 0x00000002u;
}
inline void TestAllTypesLite::clear_has_optional_int64() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void TestAllTypesLite::clear_optional_int64() {
  optional_int64_ = GOOGLE_LONGLONG(0);
  clear_has_optional_int64();
}
inline ::google::protobuf::int64 TestAllTypesLite::optional_int64() const {
  return optional_int64_;
}
inline void TestAllTypesLite::set_optional_int64(::google::protobuf::int64 value) {
  set_has_optional_int64();
  optional_int64_ = value;
}

// optional uint32 optional_uint32 = 3;
inline bool TestAllTypesLite::has_optional_uint32() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void TestAllTypesLite::set_has_optional_uint32() {
  _has_bits_[0] |= 0x00000004u;
}
inline void TestAllTypesLite::clear_has_optional_uint32() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void TestAllTypesLite::clear_optional_uint32() {
  optional_uint32_ = 0u;
  clear_has_optional_uint32();
}
inline ::google::protobuf::uint32 TestAllTypesLite::optional_uint32() const {
  return optional_uint32_;
}
inline void TestAllTypesLite::set_optional_uint32(::google::protobuf::uint32 value) {
  set_has_optional_uint32();
  optional_uint32_ = value;
}

// optional uint64 optional_uint64 = 4;
inline bool TestAllTypesLite::has_optional_uint64() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void TestAllTypesLite::set_has_optional_uint64() {
  _has_bits_[0] |= 0x00000008u;
}
inline void TestAllTypesLite::clear_has_optional_uint64() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void TestAllTypesLite::clear_optional_uint64() {
  optional_uint64_ = GOOGLE_ULONGLONG(0);
  clear_has_optional_uint64();
}
inline ::google::protobuf::uint64 TestAllTypesLite::optional_uint64() const {
  return optional_uint64_;
}
inline void TestAllTypesLite::set_optional_uint64(::google::protobuf::uint64 value) {
  set_has_optional_uint64();
  optional_uint64_ = value;
}

// optional sint32 optional_sint32 = 5;
inline bool TestAllTypesLite::has_optional_sint32() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void TestAllTypesLite::set_has_optional_sint32() {
  _has_bits_[0] |= 0x00000010u;
}
inline void TestAllTypesLite::clear_has_optional_sint32() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void TestAllTypesLite::clear_optional_sint32() {
  optional_sint32_ = 0;
  clear_has_optional_sint32();
}
inline ::google::protobuf::int32 TestAllTypesLite::optional_sint32() const {
  return optional_sint32_;
}
inline void TestAllTypesLite::set_optional_sint32(::google::protobuf::int32 value) {
  set_has_optional_sint32();
  optional_sint32_ = value;
}

// optional sint64 optional_sint64 = 6;
inline bool TestAllTypesLite::has_optional_sint64() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void TestAllTypesLite::set_has_optional_sint64() {
  _has_bits_[0] |= 0x00000020u;
}
inline void TestAllTypesLite::clear_has_optional_sint64() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void TestAllTypesLite::clear_optional_sint64() {
  optional_sint64_ = GOOGLE_LONGLONG(0);
  clear_has_optional_sint64();
}
inline ::google::protobuf::int64 TestAllTypesLite::optional_sint64() const {
  return optional_sint64_;
}
inline void TestAllTypesLite::set_optional_sint64(::google::protobuf::int64 value) {
  set_has_optional_sint64();
  optional_sint64_ = value;
}

// optional fixed32 optional_fixed32 = 7;
inline bool TestAllTypesLite::has_optional_fixed32() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void TestAllTypesLite::set_has_optional_fixed32() {
  _has_bits_[0] |= 0x00000040u;
}
inline void TestAllTypesLite::clear_has_optional_fixed32() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void TestAllTypesLite::clear_optional_fixed32() {
  optional_fixed32_ = 0u;
  clear_has_optional_fixed32();
}
inline ::google::protobuf::uint32 TestAllTypesLite::optional_fixed32() const {
  return optional_fixed32_;
}
inline void TestAllTypesLite::set_optional_fixed32(::google::protobuf::uint32 value) {
  set_has_optional_fixed32();
  optional_fixed32_ = value;
}

// optional fixed64 optional_fixed64 = 8;
inline bool TestAllTypesLite::has_optional_fixed64() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void TestAllTypesLite::set_has_optional_fixed64() {
  _has_bits_[0] |= 0x00000080u;
}
inline void TestAllTypesLite::clear_has_optional_fixed64() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void TestAllTypesLite::clear_optional_fixed64() {
  optional_fixed64_ = GOOGLE_ULONGLONG(0);
  clear_has_optional_fixed64();
}
inline ::google::protobuf::uint64 TestAllTypesLite::optional_fixed64() const {
  return optional_fixed64_;
}
inline void TestAllTypesLite::set_optional_fixed64(::google::protobuf::uint64 value) {
  set_has_optional_fixed64();
  optional_fixed64_ = value;
}

// optional sfixed32 optional_sfixed32 = 9;
inline bool TestAllTypesLite::has_optional_sfixed32() const {
  return (_has_bits_[0] & 0x00000100u) != 0;
}
inline void TestAllTypesLite::set_has_optional_sfixed32() {
  _has_bits_[0] |= 0x00000100u;
}
inline void TestAllTypesLite::clear_has_optional_sfixed32() {
  _has_bits_[0] &= ~0x00000100u;
}
inline void TestAllTypesLite::clear_optional_sfixed32() {
  optional_sfixed32_ = 0;
  clear_has_optional_sfixed32();
}
inline ::google::protobuf::int32 TestAllTypesLite::optional_sfixed32() const {
  return optional_sfixed32_;
}
inline void TestAllTypesLite::set_optional_sfixed32(::google::protobuf::int32 value) {
  set_has_optional_sfixed32();
  optional_sfixed32_ = value;
}

// optional sfixed64 optional_sfixed64 = 10;
inline bool TestAllTypesLite::has_optional_sfixed64() const {
  return (_has_bits_[0] & 0x00000200u) != 0;
}
inline void TestAllTypesLite::set_has_optional_sfixed64() {
  _has_bits_[0] |= 0x00000200u;
}
inline void TestAllTypesLite::clear_has_optional_sfixed64() {
  _has_bits_[0] &= ~0x00000200u;
}
inline void TestAllTypesLite::clear_optional_sfixed64() {
  optional_sfixed64_ = GOOGLE_LONGLONG(0);
  clear_has_optional_sfixed64();
}
inline ::google::protobuf::int64 TestAllTypesLite::optional_sfixed64() const {
  return optional_sfixed64_;
}
inline void TestAllTypesLite::set_optional_sfixed64(::google::protobuf::int64 value) {
  set_has_optional_sfixed64();
  optional_sfixed64_ = value;
}

// optional float optional_float = 11;
inline bool TestAllTypesLite::has_optional_float() const {
  return (_has_bits_[0] & 0x00000400u) != 0;
}
inline void TestAllTypesLite::set_has_optional_float() {
  _has_bits_[0] |= 0x00000400u;
}
inline void TestAllTypesLite::clear_has_optional_float() {
  _has_bits_[0] &= ~0x00000400u;
}
inline void TestAllTypesLite::clear_optional_float() {
  optional_float_ = 0;
  clear_has_optional_float();
}
inline float TestAllTypesLite::optional_float() const {
  return optional_float_;
}
inline void TestAllTypesLite::set_optional_float(float value) {
  set_has_optional_float();
  optional_float_ = value;
}

// optional double optional_double = 12;
inline bool TestAllTypesLite::has_optional_double() const {
  return (_has_bits_[0] & 0x00000800u) != 0;
}
inline void TestAllTypesLite::set_has_optional_double() {
  _has_bits_[0] |= 0x00000800u;
}
inline void TestAllTypesLite::clear_has_optional_double() {
  _has_bits_[0] &= ~0x00000800u;
}
inline void TestAllTypesLite::clear_optional_double() {
  optional_double_ = 0;
  clear_has_optional_double();
}
inline double TestAllTypesLite::optional_double() const {
  return optional_double_;
}
inline void TestAllTypesLite::set_optional_double(double value) {
  set_has_optional_double();
  optional_double_ = value;
}

// optional bool optional_bool = 13;
inline bool TestAllTypesLite::has_optional_bool() const {
  return (_has_bits_[0] & 0x00001000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_bool() {
  _has_bits_[0] |= 0x00001000u;
}
inline void TestAllTypesLite::clear_has_optional_bool() {
  _has_bits_[0] &= ~0x00001000u;
}
inline void TestAllTypesLite::clear_optional_bool() {
  optional_bool_ = false;
  clear_has_optional_bool();
}
inline bool TestAllTypesLite::optional_bool() const {
  return optional_bool_;
}
inline void TestAllTypesLite::set_optional_bool(bool value) {
  set_has_optional_bool();
  optional_bool_ = value;
}

// optional string optional_string = 14;
inline bool TestAllTypesLite::has_optional_string() const {
  return (_has_bits_[0] & 0x00002000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_string() {
  _has_bits_[0] |= 0x00002000u;
}
inline void TestAllTypesLite::clear_has_optional_string() {
  _has_bits_[0] &= ~0x00002000u;
}
inline void TestAllTypesLite::clear_optional_string() {
  if (optional_string_ != &::google::protobuf::internal::kEmptyString) {
    optional_string_->clear();
  }
  clear_has_optional_string();
}
inline const ::std::string& TestAllTypesLite::optional_string() const {
  return *optional_string_;
}
inline void TestAllTypesLite::set_optional_string(const ::std::string& value) {
  set_has_optional_string();
  if (optional_string_ == &::google::protobuf::internal::kEmptyString) {
    optional_string_ = new ::std::string;
  }
  optional_string_->assign(value);
}
inline void TestAllTypesLite::set_optional_string(const char* value) {
  set_has_optional_string();
  if (optional_string_ == &::google::protobuf::internal::kEmptyString) {
    optional_string_ = new ::std::string;
  }
  optional_string_->assign(value);
}
inline void TestAllTypesLite::set_optional_string(const char* value, size_t size) {
  set_has_optional_string();
  if (optional_string_ == &::google::protobuf::internal::kEmptyString) {
    optional_string_ = new ::std::string;
  }
  optional_string_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::mutable_optional_string() {
  set_has_optional_string();
  if (optional_string_ == &::google::protobuf::internal::kEmptyString) {
    optional_string_ = new ::std::string;
  }
  return optional_string_;
}
inline ::std::string* TestAllTypesLite::release_optional_string() {
  clear_has_optional_string();
  if (optional_string_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = optional_string_;
    optional_string_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// optional bytes optional_bytes = 15;
inline bool TestAllTypesLite::has_optional_bytes() const {
  return (_has_bits_[0] & 0x00004000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_bytes() {
  _has_bits_[0] |= 0x00004000u;
}
inline void TestAllTypesLite::clear_has_optional_bytes() {
  _has_bits_[0] &= ~0x00004000u;
}
inline void TestAllTypesLite::clear_optional_bytes() {
  if (optional_bytes_ != &::google::protobuf::internal::kEmptyString) {
    optional_bytes_->clear();
  }
  clear_has_optional_bytes();
}
inline const ::std::string& TestAllTypesLite::optional_bytes() const {
  return *optional_bytes_;
}
inline void TestAllTypesLite::set_optional_bytes(const ::std::string& value) {
  set_has_optional_bytes();
  if (optional_bytes_ == &::google::protobuf::internal::kEmptyString) {
    optional_bytes_ = new ::std::string;
  }
  optional_bytes_->assign(value);
}
inline void TestAllTypesLite::set_optional_bytes(const char* value) {
  set_has_optional_bytes();
  if (optional_bytes_ == &::google::protobuf::internal::kEmptyString) {
    optional_bytes_ = new ::std::string;
  }
  optional_bytes_->assign(value);
}
inline void TestAllTypesLite::set_optional_bytes(const void* value, size_t size) {
  set_has_optional_bytes();
  if (optional_bytes_ == &::google::protobuf::internal::kEmptyString) {
    optional_bytes_ = new ::std::string;
  }
  optional_bytes_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::mutable_optional_bytes() {
  set_has_optional_bytes();
  if (optional_bytes_ == &::google::protobuf::internal::kEmptyString) {
    optional_bytes_ = new ::std::string;
  }
  return optional_bytes_;
}
inline ::std::string* TestAllTypesLite::release_optional_bytes() {
  clear_has_optional_bytes();
  if (optional_bytes_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = optional_bytes_;
    optional_bytes_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// optional group OptionalGroup = 16 {
inline bool TestAllTypesLite::has_optionalgroup() const {
  return (_has_bits_[0] & 0x00008000u) != 0;
}
inline void TestAllTypesLite::set_has_optionalgroup() {
  _has_bits_[0] |= 0x00008000u;
}
inline void TestAllTypesLite::clear_has_optionalgroup() {
  _has_bits_[0] &= ~0x00008000u;
}
inline void TestAllTypesLite::clear_optionalgroup() {
  if (optionalgroup_ != NULL) optionalgroup_->::protobuf_unittest::TestAllTypesLite_OptionalGroup::Clear();
  clear_has_optionalgroup();
}
inline const ::protobuf_unittest::TestAllTypesLite_OptionalGroup& TestAllTypesLite::optionalgroup() const {
  return optionalgroup_ != NULL ? *optionalgroup_ : *default_instance_->optionalgroup_;
}
inline ::protobuf_unittest::TestAllTypesLite_OptionalGroup* TestAllTypesLite::mutable_optionalgroup() {
  set_has_optionalgroup();
  if (optionalgroup_ == NULL) optionalgroup_ = new ::protobuf_unittest::TestAllTypesLite_OptionalGroup;
  return optionalgroup_;
}
inline ::protobuf_unittest::TestAllTypesLite_OptionalGroup* TestAllTypesLite::release_optionalgroup() {
  clear_has_optionalgroup();
  ::protobuf_unittest::TestAllTypesLite_OptionalGroup* temp = optionalgroup_;
  optionalgroup_ = NULL;
  return temp;
}

// optional .protobuf_unittest.TestAllTypesLite.NestedMessage optional_nested_message = 18;
inline bool TestAllTypesLite::has_optional_nested_message() const {
  return (_has_bits_[0] & 0x00010000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_nested_message() {
  _has_bits_[0] |= 0x00010000u;
}
inline void TestAllTypesLite::clear_has_optional_nested_message() {
  _has_bits_[0] &= ~0x00010000u;
}
inline void TestAllTypesLite::clear_optional_nested_message() {
  if (optional_nested_message_ != NULL) optional_nested_message_->::protobuf_unittest::TestAllTypesLite_NestedMessage::Clear();
  clear_has_optional_nested_message();
}
inline const ::protobuf_unittest::TestAllTypesLite_NestedMessage& TestAllTypesLite::optional_nested_message() const {
  return optional_nested_message_ != NULL ? *optional_nested_message_ : *default_instance_->optional_nested_message_;
}
inline ::protobuf_unittest::TestAllTypesLite_NestedMessage* TestAllTypesLite::mutable_optional_nested_message() {
  set_has_optional_nested_message();
  if (optional_nested_message_ == NULL) optional_nested_message_ = new ::protobuf_unittest::TestAllTypesLite_NestedMessage;
  return optional_nested_message_;
}
inline ::protobuf_unittest::TestAllTypesLite_NestedMessage* TestAllTypesLite::release_optional_nested_message() {
  clear_has_optional_nested_message();
  ::protobuf_unittest::TestAllTypesLite_NestedMessage* temp = optional_nested_message_;
  optional_nested_message_ = NULL;
  return temp;
}

// optional .protobuf_unittest.ForeignMessageLite optional_foreign_message = 19;
inline bool TestAllTypesLite::has_optional_foreign_message() const {
  return (_has_bits_[0] & 0x00020000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_foreign_message() {
  _has_bits_[0] |= 0x00020000u;
}
inline void TestAllTypesLite::clear_has_optional_foreign_message() {
  _has_bits_[0] &= ~0x00020000u;
}
inline void TestAllTypesLite::clear_optional_foreign_message() {
  if (optional_foreign_message_ != NULL) optional_foreign_message_->::protobuf_unittest::ForeignMessageLite::Clear();
  clear_has_optional_foreign_message();
}
inline const ::protobuf_unittest::ForeignMessageLite& TestAllTypesLite::optional_foreign_message() const {
  return optional_foreign_message_ != NULL ? *optional_foreign_message_ : *default_instance_->optional_foreign_message_;
}
inline ::protobuf_unittest::ForeignMessageLite* TestAllTypesLite::mutable_optional_foreign_message() {
  set_has_optional_foreign_message();
  if (optional_foreign_message_ == NULL) optional_foreign_message_ = new ::protobuf_unittest::ForeignMessageLite;
  return optional_foreign_message_;
}
inline ::protobuf_unittest::ForeignMessageLite* TestAllTypesLite::release_optional_foreign_message() {
  clear_has_optional_foreign_message();
  ::protobuf_unittest::ForeignMessageLite* temp = optional_foreign_message_;
  optional_foreign_message_ = NULL;
  return temp;
}

// optional .protobuf_unittest_import.ImportMessageLite optional_import_message = 20;
inline bool TestAllTypesLite::has_optional_import_message() const {
  return (_has_bits_[0] & 0x00040000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_import_message() {
  _has_bits_[0] |= 0x00040000u;
}
inline void TestAllTypesLite::clear_has_optional_import_message() {
  _has_bits_[0] &= ~0x00040000u;
}
inline void TestAllTypesLite::clear_optional_import_message() {
  if (optional_import_message_ != NULL) optional_import_message_->::protobuf_unittest_import::ImportMessageLite::Clear();
  clear_has_optional_import_message();
}
inline const ::protobuf_unittest_import::ImportMessageLite& TestAllTypesLite::optional_import_message() const {
  return optional_import_message_ != NULL ? *optional_import_message_ : *default_instance_->optional_import_message_;
}
inline ::protobuf_unittest_import::ImportMessageLite* TestAllTypesLite::mutable_optional_import_message() {
  set_has_optional_import_message();
  if (optional_import_message_ == NULL) optional_import_message_ = new ::protobuf_unittest_import::ImportMessageLite;
  return optional_import_message_;
}
inline ::protobuf_unittest_import::ImportMessageLite* TestAllTypesLite::release_optional_import_message() {
  clear_has_optional_import_message();
  ::protobuf_unittest_import::ImportMessageLite* temp = optional_import_message_;
  optional_import_message_ = NULL;
  return temp;
}

// optional .protobuf_unittest.TestAllTypesLite.NestedEnum optional_nested_enum = 21;
inline bool TestAllTypesLite::has_optional_nested_enum() const {
  return (_has_bits_[0] & 0x00080000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_nested_enum() {
  _has_bits_[0] |= 0x00080000u;
}
inline void TestAllTypesLite::clear_has_optional_nested_enum() {
  _has_bits_[0] &= ~0x00080000u;
}
inline void TestAllTypesLite::clear_optional_nested_enum() {
  optional_nested_enum_ = 1;
  clear_has_optional_nested_enum();
}
inline ::protobuf_unittest::TestAllTypesLite_NestedEnum TestAllTypesLite::optional_nested_enum() const {
  return static_cast< ::protobuf_unittest::TestAllTypesLite_NestedEnum >(optional_nested_enum_);
}
inline void TestAllTypesLite::set_optional_nested_enum(::protobuf_unittest::TestAllTypesLite_NestedEnum value) {
  GOOGLE_DCHECK(::protobuf_unittest::TestAllTypesLite_NestedEnum_IsValid(value));
  set_has_optional_nested_enum();
  optional_nested_enum_ = value;
}

// optional .protobuf_unittest.ForeignEnumLite optional_foreign_enum = 22;
inline bool TestAllTypesLite::has_optional_foreign_enum() const {
  return (_has_bits_[0] & 0x00100000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_foreign_enum() {
  _has_bits_[0] |= 0x00100000u;
}
inline void TestAllTypesLite::clear_has_optional_foreign_enum() {
  _has_bits_[0] &= ~0x00100000u;
}
inline void TestAllTypesLite::clear_optional_foreign_enum() {
  optional_foreign_enum_ = 4;
  clear_has_optional_foreign_enum();
}
inline protobuf_unittest::ForeignEnumLite TestAllTypesLite::optional_foreign_enum() const {
  return static_cast< protobuf_unittest::ForeignEnumLite >(optional_foreign_enum_);
}
inline void TestAllTypesLite::set_optional_foreign_enum(protobuf_unittest::ForeignEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest::ForeignEnumLite_IsValid(value));
  set_has_optional_foreign_enum();
  optional_foreign_enum_ = value;
}

// optional .protobuf_unittest_import.ImportEnumLite optional_import_enum = 23;
inline bool TestAllTypesLite::has_optional_import_enum() const {
  return (_has_bits_[0] & 0x00200000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_import_enum() {
  _has_bits_[0] |= 0x00200000u;
}
inline void TestAllTypesLite::clear_has_optional_import_enum() {
  _has_bits_[0] &= ~0x00200000u;
}
inline void TestAllTypesLite::clear_optional_import_enum() {
  optional_import_enum_ = 7;
  clear_has_optional_import_enum();
}
inline protobuf_unittest_import::ImportEnumLite TestAllTypesLite::optional_import_enum() const {
  return static_cast< protobuf_unittest_import::ImportEnumLite >(optional_import_enum_);
}
inline void TestAllTypesLite::set_optional_import_enum(protobuf_unittest_import::ImportEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest_import::ImportEnumLite_IsValid(value));
  set_has_optional_import_enum();
  optional_import_enum_ = value;
}

// optional string optional_string_piece = 24 [ctype = STRING_PIECE];
inline bool TestAllTypesLite::has_optional_string_piece() const {
  return (_has_bits_[0] & 0x00400000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_string_piece() {
  _has_bits_[0] |= 0x00400000u;
}
inline void TestAllTypesLite::clear_has_optional_string_piece() {
  _has_bits_[0] &= ~0x00400000u;
}
inline void TestAllTypesLite::clear_optional_string_piece() {
  if (optional_string_piece_ != &::google::protobuf::internal::kEmptyString) {
    optional_string_piece_->clear();
  }
  clear_has_optional_string_piece();
}
inline const ::std::string& TestAllTypesLite::optional_string_piece() const {
  return *optional_string_piece_;
}
inline void TestAllTypesLite::set_optional_string_piece(const ::std::string& value) {
  set_has_optional_string_piece();
  if (optional_string_piece_ == &::google::protobuf::internal::kEmptyString) {
    optional_string_piece_ = new ::std::string;
  }
  optional_string_piece_->assign(value);
}
inline void TestAllTypesLite::set_optional_string_piece(const char* value) {
  set_has_optional_string_piece();
  if (optional_string_piece_ == &::google::protobuf::internal::kEmptyString) {
    optional_string_piece_ = new ::std::string;
  }
  optional_string_piece_->assign(value);
}
inline void TestAllTypesLite::set_optional_string_piece(const char* value, size_t size) {
  set_has_optional_string_piece();
  if (optional_string_piece_ == &::google::protobuf::internal::kEmptyString) {
    optional_string_piece_ = new ::std::string;
  }
  optional_string_piece_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::mutable_optional_string_piece() {
  set_has_optional_string_piece();
  if (optional_string_piece_ == &::google::protobuf::internal::kEmptyString) {
    optional_string_piece_ = new ::std::string;
  }
  return optional_string_piece_;
}
inline ::std::string* TestAllTypesLite::release_optional_string_piece() {
  clear_has_optional_string_piece();
  if (optional_string_piece_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = optional_string_piece_;
    optional_string_piece_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// optional string optional_cord = 25 [ctype = CORD];
inline bool TestAllTypesLite::has_optional_cord() const {
  return (_has_bits_[0] & 0x00800000u) != 0;
}
inline void TestAllTypesLite::set_has_optional_cord() {
  _has_bits_[0] |= 0x00800000u;
}
inline void TestAllTypesLite::clear_has_optional_cord() {
  _has_bits_[0] &= ~0x00800000u;
}
inline void TestAllTypesLite::clear_optional_cord() {
  if (optional_cord_ != &::google::protobuf::internal::kEmptyString) {
    optional_cord_->clear();
  }
  clear_has_optional_cord();
}
inline const ::std::string& TestAllTypesLite::optional_cord() const {
  return *optional_cord_;
}
inline void TestAllTypesLite::set_optional_cord(const ::std::string& value) {
  set_has_optional_cord();
  if (optional_cord_ == &::google::protobuf::internal::kEmptyString) {
    optional_cord_ = new ::std::string;
  }
  optional_cord_->assign(value);
}
inline void TestAllTypesLite::set_optional_cord(const char* value) {
  set_has_optional_cord();
  if (optional_cord_ == &::google::protobuf::internal::kEmptyString) {
    optional_cord_ = new ::std::string;
  }
  optional_cord_->assign(value);
}
inline void TestAllTypesLite::set_optional_cord(const char* value, size_t size) {
  set_has_optional_cord();
  if (optional_cord_ == &::google::protobuf::internal::kEmptyString) {
    optional_cord_ = new ::std::string;
  }
  optional_cord_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::mutable_optional_cord() {
  set_has_optional_cord();
  if (optional_cord_ == &::google::protobuf::internal::kEmptyString) {
    optional_cord_ = new ::std::string;
  }
  return optional_cord_;
}
inline ::std::string* TestAllTypesLite::release_optional_cord() {
  clear_has_optional_cord();
  if (optional_cord_ == &::google::protobuf::internal::kEmptyString) {
    return NULL;
  } else {
    ::std::string* temp = optional_cord_;
    optional_cord_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
    return temp;
  }
}

// repeated int32 repeated_int32 = 31;
inline int TestAllTypesLite::repeated_int32_size() const {
  return repeated_int32_.size();
}
inline void TestAllTypesLite::clear_repeated_int32() {
  repeated_int32_.Clear();
}
inline ::google::protobuf::int32 TestAllTypesLite::repeated_int32(int index) const {
  return repeated_int32_.Get(index);
}
inline void TestAllTypesLite::set_repeated_int32(int index, ::google::protobuf::int32 value) {
  repeated_int32_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_int32(::google::protobuf::int32 value) {
  repeated_int32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
TestAllTypesLite::repeated_int32() const {
  return repeated_int32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
TestAllTypesLite::mutable_repeated_int32() {
  return &repeated_int32_;
}

// repeated int64 repeated_int64 = 32;
inline int TestAllTypesLite::repeated_int64_size() const {
  return repeated_int64_.size();
}
inline void TestAllTypesLite::clear_repeated_int64() {
  repeated_int64_.Clear();
}
inline ::google::protobuf::int64 TestAllTypesLite::repeated_int64(int index) const {
  return repeated_int64_.Get(index);
}
inline void TestAllTypesLite::set_repeated_int64(int index, ::google::protobuf::int64 value) {
  repeated_int64_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_int64(::google::protobuf::int64 value) {
  repeated_int64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
TestAllTypesLite::repeated_int64() const {
  return repeated_int64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
TestAllTypesLite::mutable_repeated_int64() {
  return &repeated_int64_;
}

// repeated uint32 repeated_uint32 = 33;
inline int TestAllTypesLite::repeated_uint32_size() const {
  return repeated_uint32_.size();
}
inline void TestAllTypesLite::clear_repeated_uint32() {
  repeated_uint32_.Clear();
}
inline ::google::protobuf::uint32 TestAllTypesLite::repeated_uint32(int index) const {
  return repeated_uint32_.Get(index);
}
inline void TestAllTypesLite::set_repeated_uint32(int index, ::google::protobuf::uint32 value) {
  repeated_uint32_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_uint32(::google::protobuf::uint32 value) {
  repeated_uint32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
TestAllTypesLite::repeated_uint32() const {
  return repeated_uint32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
TestAllTypesLite::mutable_repeated_uint32() {
  return &repeated_uint32_;
}

// repeated uint64 repeated_uint64 = 34;
inline int TestAllTypesLite::repeated_uint64_size() const {
  return repeated_uint64_.size();
}
inline void TestAllTypesLite::clear_repeated_uint64() {
  repeated_uint64_.Clear();
}
inline ::google::protobuf::uint64 TestAllTypesLite::repeated_uint64(int index) const {
  return repeated_uint64_.Get(index);
}
inline void TestAllTypesLite::set_repeated_uint64(int index, ::google::protobuf::uint64 value) {
  repeated_uint64_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_uint64(::google::protobuf::uint64 value) {
  repeated_uint64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
TestAllTypesLite::repeated_uint64() const {
  return repeated_uint64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
TestAllTypesLite::mutable_repeated_uint64() {
  return &repeated_uint64_;
}

// repeated sint32 repeated_sint32 = 35;
inline int TestAllTypesLite::repeated_sint32_size() const {
  return repeated_sint32_.size();
}
inline void TestAllTypesLite::clear_repeated_sint32() {
  repeated_sint32_.Clear();
}
inline ::google::protobuf::int32 TestAllTypesLite::repeated_sint32(int index) const {
  return repeated_sint32_.Get(index);
}
inline void TestAllTypesLite::set_repeated_sint32(int index, ::google::protobuf::int32 value) {
  repeated_sint32_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_sint32(::google::protobuf::int32 value) {
  repeated_sint32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
TestAllTypesLite::repeated_sint32() const {
  return repeated_sint32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
TestAllTypesLite::mutable_repeated_sint32() {
  return &repeated_sint32_;
}

// repeated sint64 repeated_sint64 = 36;
inline int TestAllTypesLite::repeated_sint64_size() const {
  return repeated_sint64_.size();
}
inline void TestAllTypesLite::clear_repeated_sint64() {
  repeated_sint64_.Clear();
}
inline ::google::protobuf::int64 TestAllTypesLite::repeated_sint64(int index) const {
  return repeated_sint64_.Get(index);
}
inline void TestAllTypesLite::set_repeated_sint64(int index, ::google::protobuf::int64 value) {
  repeated_sint64_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_sint64(::google::protobuf::int64 value) {
  repeated_sint64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
TestAllTypesLite::repeated_sint64() const {
  return repeated_sint64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
TestAllTypesLite::mutable_repeated_sint64() {
  return &repeated_sint64_;
}

// repeated fixed32 repeated_fixed32 = 37;
inline int TestAllTypesLite::repeated_fixed32_size() const {
  return repeated_fixed32_.size();
}
inline void TestAllTypesLite::clear_repeated_fixed32() {
  repeated_fixed32_.Clear();
}
inline ::google::protobuf::uint32 TestAllTypesLite::repeated_fixed32(int index) const {
  return repeated_fixed32_.Get(index);
}
inline void TestAllTypesLite::set_repeated_fixed32(int index, ::google::protobuf::uint32 value) {
  repeated_fixed32_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_fixed32(::google::protobuf::uint32 value) {
  repeated_fixed32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
TestAllTypesLite::repeated_fixed32() const {
  return repeated_fixed32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
TestAllTypesLite::mutable_repeated_fixed32() {
  return &repeated_fixed32_;
}

// repeated fixed64 repeated_fixed64 = 38;
inline int TestAllTypesLite::repeated_fixed64_size() const {
  return repeated_fixed64_.size();
}
inline void TestAllTypesLite::clear_repeated_fixed64() {
  repeated_fixed64_.Clear();
}
inline ::google::protobuf::uint64 TestAllTypesLite::repeated_fixed64(int index) const {
  return repeated_fixed64_.Get(index);
}
inline void TestAllTypesLite::set_repeated_fixed64(int index, ::google::protobuf::uint64 value) {
  repeated_fixed64_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_fixed64(::google::protobuf::uint64 value) {
  repeated_fixed64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
TestAllTypesLite::repeated_fixed64() const {
  return repeated_fixed64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
TestAllTypesLite::mutable_repeated_fixed64() {
  return &repeated_fixed64_;
}

// repeated sfixed32 repeated_sfixed32 = 39;
inline int TestAllTypesLite::repeated_sfixed32_size() const {
  return repeated_sfixed32_.size();
}
inline void TestAllTypesLite::clear_repeated_sfixed32() {
  repeated_sfixed32_.Clear();
}
inline ::google::protobuf::int32 TestAllTypesLite::repeated_sfixed32(int index) const {
  return repeated_sfixed32_.Get(index);
}
inline void TestAllTypesLite::set_repeated_sfixed32(int index, ::google::protobuf::int32 value) {
  repeated_sfixed32_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_sfixed32(::google::protobuf::int32 value) {
  repeated_sfixed32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
TestAllTypesLite::repeated_sfixed32() const {
  return repeated_sfixed32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
TestAllTypesLite::mutable_repeated_sfixed32() {
  return &repeated_sfixed32_;
}

// repeated sfixed64 repeated_sfixed64 = 40;
inline int TestAllTypesLite::repeated_sfixed64_size() const {
  return repeated_sfixed64_.size();
}
inline void TestAllTypesLite::clear_repeated_sfixed64() {
  repeated_sfixed64_.Clear();
}
inline ::google::protobuf::int64 TestAllTypesLite::repeated_sfixed64(int index) const {
  return repeated_sfixed64_.Get(index);
}
inline void TestAllTypesLite::set_repeated_sfixed64(int index, ::google::protobuf::int64 value) {
  repeated_sfixed64_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_sfixed64(::google::protobuf::int64 value) {
  repeated_sfixed64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
TestAllTypesLite::repeated_sfixed64() const {
  return repeated_sfixed64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
TestAllTypesLite::mutable_repeated_sfixed64() {
  return &repeated_sfixed64_;
}

// repeated float repeated_float = 41;
inline int TestAllTypesLite::repeated_float_size() const {
  return repeated_float_.size();
}
inline void TestAllTypesLite::clear_repeated_float() {
  repeated_float_.Clear();
}
inline float TestAllTypesLite::repeated_float(int index) const {
  return repeated_float_.Get(index);
}
inline void TestAllTypesLite::set_repeated_float(int index, float value) {
  repeated_float_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_float(float value) {
  repeated_float_.Add(value);
}
inline const ::google::protobuf::RepeatedField< float >&
TestAllTypesLite::repeated_float() const {
  return repeated_float_;
}
inline ::google::protobuf::RepeatedField< float >*
TestAllTypesLite::mutable_repeated_float() {
  return &repeated_float_;
}

// repeated double repeated_double = 42;
inline int TestAllTypesLite::repeated_double_size() const {
  return repeated_double_.size();
}
inline void TestAllTypesLite::clear_repeated_double() {
  repeated_double_.Clear();
}
inline double TestAllTypesLite::repeated_double(int index) const {
  return repeated_double_.Get(index);
}
inline void TestAllTypesLite::set_repeated_double(int index, double value) {
  repeated_double_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_double(double value) {
  repeated_double_.Add(value);
}
inline const ::google::protobuf::RepeatedField< double >&
TestAllTypesLite::repeated_double() const {
  return repeated_double_;
}
inline ::google::protobuf::RepeatedField< double >*
TestAllTypesLite::mutable_repeated_double() {
  return &repeated_double_;
}

// repeated bool repeated_bool = 43;
inline int TestAllTypesLite::repeated_bool_size() const {
  return repeated_bool_.size();
}
inline void TestAllTypesLite::clear_repeated_bool() {
  repeated_bool_.Clear();
}
inline bool TestAllTypesLite::repeated_bool(int index) const {
  return repeated_bool_.Get(index);
}
inline void TestAllTypesLite::set_repeated_bool(int index, bool value) {
  repeated_bool_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_bool(bool value) {
  repeated_bool_.Add(value);
}
inline const ::google::protobuf::RepeatedField< bool >&
TestAllTypesLite::repeated_bool() const {
  return repeated_bool_;
}
inline ::google::protobuf::RepeatedField< bool >*
TestAllTypesLite::mutable_repeated_bool() {
  return &repeated_bool_;
}

// repeated string repeated_string = 44;
inline int TestAllTypesLite::repeated_string_size() const {
  return repeated_string_.size();
}
inline void TestAllTypesLite::clear_repeated_string() {
  repeated_string_.Clear();
}
inline const ::std::string& TestAllTypesLite::repeated_string(int index) const {
  return repeated_string_.Get(index);
}
inline ::std::string* TestAllTypesLite::mutable_repeated_string(int index) {
  return repeated_string_.Mutable(index);
}
inline void TestAllTypesLite::set_repeated_string(int index, const ::std::string& value) {
  repeated_string_.Mutable(index)->assign(value);
}
inline void TestAllTypesLite::set_repeated_string(int index, const char* value) {
  repeated_string_.Mutable(index)->assign(value);
}
inline void TestAllTypesLite::set_repeated_string(int index, const char* value, size_t size) {
  repeated_string_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::add_repeated_string() {
  return repeated_string_.Add();
}
inline void TestAllTypesLite::add_repeated_string(const ::std::string& value) {
  repeated_string_.Add()->assign(value);
}
inline void TestAllTypesLite::add_repeated_string(const char* value) {
  repeated_string_.Add()->assign(value);
}
inline void TestAllTypesLite::add_repeated_string(const char* value, size_t size) {
  repeated_string_.Add()->assign(reinterpret_cast<const char*>(value), size);
}
inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
TestAllTypesLite::repeated_string() const {
  return repeated_string_;
}
inline ::google::protobuf::RepeatedPtrField< ::std::string>*
TestAllTypesLite::mutable_repeated_string() {
  return &repeated_string_;
}

// repeated bytes repeated_bytes = 45;
inline int TestAllTypesLite::repeated_bytes_size() const {
  return repeated_bytes_.size();
}
inline void TestAllTypesLite::clear_repeated_bytes() {
  repeated_bytes_.Clear();
}
inline const ::std::string& TestAllTypesLite::repeated_bytes(int index) const {
  return repeated_bytes_.Get(index);
}
inline ::std::string* TestAllTypesLite::mutable_repeated_bytes(int index) {
  return repeated_bytes_.Mutable(index);
}
inline void TestAllTypesLite::set_repeated_bytes(int index, const ::std::string& value) {
  repeated_bytes_.Mutable(index)->assign(value);
}
inline void TestAllTypesLite::set_repeated_bytes(int index, const char* value) {
  repeated_bytes_.Mutable(index)->assign(value);
}
inline void TestAllTypesLite::set_repeated_bytes(int index, const void* value, size_t size) {
  repeated_bytes_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::add_repeated_bytes() {
  return repeated_bytes_.Add();
}
inline void TestAllTypesLite::add_repeated_bytes(const ::std::string& value) {
  repeated_bytes_.Add()->assign(value);
}
inline void TestAllTypesLite::add_repeated_bytes(const char* value) {
  repeated_bytes_.Add()->assign(value);
}
inline void TestAllTypesLite::add_repeated_bytes(const void* value, size_t size) {
  repeated_bytes_.Add()->assign(reinterpret_cast<const char*>(value), size);
}
inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
TestAllTypesLite::repeated_bytes() const {
  return repeated_bytes_;
}
inline ::google::protobuf::RepeatedPtrField< ::std::string>*
TestAllTypesLite::mutable_repeated_bytes() {
  return &repeated_bytes_;
}

// repeated group RepeatedGroup = 46 {
inline int TestAllTypesLite::repeatedgroup_size() const {
  return repeatedgroup_.size();
}
inline void TestAllTypesLite::clear_repeatedgroup() {
  repeatedgroup_.Clear();
}
inline const ::protobuf_unittest::TestAllTypesLite_RepeatedGroup& TestAllTypesLite::repeatedgroup(int index) const {
  return repeatedgroup_.Get(index);
}
inline ::protobuf_unittest::TestAllTypesLite_RepeatedGroup* TestAllTypesLite::mutable_repeatedgroup(int index) {
  return repeatedgroup_.Mutable(index);
}
inline ::protobuf_unittest::TestAllTypesLite_RepeatedGroup* TestAllTypesLite::add_repeatedgroup() {
  return repeatedgroup_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_RepeatedGroup >&
TestAllTypesLite::repeatedgroup() const {
  return repeatedgroup_;
}
inline ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_RepeatedGroup >*
TestAllTypesLite::mutable_repeatedgroup() {
  return &repeatedgroup_;
}

// repeated .protobuf_unittest.TestAllTypesLite.NestedMessage repeated_nested_message = 48;
inline int TestAllTypesLite::repeated_nested_message_size() const {
  return repeated_nested_message_.size();
}
inline void TestAllTypesLite::clear_repeated_nested_message() {
  repeated_nested_message_.Clear();
}
inline const ::protobuf_unittest::TestAllTypesLite_NestedMessage& TestAllTypesLite::repeated_nested_message(int index) const {
  return repeated_nested_message_.Get(index);
}
inline ::protobuf_unittest::TestAllTypesLite_NestedMessage* TestAllTypesLite::mutable_repeated_nested_message(int index) {
  return repeated_nested_message_.Mutable(index);
}
inline ::protobuf_unittest::TestAllTypesLite_NestedMessage* TestAllTypesLite::add_repeated_nested_message() {
  return repeated_nested_message_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_NestedMessage >&
TestAllTypesLite::repeated_nested_message() const {
  return repeated_nested_message_;
}
inline ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::TestAllTypesLite_NestedMessage >*
TestAllTypesLite::mutable_repeated_nested_message() {
  return &repeated_nested_message_;
}

// repeated .protobuf_unittest.ForeignMessageLite repeated_foreign_message = 49;
inline int TestAllTypesLite::repeated_foreign_message_size() const {
  return repeated_foreign_message_.size();
}
inline void TestAllTypesLite::clear_repeated_foreign_message() {
  repeated_foreign_message_.Clear();
}
inline const ::protobuf_unittest::ForeignMessageLite& TestAllTypesLite::repeated_foreign_message(int index) const {
  return repeated_foreign_message_.Get(index);
}
inline ::protobuf_unittest::ForeignMessageLite* TestAllTypesLite::mutable_repeated_foreign_message(int index) {
  return repeated_foreign_message_.Mutable(index);
}
inline ::protobuf_unittest::ForeignMessageLite* TestAllTypesLite::add_repeated_foreign_message() {
  return repeated_foreign_message_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::ForeignMessageLite >&
TestAllTypesLite::repeated_foreign_message() const {
  return repeated_foreign_message_;
}
inline ::google::protobuf::RepeatedPtrField< ::protobuf_unittest::ForeignMessageLite >*
TestAllTypesLite::mutable_repeated_foreign_message() {
  return &repeated_foreign_message_;
}

// repeated .protobuf_unittest_import.ImportMessageLite repeated_import_message = 50;
inline int TestAllTypesLite::repeated_import_message_size() const {
  return repeated_import_message_.size();
}
inline void TestAllTypesLite::clear_repeated_import_message() {
  repeated_import_message_.Clear();
}
inline const ::protobuf_unittest_import::ImportMessageLite& TestAllTypesLite::repeated_import_message(int index) const {
  return repeated_import_message_.Get(index);
}
inline ::protobuf_unittest_import::ImportMessageLite* TestAllTypesLite::mutable_repeated_import_message(int index) {
  return repeated_import_message_.Mutable(index);
}
inline ::protobuf_unittest_import::ImportMessageLite* TestAllTypesLite::add_repeated_import_message() {
  return repeated_import_message_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::protobuf_unittest_import::ImportMessageLite >&
TestAllTypesLite::repeated_import_message() const {
  return repeated_import_message_;
}
inline ::google::protobuf::RepeatedPtrField< ::protobuf_unittest_import::ImportMessageLite >*
TestAllTypesLite::mutable_repeated_import_message() {
  return &repeated_import_message_;
}

// repeated .protobuf_unittest.TestAllTypesLite.NestedEnum repeated_nested_enum = 51;
inline int TestAllTypesLite::repeated_nested_enum_size() const {
  return repeated_nested_enum_.size();
}
inline void TestAllTypesLite::clear_repeated_nested_enum() {
  repeated_nested_enum_.Clear();
}
inline ::protobuf_unittest::TestAllTypesLite_NestedEnum TestAllTypesLite::repeated_nested_enum(int index) const {
  return static_cast< ::protobuf_unittest::TestAllTypesLite_NestedEnum >(repeated_nested_enum_.Get(index));
}
inline void TestAllTypesLite::set_repeated_nested_enum(int index, ::protobuf_unittest::TestAllTypesLite_NestedEnum value) {
  GOOGLE_DCHECK(::protobuf_unittest::TestAllTypesLite_NestedEnum_IsValid(value));
  repeated_nested_enum_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_nested_enum(::protobuf_unittest::TestAllTypesLite_NestedEnum value) {
  GOOGLE_DCHECK(::protobuf_unittest::TestAllTypesLite_NestedEnum_IsValid(value));
  repeated_nested_enum_.Add(value);
}
inline const ::google::protobuf::RepeatedField<int>&
TestAllTypesLite::repeated_nested_enum() const {
  return repeated_nested_enum_;
}
inline ::google::protobuf::RepeatedField<int>*
TestAllTypesLite::mutable_repeated_nested_enum() {
  return &repeated_nested_enum_;
}

// repeated .protobuf_unittest.ForeignEnumLite repeated_foreign_enum = 52;
inline int TestAllTypesLite::repeated_foreign_enum_size() const {
  return repeated_foreign_enum_.size();
}
inline void TestAllTypesLite::clear_repeated_foreign_enum() {
  repeated_foreign_enum_.Clear();
}
inline protobuf_unittest::ForeignEnumLite TestAllTypesLite::repeated_foreign_enum(int index) const {
  return static_cast< protobuf_unittest::ForeignEnumLite >(repeated_foreign_enum_.Get(index));
}
inline void TestAllTypesLite::set_repeated_foreign_enum(int index, protobuf_unittest::ForeignEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest::ForeignEnumLite_IsValid(value));
  repeated_foreign_enum_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_foreign_enum(protobuf_unittest::ForeignEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest::ForeignEnumLite_IsValid(value));
  repeated_foreign_enum_.Add(value);
}
inline const ::google::protobuf::RepeatedField<int>&
TestAllTypesLite::repeated_foreign_enum() const {
  return repeated_foreign_enum_;
}
inline ::google::protobuf::RepeatedField<int>*
TestAllTypesLite::mutable_repeated_foreign_enum() {
  return &repeated_foreign_enum_;
}

// repeated .protobuf_unittest_import.ImportEnumLite repeated_import_enum = 53;
inline int TestAllTypesLite::repeated_import_enum_size() const {
  return repeated_import_enum_.size();
}
inline void TestAllTypesLite::clear_repeated_import_enum() {
  repeated_import_enum_.Clear();
}
inline protobuf_unittest_import::ImportEnumLite TestAllTypesLite::repeated_import_enum(int index) const {
  return static_cast< protobuf_unittest_import::ImportEnumLite >(repeated_import_enum_.Get(index));
}
inline void TestAllTypesLite::set_repeated_import_enum(int index, protobuf_unittest_import::ImportEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest_import::ImportEnumLite_IsValid(value));
  repeated_import_enum_.Set(index, value);
}
inline void TestAllTypesLite::add_repeated_import_enum(protobuf_unittest_import::ImportEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest_import::ImportEnumLite_IsValid(value));
  repeated_import_enum_.Add(value);
}
inline const ::google::protobuf::RepeatedField<int>&
TestAllTypesLite::repeated_import_enum() const {
  return repeated_import_enum_;
}
inline ::google::protobuf::RepeatedField<int>*
TestAllTypesLite::mutable_repeated_import_enum() {
  return &repeated_import_enum_;
}

// repeated string repeated_string_piece = 54 [ctype = STRING_PIECE];
inline int TestAllTypesLite::repeated_string_piece_size() const {
  return repeated_string_piece_.size();
}
inline void TestAllTypesLite::clear_repeated_string_piece() {
  repeated_string_piece_.Clear();
}
inline const ::std::string& TestAllTypesLite::repeated_string_piece(int index) const {
  return repeated_string_piece_.Get(index);
}
inline ::std::string* TestAllTypesLite::mutable_repeated_string_piece(int index) {
  return repeated_string_piece_.Mutable(index);
}
inline void TestAllTypesLite::set_repeated_string_piece(int index, const ::std::string& value) {
  repeated_string_piece_.Mutable(index)->assign(value);
}
inline void TestAllTypesLite::set_repeated_string_piece(int index, const char* value) {
  repeated_string_piece_.Mutable(index)->assign(value);
}
inline void TestAllTypesLite::set_repeated_string_piece(int index, const char* value, size_t size) {
  repeated_string_piece_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::add_repeated_string_piece() {
  return repeated_string_piece_.Add();
}
inline void TestAllTypesLite::add_repeated_string_piece(const ::std::string& value) {
  repeated_string_piece_.Add()->assign(value);
}
inline void TestAllTypesLite::add_repeated_string_piece(const char* value) {
  repeated_string_piece_.Add()->assign(value);
}
inline void TestAllTypesLite::add_repeated_string_piece(const char* value, size_t size) {
  repeated_string_piece_.Add()->assign(reinterpret_cast<const char*>(value), size);
}
inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
TestAllTypesLite::repeated_string_piece() const {
  return repeated_string_piece_;
}
inline ::google::protobuf::RepeatedPtrField< ::std::string>*
TestAllTypesLite::mutable_repeated_string_piece() {
  return &repeated_string_piece_;
}

// repeated string repeated_cord = 55 [ctype = CORD];
inline int TestAllTypesLite::repeated_cord_size() const {
  return repeated_cord_.size();
}
inline void TestAllTypesLite::clear_repeated_cord() {
  repeated_cord_.Clear();
}
inline const ::std::string& TestAllTypesLite::repeated_cord(int index) const {
  return repeated_cord_.Get(index);
}
inline ::std::string* TestAllTypesLite::mutable_repeated_cord(int index) {
  return repeated_cord_.Mutable(index);
}
inline void TestAllTypesLite::set_repeated_cord(int index, const ::std::string& value) {
  repeated_cord_.Mutable(index)->assign(value);
}
inline void TestAllTypesLite::set_repeated_cord(int index, const char* value) {
  repeated_cord_.Mutable(index)->assign(value);
}
inline void TestAllTypesLite::set_repeated_cord(int index, const char* value, size_t size) {
  repeated_cord_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::add_repeated_cord() {
  return repeated_cord_.Add();
}
inline void TestAllTypesLite::add_repeated_cord(const ::std::string& value) {
  repeated_cord_.Add()->assign(value);
}
inline void TestAllTypesLite::add_repeated_cord(const char* value) {
  repeated_cord_.Add()->assign(value);
}
inline void TestAllTypesLite::add_repeated_cord(const char* value, size_t size) {
  repeated_cord_.Add()->assign(reinterpret_cast<const char*>(value), size);
}
inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
TestAllTypesLite::repeated_cord() const {
  return repeated_cord_;
}
inline ::google::protobuf::RepeatedPtrField< ::std::string>*
TestAllTypesLite::mutable_repeated_cord() {
  return &repeated_cord_;
}

// optional int32 default_int32 = 61 [default = 41];
inline bool TestAllTypesLite::has_default_int32() const {
  return (_has_bits_[1] & 0x00010000u) != 0;
}
inline void TestAllTypesLite::set_has_default_int32() {
  _has_bits_[1] |= 0x00010000u;
}
inline void TestAllTypesLite::clear_has_default_int32() {
  _has_bits_[1] &= ~0x00010000u;
}
inline void TestAllTypesLite::clear_default_int32() {
  default_int32_ = 41;
  clear_has_default_int32();
}
inline ::google::protobuf::int32 TestAllTypesLite::default_int32() const {
  return default_int32_;
}
inline void TestAllTypesLite::set_default_int32(::google::protobuf::int32 value) {
  set_has_default_int32();
  default_int32_ = value;
}

// optional int64 default_int64 = 62 [default = 42];
inline bool TestAllTypesLite::has_default_int64() const {
  return (_has_bits_[1] & 0x00020000u) != 0;
}
inline void TestAllTypesLite::set_has_default_int64() {
  _has_bits_[1] |= 0x00020000u;
}
inline void TestAllTypesLite::clear_has_default_int64() {
  _has_bits_[1] &= ~0x00020000u;
}
inline void TestAllTypesLite::clear_default_int64() {
  default_int64_ = GOOGLE_LONGLONG(42);
  clear_has_default_int64();
}
inline ::google::protobuf::int64 TestAllTypesLite::default_int64() const {
  return default_int64_;
}
inline void TestAllTypesLite::set_default_int64(::google::protobuf::int64 value) {
  set_has_default_int64();
  default_int64_ = value;
}

// optional uint32 default_uint32 = 63 [default = 43];
inline bool TestAllTypesLite::has_default_uint32() const {
  return (_has_bits_[1] & 0x00040000u) != 0;
}
inline void TestAllTypesLite::set_has_default_uint32() {
  _has_bits_[1] |= 0x00040000u;
}
inline void TestAllTypesLite::clear_has_default_uint32() {
  _has_bits_[1] &= ~0x00040000u;
}
inline void TestAllTypesLite::clear_default_uint32() {
  default_uint32_ = 43u;
  clear_has_default_uint32();
}
inline ::google::protobuf::uint32 TestAllTypesLite::default_uint32() const {
  return default_uint32_;
}
inline void TestAllTypesLite::set_default_uint32(::google::protobuf::uint32 value) {
  set_has_default_uint32();
  default_uint32_ = value;
}

// optional uint64 default_uint64 = 64 [default = 44];
inline bool TestAllTypesLite::has_default_uint64() const {
  return (_has_bits_[1] & 0x00080000u) != 0;
}
inline void TestAllTypesLite::set_has_default_uint64() {
  _has_bits_[1] |= 0x00080000u;
}
inline void TestAllTypesLite::clear_has_default_uint64() {
  _has_bits_[1] &= ~0x00080000u;
}
inline void TestAllTypesLite::clear_default_uint64() {
  default_uint64_ = GOOGLE_ULONGLONG(44);
  clear_has_default_uint64();
}
inline ::google::protobuf::uint64 TestAllTypesLite::default_uint64() const {
  return default_uint64_;
}
inline void TestAllTypesLite::set_default_uint64(::google::protobuf::uint64 value) {
  set_has_default_uint64();
  default_uint64_ = value;
}

// optional sint32 default_sint32 = 65 [default = -45];
inline bool TestAllTypesLite::has_default_sint32() const {
  return (_has_bits_[1] & 0x00100000u) != 0;
}
inline void TestAllTypesLite::set_has_default_sint32() {
  _has_bits_[1] |= 0x00100000u;
}
inline void TestAllTypesLite::clear_has_default_sint32() {
  _has_bits_[1] &= ~0x00100000u;
}
inline void TestAllTypesLite::clear_default_sint32() {
  default_sint32_ = -45;
  clear_has_default_sint32();
}
inline ::google::protobuf::int32 TestAllTypesLite::default_sint32() const {
  return default_sint32_;
}
inline void TestAllTypesLite::set_default_sint32(::google::protobuf::int32 value) {
  set_has_default_sint32();
  default_sint32_ = value;
}

// optional sint64 default_sint64 = 66 [default = 46];
inline bool TestAllTypesLite::has_default_sint64() const {
  return (_has_bits_[1] & 0x00200000u) != 0;
}
inline void TestAllTypesLite::set_has_default_sint64() {
  _has_bits_[1] |= 0x00200000u;
}
inline void TestAllTypesLite::clear_has_default_sint64() {
  _has_bits_[1] &= ~0x00200000u;
}
inline void TestAllTypesLite::clear_default_sint64() {
  default_sint64_ = GOOGLE_LONGLONG(46);
  clear_has_default_sint64();
}
inline ::google::protobuf::int64 TestAllTypesLite::default_sint64() const {
  return default_sint64_;
}
inline void TestAllTypesLite::set_default_sint64(::google::protobuf::int64 value) {
  set_has_default_sint64();
  default_sint64_ = value;
}

// optional fixed32 default_fixed32 = 67 [default = 47];
inline bool TestAllTypesLite::has_default_fixed32() const {
  return (_has_bits_[1] & 0x00400000u) != 0;
}
inline void TestAllTypesLite::set_has_default_fixed32() {
  _has_bits_[1] |= 0x00400000u;
}
inline void TestAllTypesLite::clear_has_default_fixed32() {
  _has_bits_[1] &= ~0x00400000u;
}
inline void TestAllTypesLite::clear_default_fixed32() {
  default_fixed32_ = 47u;
  clear_has_default_fixed32();
}
inline ::google::protobuf::uint32 TestAllTypesLite::default_fixed32() const {
  return default_fixed32_;
}
inline void TestAllTypesLite::set_default_fixed32(::google::protobuf::uint32 value) {
  set_has_default_fixed32();
  default_fixed32_ = value;
}

// optional fixed64 default_fixed64 = 68 [default = 48];
inline bool TestAllTypesLite::has_default_fixed64() const {
  return (_has_bits_[1] & 0x00800000u) != 0;
}
inline void TestAllTypesLite::set_has_default_fixed64() {
  _has_bits_[1] |= 0x00800000u;
}
inline void TestAllTypesLite::clear_has_default_fixed64() {
  _has_bits_[1] &= ~0x00800000u;
}
inline void TestAllTypesLite::clear_default_fixed64() {
  default_fixed64_ = GOOGLE_ULONGLONG(48);
  clear_has_default_fixed64();
}
inline ::google::protobuf::uint64 TestAllTypesLite::default_fixed64() const {
  return default_fixed64_;
}
inline void TestAllTypesLite::set_default_fixed64(::google::protobuf::uint64 value) {
  set_has_default_fixed64();
  default_fixed64_ = value;
}

// optional sfixed32 default_sfixed32 = 69 [default = 49];
inline bool TestAllTypesLite::has_default_sfixed32() const {
  return (_has_bits_[1] & 0x01000000u) != 0;
}
inline void TestAllTypesLite::set_has_default_sfixed32() {
  _has_bits_[1] |= 0x01000000u;
}
inline void TestAllTypesLite::clear_has_default_sfixed32() {
  _has_bits_[1] &= ~0x01000000u;
}
inline void TestAllTypesLite::clear_default_sfixed32() {
  default_sfixed32_ = 49;
  clear_has_default_sfixed32();
}
inline ::google::protobuf::int32 TestAllTypesLite::default_sfixed32() const {
  return default_sfixed32_;
}
inline void TestAllTypesLite::set_default_sfixed32(::google::protobuf::int32 value) {
  set_has_default_sfixed32();
  default_sfixed32_ = value;
}

// optional sfixed64 default_sfixed64 = 70 [default = -50];
inline bool TestAllTypesLite::has_default_sfixed64() const {
  return (_has_bits_[1] & 0x02000000u) != 0;
}
inline void TestAllTypesLite::set_has_default_sfixed64() {
  _has_bits_[1] |= 0x02000000u;
}
inline void TestAllTypesLite::clear_has_default_sfixed64() {
  _has_bits_[1] &= ~0x02000000u;
}
inline void TestAllTypesLite::clear_default_sfixed64() {
  default_sfixed64_ = GOOGLE_LONGLONG(-50);
  clear_has_default_sfixed64();
}
inline ::google::protobuf::int64 TestAllTypesLite::default_sfixed64() const {
  return default_sfixed64_;
}
inline void TestAllTypesLite::set_default_sfixed64(::google::protobuf::int64 value) {
  set_has_default_sfixed64();
  default_sfixed64_ = value;
}

// optional float default_float = 71 [default = 51.5];
inline bool TestAllTypesLite::has_default_float() const {
  return (_has_bits_[1] & 0x04000000u) != 0;
}
inline void TestAllTypesLite::set_has_default_float() {
  _has_bits_[1] |= 0x04000000u;
}
inline void TestAllTypesLite::clear_has_default_float() {
  _has_bits_[1] &= ~0x04000000u;
}
inline void TestAllTypesLite::clear_default_float() {
  default_float_ = 51.5f;
  clear_has_default_float();
}
inline float TestAllTypesLite::default_float() const {
  return default_float_;
}
inline void TestAllTypesLite::set_default_float(float value) {
  set_has_default_float();
  default_float_ = value;
}

// optional double default_double = 72 [default = 52000];
inline bool TestAllTypesLite::has_default_double() const {
  return (_has_bits_[1] & 0x08000000u) != 0;
}
inline void TestAllTypesLite::set_has_default_double() {
  _has_bits_[1] |= 0x08000000u;
}
inline void TestAllTypesLite::clear_has_default_double() {
  _has_bits_[1] &= ~0x08000000u;
}
inline void TestAllTypesLite::clear_default_double() {
  default_double_ = 52000;
  clear_has_default_double();
}
inline double TestAllTypesLite::default_double() const {
  return default_double_;
}
inline void TestAllTypesLite::set_default_double(double value) {
  set_has_default_double();
  default_double_ = value;
}

// optional bool default_bool = 73 [default = true];
inline bool TestAllTypesLite::has_default_bool() const {
  return (_has_bits_[1] & 0x10000000u) != 0;
}
inline void TestAllTypesLite::set_has_default_bool() {
  _has_bits_[1] |= 0x10000000u;
}
inline void TestAllTypesLite::clear_has_default_bool() {
  _has_bits_[1] &= ~0x10000000u;
}
inline void TestAllTypesLite::clear_default_bool() {
  default_bool_ = true;
  clear_has_default_bool();
}
inline bool TestAllTypesLite::default_bool() const {
  return default_bool_;
}
inline void TestAllTypesLite::set_default_bool(bool value) {
  set_has_default_bool();
  default_bool_ = value;
}

// optional string default_string = 74 [default = "hello"];
inline bool TestAllTypesLite::has_default_string() const {
  return (_has_bits_[1] & 0x20000000u) != 0;
}
inline void TestAllTypesLite::set_has_default_string() {
  _has_bits_[1] |= 0x20000000u;
}
inline void TestAllTypesLite::clear_has_default_string() {
  _has_bits_[1] &= ~0x20000000u;
}
inline void TestAllTypesLite::clear_default_string() {
  if (default_string_ != &_default_default_string_) {
    default_string_->assign(_default_default_string_);
  }
  clear_has_default_string();
}
inline const ::std::string& TestAllTypesLite::default_string() const {
  return *default_string_;
}
inline void TestAllTypesLite::set_default_string(const ::std::string& value) {
  set_has_default_string();
  if (default_string_ == &_default_default_string_) {
    default_string_ = new ::std::string;
  }
  default_string_->assign(value);
}
inline void TestAllTypesLite::set_default_string(const char* value) {
  set_has_default_string();
  if (default_string_ == &_default_default_string_) {
    default_string_ = new ::std::string;
  }
  default_string_->assign(value);
}
inline void TestAllTypesLite::set_default_string(const char* value, size_t size) {
  set_has_default_string();
  if (default_string_ == &_default_default_string_) {
    default_string_ = new ::std::string;
  }
  default_string_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::mutable_default_string() {
  set_has_default_string();
  if (default_string_ == &_default_default_string_) {
    default_string_ = new ::std::string(_default_default_string_);
  }
  return default_string_;
}
inline ::std::string* TestAllTypesLite::release_default_string() {
  clear_has_default_string();
  if (default_string_ == &_default_default_string_) {
    return NULL;
  } else {
    ::std::string* temp = default_string_;
    default_string_ = const_cast< ::std::string*>(&_default_default_string_);
    return temp;
  }
}

// optional bytes default_bytes = 75 [default = "world"];
inline bool TestAllTypesLite::has_default_bytes() const {
  return (_has_bits_[1] & 0x40000000u) != 0;
}
inline void TestAllTypesLite::set_has_default_bytes() {
  _has_bits_[1] |= 0x40000000u;
}
inline void TestAllTypesLite::clear_has_default_bytes() {
  _has_bits_[1] &= ~0x40000000u;
}
inline void TestAllTypesLite::clear_default_bytes() {
  if (default_bytes_ != &_default_default_bytes_) {
    default_bytes_->assign(_default_default_bytes_);
  }
  clear_has_default_bytes();
}
inline const ::std::string& TestAllTypesLite::default_bytes() const {
  return *default_bytes_;
}
inline void TestAllTypesLite::set_default_bytes(const ::std::string& value) {
  set_has_default_bytes();
  if (default_bytes_ == &_default_default_bytes_) {
    default_bytes_ = new ::std::string;
  }
  default_bytes_->assign(value);
}
inline void TestAllTypesLite::set_default_bytes(const char* value) {
  set_has_default_bytes();
  if (default_bytes_ == &_default_default_bytes_) {
    default_bytes_ = new ::std::string;
  }
  default_bytes_->assign(value);
}
inline void TestAllTypesLite::set_default_bytes(const void* value, size_t size) {
  set_has_default_bytes();
  if (default_bytes_ == &_default_default_bytes_) {
    default_bytes_ = new ::std::string;
  }
  default_bytes_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::mutable_default_bytes() {
  set_has_default_bytes();
  if (default_bytes_ == &_default_default_bytes_) {
    default_bytes_ = new ::std::string(_default_default_bytes_);
  }
  return default_bytes_;
}
inline ::std::string* TestAllTypesLite::release_default_bytes() {
  clear_has_default_bytes();
  if (default_bytes_ == &_default_default_bytes_) {
    return NULL;
  } else {
    ::std::string* temp = default_bytes_;
    default_bytes_ = const_cast< ::std::string*>(&_default_default_bytes_);
    return temp;
  }
}

// optional .protobuf_unittest.TestAllTypesLite.NestedEnum default_nested_enum = 81 [default = BAR];
inline bool TestAllTypesLite::has_default_nested_enum() const {
  return (_has_bits_[1] & 0x80000000u) != 0;
}
inline void TestAllTypesLite::set_has_default_nested_enum() {
  _has_bits_[1] |= 0x80000000u;
}
inline void TestAllTypesLite::clear_has_default_nested_enum() {
  _has_bits_[1] &= ~0x80000000u;
}
inline void TestAllTypesLite::clear_default_nested_enum() {
  default_nested_enum_ = 2;
  clear_has_default_nested_enum();
}
inline ::protobuf_unittest::TestAllTypesLite_NestedEnum TestAllTypesLite::default_nested_enum() const {
  return static_cast< ::protobuf_unittest::TestAllTypesLite_NestedEnum >(default_nested_enum_);
}
inline void TestAllTypesLite::set_default_nested_enum(::protobuf_unittest::TestAllTypesLite_NestedEnum value) {
  GOOGLE_DCHECK(::protobuf_unittest::TestAllTypesLite_NestedEnum_IsValid(value));
  set_has_default_nested_enum();
  default_nested_enum_ = value;
}

// optional .protobuf_unittest.ForeignEnumLite default_foreign_enum = 82 [default = FOREIGN_LITE_BAR];
inline bool TestAllTypesLite::has_default_foreign_enum() const {
  return (_has_bits_[2] & 0x00000001u) != 0;
}
inline void TestAllTypesLite::set_has_default_foreign_enum() {
  _has_bits_[2] |= 0x00000001u;
}
inline void TestAllTypesLite::clear_has_default_foreign_enum() {
  _has_bits_[2] &= ~0x00000001u;
}
inline void TestAllTypesLite::clear_default_foreign_enum() {
  default_foreign_enum_ = 5;
  clear_has_default_foreign_enum();
}
inline protobuf_unittest::ForeignEnumLite TestAllTypesLite::default_foreign_enum() const {
  return static_cast< protobuf_unittest::ForeignEnumLite >(default_foreign_enum_);
}
inline void TestAllTypesLite::set_default_foreign_enum(protobuf_unittest::ForeignEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest::ForeignEnumLite_IsValid(value));
  set_has_default_foreign_enum();
  default_foreign_enum_ = value;
}

// optional .protobuf_unittest_import.ImportEnumLite default_import_enum = 83 [default = IMPORT_LITE_BAR];
inline bool TestAllTypesLite::has_default_import_enum() const {
  return (_has_bits_[2] & 0x00000002u) != 0;
}
inline void TestAllTypesLite::set_has_default_import_enum() {
  _has_bits_[2] |= 0x00000002u;
}
inline void TestAllTypesLite::clear_has_default_import_enum() {
  _has_bits_[2] &= ~0x00000002u;
}
inline void TestAllTypesLite::clear_default_import_enum() {
  default_import_enum_ = 8;
  clear_has_default_import_enum();
}
inline protobuf_unittest_import::ImportEnumLite TestAllTypesLite::default_import_enum() const {
  return static_cast< protobuf_unittest_import::ImportEnumLite >(default_import_enum_);
}
inline void TestAllTypesLite::set_default_import_enum(protobuf_unittest_import::ImportEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest_import::ImportEnumLite_IsValid(value));
  set_has_default_import_enum();
  default_import_enum_ = value;
}

// optional string default_string_piece = 84 [default = "abc", ctype = STRING_PIECE];
inline bool TestAllTypesLite::has_default_string_piece() const {
  return (_has_bits_[2] & 0x00000004u) != 0;
}
inline void TestAllTypesLite::set_has_default_string_piece() {
  _has_bits_[2] |= 0x00000004u;
}
inline void TestAllTypesLite::clear_has_default_string_piece() {
  _has_bits_[2] &= ~0x00000004u;
}
inline void TestAllTypesLite::clear_default_string_piece() {
  if (default_string_piece_ != &_default_default_string_piece_) {
    default_string_piece_->assign(_default_default_string_piece_);
  }
  clear_has_default_string_piece();
}
inline const ::std::string& TestAllTypesLite::default_string_piece() const {
  return *default_string_piece_;
}
inline void TestAllTypesLite::set_default_string_piece(const ::std::string& value) {
  set_has_default_string_piece();
  if (default_string_piece_ == &_default_default_string_piece_) {
    default_string_piece_ = new ::std::string;
  }
  default_string_piece_->assign(value);
}
inline void TestAllTypesLite::set_default_string_piece(const char* value) {
  set_has_default_string_piece();
  if (default_string_piece_ == &_default_default_string_piece_) {
    default_string_piece_ = new ::std::string;
  }
  default_string_piece_->assign(value);
}
inline void TestAllTypesLite::set_default_string_piece(const char* value, size_t size) {
  set_has_default_string_piece();
  if (default_string_piece_ == &_default_default_string_piece_) {
    default_string_piece_ = new ::std::string;
  }
  default_string_piece_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::mutable_default_string_piece() {
  set_has_default_string_piece();
  if (default_string_piece_ == &_default_default_string_piece_) {
    default_string_piece_ = new ::std::string(_default_default_string_piece_);
  }
  return default_string_piece_;
}
inline ::std::string* TestAllTypesLite::release_default_string_piece() {
  clear_has_default_string_piece();
  if (default_string_piece_ == &_default_default_string_piece_) {
    return NULL;
  } else {
    ::std::string* temp = default_string_piece_;
    default_string_piece_ = const_cast< ::std::string*>(&_default_default_string_piece_);
    return temp;
  }
}

// optional string default_cord = 85 [default = "123", ctype = CORD];
inline bool TestAllTypesLite::has_default_cord() const {
  return (_has_bits_[2] & 0x00000008u) != 0;
}
inline void TestAllTypesLite::set_has_default_cord() {
  _has_bits_[2] |= 0x00000008u;
}
inline void TestAllTypesLite::clear_has_default_cord() {
  _has_bits_[2] &= ~0x00000008u;
}
inline void TestAllTypesLite::clear_default_cord() {
  if (default_cord_ != &_default_default_cord_) {
    default_cord_->assign(_default_default_cord_);
  }
  clear_has_default_cord();
}
inline const ::std::string& TestAllTypesLite::default_cord() const {
  return *default_cord_;
}
inline void TestAllTypesLite::set_default_cord(const ::std::string& value) {
  set_has_default_cord();
  if (default_cord_ == &_default_default_cord_) {
    default_cord_ = new ::std::string;
  }
  default_cord_->assign(value);
}
inline void TestAllTypesLite::set_default_cord(const char* value) {
  set_has_default_cord();
  if (default_cord_ == &_default_default_cord_) {
    default_cord_ = new ::std::string;
  }
  default_cord_->assign(value);
}
inline void TestAllTypesLite::set_default_cord(const char* value, size_t size) {
  set_has_default_cord();
  if (default_cord_ == &_default_default_cord_) {
    default_cord_ = new ::std::string;
  }
  default_cord_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* TestAllTypesLite::mutable_default_cord() {
  set_has_default_cord();
  if (default_cord_ == &_default_default_cord_) {
    default_cord_ = new ::std::string(_default_default_cord_);
  }
  return default_cord_;
}
inline ::std::string* TestAllTypesLite::release_default_cord() {
  clear_has_default_cord();
  if (default_cord_ == &_default_default_cord_) {
    return NULL;
  } else {
    ::std::string* temp = default_cord_;
    default_cord_ = const_cast< ::std::string*>(&_default_default_cord_);
    return temp;
  }
}

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

// ForeignMessageLite

// optional int32 c = 1;
inline bool ForeignMessageLite::has_c() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ForeignMessageLite::set_has_c() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ForeignMessageLite::clear_has_c() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ForeignMessageLite::clear_c() {
  c_ = 0;
  clear_has_c();
}
inline ::google::protobuf::int32 ForeignMessageLite::c() const {
  return c_;
}
inline void ForeignMessageLite::set_c(::google::protobuf::int32 value) {
  set_has_c();
  c_ = value;
}

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

// TestPackedTypesLite

// repeated int32 packed_int32 = 90 [packed = true];
inline int TestPackedTypesLite::packed_int32_size() const {
  return packed_int32_.size();
}
inline void TestPackedTypesLite::clear_packed_int32() {
  packed_int32_.Clear();
}
inline ::google::protobuf::int32 TestPackedTypesLite::packed_int32(int index) const {
  return packed_int32_.Get(index);
}
inline void TestPackedTypesLite::set_packed_int32(int index, ::google::protobuf::int32 value) {
  packed_int32_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_int32(::google::protobuf::int32 value) {
  packed_int32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
TestPackedTypesLite::packed_int32() const {
  return packed_int32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
TestPackedTypesLite::mutable_packed_int32() {
  return &packed_int32_;
}

// repeated int64 packed_int64 = 91 [packed = true];
inline int TestPackedTypesLite::packed_int64_size() const {
  return packed_int64_.size();
}
inline void TestPackedTypesLite::clear_packed_int64() {
  packed_int64_.Clear();
}
inline ::google::protobuf::int64 TestPackedTypesLite::packed_int64(int index) const {
  return packed_int64_.Get(index);
}
inline void TestPackedTypesLite::set_packed_int64(int index, ::google::protobuf::int64 value) {
  packed_int64_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_int64(::google::protobuf::int64 value) {
  packed_int64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
TestPackedTypesLite::packed_int64() const {
  return packed_int64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
TestPackedTypesLite::mutable_packed_int64() {
  return &packed_int64_;
}

// repeated uint32 packed_uint32 = 92 [packed = true];
inline int TestPackedTypesLite::packed_uint32_size() const {
  return packed_uint32_.size();
}
inline void TestPackedTypesLite::clear_packed_uint32() {
  packed_uint32_.Clear();
}
inline ::google::protobuf::uint32 TestPackedTypesLite::packed_uint32(int index) const {
  return packed_uint32_.Get(index);
}
inline void TestPackedTypesLite::set_packed_uint32(int index, ::google::protobuf::uint32 value) {
  packed_uint32_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_uint32(::google::protobuf::uint32 value) {
  packed_uint32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
TestPackedTypesLite::packed_uint32() const {
  return packed_uint32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
TestPackedTypesLite::mutable_packed_uint32() {
  return &packed_uint32_;
}

// repeated uint64 packed_uint64 = 93 [packed = true];
inline int TestPackedTypesLite::packed_uint64_size() const {
  return packed_uint64_.size();
}
inline void TestPackedTypesLite::clear_packed_uint64() {
  packed_uint64_.Clear();
}
inline ::google::protobuf::uint64 TestPackedTypesLite::packed_uint64(int index) const {
  return packed_uint64_.Get(index);
}
inline void TestPackedTypesLite::set_packed_uint64(int index, ::google::protobuf::uint64 value) {
  packed_uint64_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_uint64(::google::protobuf::uint64 value) {
  packed_uint64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
TestPackedTypesLite::packed_uint64() const {
  return packed_uint64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
TestPackedTypesLite::mutable_packed_uint64() {
  return &packed_uint64_;
}

// repeated sint32 packed_sint32 = 94 [packed = true];
inline int TestPackedTypesLite::packed_sint32_size() const {
  return packed_sint32_.size();
}
inline void TestPackedTypesLite::clear_packed_sint32() {
  packed_sint32_.Clear();
}
inline ::google::protobuf::int32 TestPackedTypesLite::packed_sint32(int index) const {
  return packed_sint32_.Get(index);
}
inline void TestPackedTypesLite::set_packed_sint32(int index, ::google::protobuf::int32 value) {
  packed_sint32_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_sint32(::google::protobuf::int32 value) {
  packed_sint32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
TestPackedTypesLite::packed_sint32() const {
  return packed_sint32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
TestPackedTypesLite::mutable_packed_sint32() {
  return &packed_sint32_;
}

// repeated sint64 packed_sint64 = 95 [packed = true];
inline int TestPackedTypesLite::packed_sint64_size() const {
  return packed_sint64_.size();
}
inline void TestPackedTypesLite::clear_packed_sint64() {
  packed_sint64_.Clear();
}
inline ::google::protobuf::int64 TestPackedTypesLite::packed_sint64(int index) const {
  return packed_sint64_.Get(index);
}
inline void TestPackedTypesLite::set_packed_sint64(int index, ::google::protobuf::int64 value) {
  packed_sint64_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_sint64(::google::protobuf::int64 value) {
  packed_sint64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
TestPackedTypesLite::packed_sint64() const {
  return packed_sint64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
TestPackedTypesLite::mutable_packed_sint64() {
  return &packed_sint64_;
}

// repeated fixed32 packed_fixed32 = 96 [packed = true];
inline int TestPackedTypesLite::packed_fixed32_size() const {
  return packed_fixed32_.size();
}
inline void TestPackedTypesLite::clear_packed_fixed32() {
  packed_fixed32_.Clear();
}
inline ::google::protobuf::uint32 TestPackedTypesLite::packed_fixed32(int index) const {
  return packed_fixed32_.Get(index);
}
inline void TestPackedTypesLite::set_packed_fixed32(int index, ::google::protobuf::uint32 value) {
  packed_fixed32_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_fixed32(::google::protobuf::uint32 value) {
  packed_fixed32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
TestPackedTypesLite::packed_fixed32() const {
  return packed_fixed32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
TestPackedTypesLite::mutable_packed_fixed32() {
  return &packed_fixed32_;
}

// repeated fixed64 packed_fixed64 = 97 [packed = true];
inline int TestPackedTypesLite::packed_fixed64_size() const {
  return packed_fixed64_.size();
}
inline void TestPackedTypesLite::clear_packed_fixed64() {
  packed_fixed64_.Clear();
}
inline ::google::protobuf::uint64 TestPackedTypesLite::packed_fixed64(int index) const {
  return packed_fixed64_.Get(index);
}
inline void TestPackedTypesLite::set_packed_fixed64(int index, ::google::protobuf::uint64 value) {
  packed_fixed64_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_fixed64(::google::protobuf::uint64 value) {
  packed_fixed64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
TestPackedTypesLite::packed_fixed64() const {
  return packed_fixed64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >*
TestPackedTypesLite::mutable_packed_fixed64() {
  return &packed_fixed64_;
}

// repeated sfixed32 packed_sfixed32 = 98 [packed = true];
inline int TestPackedTypesLite::packed_sfixed32_size() const {
  return packed_sfixed32_.size();
}
inline void TestPackedTypesLite::clear_packed_sfixed32() {
  packed_sfixed32_.Clear();
}
inline ::google::protobuf::int32 TestPackedTypesLite::packed_sfixed32(int index) const {
  return packed_sfixed32_.Get(index);
}
inline void TestPackedTypesLite::set_packed_sfixed32(int index, ::google::protobuf::int32 value) {
  packed_sfixed32_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_sfixed32(::google::protobuf::int32 value) {
  packed_sfixed32_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
TestPackedTypesLite::packed_sfixed32() const {
  return packed_sfixed32_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
TestPackedTypesLite::mutable_packed_sfixed32() {
  return &packed_sfixed32_;
}

// repeated sfixed64 packed_sfixed64 = 99 [packed = true];
inline int TestPackedTypesLite::packed_sfixed64_size() const {
  return packed_sfixed64_.size();
}
inline void TestPackedTypesLite::clear_packed_sfixed64() {
  packed_sfixed64_.Clear();
}
inline ::google::protobuf::int64 TestPackedTypesLite::packed_sfixed64(int index) const {
  return packed_sfixed64_.Get(index);
}
inline void TestPackedTypesLite::set_packed_sfixed64(int index, ::google::protobuf::int64 value) {
  packed_sfixed64_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_sfixed64(::google::protobuf::int64 value) {
  packed_sfixed64_.Add(value);
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
TestPackedTypesLite::packed_sfixed64() const {
  return packed_sfixed64_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
TestPackedTypesLite::mutable_packed_sfixed64() {
  return &packed_sfixed64_;
}

// repeated float packed_float = 100 [packed = true];
inline int TestPackedTypesLite::packed_float_size() const {
  return packed_float_.size();
}
inline void TestPackedTypesLite::clear_packed_float() {
  packed_float_.Clear();
}
inline float TestPackedTypesLite::packed_float(int index) const {
  return packed_float_.Get(index);
}
inline void TestPackedTypesLite::set_packed_float(int index, float value) {
  packed_float_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_float(float value) {
  packed_float_.Add(value);
}
inline const ::google::protobuf::RepeatedField< float >&
TestPackedTypesLite::packed_float() const {
  return packed_float_;
}
inline ::google::protobuf::RepeatedField< float >*
TestPackedTypesLite::mutable_packed_float() {
  return &packed_float_;
}

// repeated double packed_double = 101 [packed = true];
inline int TestPackedTypesLite::packed_double_size() const {
  return packed_double_.size();
}
inline void TestPackedTypesLite::clear_packed_double() {
  packed_double_.Clear();
}
inline double TestPackedTypesLite::packed_double(int index) const {
  return packed_double_.Get(index);
}
inline void TestPackedTypesLite::set_packed_double(int index, double value) {
  packed_double_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_double(double value) {
  packed_double_.Add(value);
}
inline const ::google::protobuf::RepeatedField< double >&
TestPackedTypesLite::packed_double() const {
  return packed_double_;
}
inline ::google::protobuf::RepeatedField< double >*
TestPackedTypesLite::mutable_packed_double() {
  return &packed_double_;
}

// repeated bool packed_bool = 102 [packed = true];
inline int TestPackedTypesLite::packed_bool_size() const {
  return packed_bool_.size();
}
inline void TestPackedTypesLite::clear_packed_bool() {
  packed_bool_.Clear();
}
inline bool TestPackedTypesLite::packed_bool(int index) const {
  return packed_bool_.Get(index);
}
inline void TestPackedTypesLite::set_packed_bool(int index, bool value) {
  packed_bool_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_bool(bool value) {
  packed_bool_.Add(value);
}
inline const ::google::protobuf::RepeatedField< bool >&
TestPackedTypesLite::packed_bool() const {
  return packed_bool_;
}
inline ::google::protobuf::RepeatedField< bool >*
TestPackedTypesLite::mutable_packed_bool() {
  return &packed_bool_;
}

// repeated .protobuf_unittest.ForeignEnumLite packed_enum = 103 [packed = true];
inline int TestPackedTypesLite::packed_enum_size() const {
  return packed_enum_.size();
}
inline void TestPackedTypesLite::clear_packed_enum() {
  packed_enum_.Clear();
}
inline protobuf_unittest::ForeignEnumLite TestPackedTypesLite::packed_enum(int index) const {
  return static_cast< protobuf_unittest::ForeignEnumLite >(packed_enum_.Get(index));
}
inline void TestPackedTypesLite::set_packed_enum(int index, protobuf_unittest::ForeignEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest::ForeignEnumLite_IsValid(value));
  packed_enum_.Set(index, value);
}
inline void TestPackedTypesLite::add_packed_enum(protobuf_unittest::ForeignEnumLite value) {
  GOOGLE_DCHECK(protobuf_unittest::ForeignEnumLite_IsValid(value));
  packed_enum_.Add(value);
}
inline const ::google::protobuf::RepeatedField<int>&
TestPackedTypesLite::packed_enum() const {
  return packed_enum_;
}
inline ::google::protobuf::RepeatedField<int>*
TestPackedTypesLite::mutable_packed_enum() {
  return &packed_enum_;
}

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

// TestAllExtensionsLite

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

// OptionalGroup_extension_lite

// optional int32 a = 17;
inline bool OptionalGroup_extension_lite::has_a() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void OptionalGroup_extension_lite::set_has_a() {
  _has_bits_[0] |= 0x00000001u;
}
inline void OptionalGroup_extension_lite::clear_has_a() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void OptionalGroup_extension_lite::clear_a() {
  a_ = 0;
  clear_has_a();
}
inline ::google::protobuf::int32 OptionalGroup_extension_lite::a() const {
  return a_;
}
inline void OptionalGroup_extension_lite::set_a(::google::protobuf::int32 value) {
  set_has_a();
  a_ = value;
}

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

// RepeatedGroup_extension_lite

// optional int32 a = 47;
inline bool RepeatedGroup_extension_lite::has_a() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void RepeatedGroup_extension_lite::set_has_a() {
  _has_bits_[0] |= 0x00000001u;
}
inline void RepeatedGroup_extension_lite::clear_has_a() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void RepeatedGroup_extension_lite::clear_a() {
  a_ = 0;
  clear_has_a();
}
inline ::google::protobuf::int32 RepeatedGroup_extension_lite::a() const {
  return a_;
}
inline void RepeatedGroup_extension_lite::set_a(::google::protobuf::int32 value) {
  set_has_a();
  a_ = value;
}

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

// TestPackedExtensionsLite

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

// TestNestedExtensionLite

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

// TestDeprecatedLite

// optional int32 deprecated_field = 1 [deprecated = true];
inline bool TestDeprecatedLite::has_deprecated_field() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void TestDeprecatedLite::set_has_deprecated_field() {
  _has_bits_[0] |= 0x00000001u;
}
inline void TestDeprecatedLite::clear_has_deprecated_field() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void TestDeprecatedLite::clear_deprecated_field() {
  deprecated_field_ = 0;
  clear_has_deprecated_field();
}
inline ::google::protobuf::int32 TestDeprecatedLite::deprecated_field() const {
  return deprecated_field_;
}
inline void TestDeprecatedLite::set_deprecated_field(::google::protobuf::int32 value) {
  set_has_deprecated_field();
  deprecated_field_ = value;
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace protobuf_unittest

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_google_2fprotobuf_2funittest_5flite_2eproto__INCLUDED
