// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/core/profiler/protobuf/tf_data_stats.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3015000
#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 3015008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/map.h>  // IWYU pragma: export
#include <google/protobuf/map_entry.h>
#include <google/protobuf/map_field_inl.h>
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[13]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(int index);
namespace tensorflow {
namespace profiler {
class CombinedTfDataStats;
struct CombinedTfDataStatsDefaultTypeInternal;
extern CombinedTfDataStatsDefaultTypeInternal _CombinedTfDataStats_default_instance_;
class CombinedTfDataStats_TfDataStatsEntry_DoNotUse;
struct CombinedTfDataStats_TfDataStatsEntry_DoNotUseDefaultTypeInternal;
extern CombinedTfDataStats_TfDataStatsEntry_DoNotUseDefaultTypeInternal _CombinedTfDataStats_TfDataStatsEntry_DoNotUse_default_instance_;
class InputPipelineMetadata;
struct InputPipelineMetadataDefaultTypeInternal;
extern InputPipelineMetadataDefaultTypeInternal _InputPipelineMetadata_default_instance_;
class InputPipelineStat;
struct InputPipelineStatDefaultTypeInternal;
extern InputPipelineStatDefaultTypeInternal _InputPipelineStat_default_instance_;
class InputPipelineStat_IteratorStatsEntry_DoNotUse;
struct InputPipelineStat_IteratorStatsEntry_DoNotUseDefaultTypeInternal;
extern InputPipelineStat_IteratorStatsEntry_DoNotUseDefaultTypeInternal _InputPipelineStat_IteratorStatsEntry_DoNotUse_default_instance_;
class InputPipelineStats;
struct InputPipelineStatsDefaultTypeInternal;
extern InputPipelineStatsDefaultTypeInternal _InputPipelineStats_default_instance_;
class IteratorMetadata;
struct IteratorMetadataDefaultTypeInternal;
extern IteratorMetadataDefaultTypeInternal _IteratorMetadata_default_instance_;
class IteratorMetadata_ParamsEntry_DoNotUse;
struct IteratorMetadata_ParamsEntry_DoNotUseDefaultTypeInternal;
extern IteratorMetadata_ParamsEntry_DoNotUseDefaultTypeInternal _IteratorMetadata_ParamsEntry_DoNotUse_default_instance_;
class IteratorStat;
struct IteratorStatDefaultTypeInternal;
extern IteratorStatDefaultTypeInternal _IteratorStat_default_instance_;
class TfDataBottleneckAnalysis;
struct TfDataBottleneckAnalysisDefaultTypeInternal;
extern TfDataBottleneckAnalysisDefaultTypeInternal _TfDataBottleneckAnalysis_default_instance_;
class TfDataStats;
struct TfDataStatsDefaultTypeInternal;
extern TfDataStatsDefaultTypeInternal _TfDataStats_default_instance_;
class TfDataStats_InputPipelinesEntry_DoNotUse;
struct TfDataStats_InputPipelinesEntry_DoNotUseDefaultTypeInternal;
extern TfDataStats_InputPipelinesEntry_DoNotUseDefaultTypeInternal _TfDataStats_InputPipelinesEntry_DoNotUse_default_instance_;
class TfDataStats_IteratorMetadataEntry_DoNotUse;
struct TfDataStats_IteratorMetadataEntry_DoNotUseDefaultTypeInternal;
extern TfDataStats_IteratorMetadataEntry_DoNotUseDefaultTypeInternal _TfDataStats_IteratorMetadataEntry_DoNotUse_default_instance_;
}  // namespace profiler
}  // namespace tensorflow
PROTOBUF_NAMESPACE_OPEN
template<> ::tensorflow::profiler::CombinedTfDataStats* Arena::CreateMaybeMessage<::tensorflow::profiler::CombinedTfDataStats>(Arena*);
template<> ::tensorflow::profiler::CombinedTfDataStats_TfDataStatsEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::CombinedTfDataStats_TfDataStatsEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::InputPipelineMetadata* Arena::CreateMaybeMessage<::tensorflow::profiler::InputPipelineMetadata>(Arena*);
template<> ::tensorflow::profiler::InputPipelineStat* Arena::CreateMaybeMessage<::tensorflow::profiler::InputPipelineStat>(Arena*);
template<> ::tensorflow::profiler::InputPipelineStat_IteratorStatsEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::InputPipelineStat_IteratorStatsEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::InputPipelineStats* Arena::CreateMaybeMessage<::tensorflow::profiler::InputPipelineStats>(Arena*);
template<> ::tensorflow::profiler::IteratorMetadata* Arena::CreateMaybeMessage<::tensorflow::profiler::IteratorMetadata>(Arena*);
template<> ::tensorflow::profiler::IteratorMetadata_ParamsEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::IteratorMetadata_ParamsEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::IteratorStat* Arena::CreateMaybeMessage<::tensorflow::profiler::IteratorStat>(Arena*);
template<> ::tensorflow::profiler::TfDataBottleneckAnalysis* Arena::CreateMaybeMessage<::tensorflow::profiler::TfDataBottleneckAnalysis>(Arena*);
template<> ::tensorflow::profiler::TfDataStats* Arena::CreateMaybeMessage<::tensorflow::profiler::TfDataStats>(Arena*);
template<> ::tensorflow::profiler::TfDataStats_InputPipelinesEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::TfDataStats_InputPipelinesEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::TfDataStats_IteratorMetadataEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::TfDataStats_IteratorMetadataEntry_DoNotUse>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace tensorflow {
namespace profiler {

enum InputPipelineMetadata_InputPipelineType : int {
  InputPipelineMetadata_InputPipelineType_HOST = 0,
  InputPipelineMetadata_InputPipelineType_DEVICE = 1,
  InputPipelineMetadata_InputPipelineType_InputPipelineMetadata_InputPipelineType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
  InputPipelineMetadata_InputPipelineType_InputPipelineMetadata_InputPipelineType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool InputPipelineMetadata_InputPipelineType_IsValid(int value);
constexpr InputPipelineMetadata_InputPipelineType InputPipelineMetadata_InputPipelineType_InputPipelineType_MIN = InputPipelineMetadata_InputPipelineType_HOST;
constexpr InputPipelineMetadata_InputPipelineType InputPipelineMetadata_InputPipelineType_InputPipelineType_MAX = InputPipelineMetadata_InputPipelineType_DEVICE;
constexpr int InputPipelineMetadata_InputPipelineType_InputPipelineType_ARRAYSIZE = InputPipelineMetadata_InputPipelineType_InputPipelineType_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* InputPipelineMetadata_InputPipelineType_descriptor();
template<typename T>
inline const std::string& InputPipelineMetadata_InputPipelineType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, InputPipelineMetadata_InputPipelineType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function InputPipelineMetadata_InputPipelineType_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    InputPipelineMetadata_InputPipelineType_descriptor(), enum_t_value);
}
inline bool InputPipelineMetadata_InputPipelineType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, InputPipelineMetadata_InputPipelineType* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<InputPipelineMetadata_InputPipelineType>(
    InputPipelineMetadata_InputPipelineType_descriptor(), name, value);
}
// ===================================================================

class IteratorStat PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.IteratorStat) */ {
 public:
  inline IteratorStat() : IteratorStat(nullptr) {}
  virtual ~IteratorStat();
  explicit constexpr IteratorStat(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  IteratorStat(const IteratorStat& from);
  IteratorStat(IteratorStat&& from) noexcept
    : IteratorStat() {
    *this = ::std::move(from);
  }

  inline IteratorStat& operator=(const IteratorStat& from) {
    CopyFrom(from);
    return *this;
  }
  inline IteratorStat& operator=(IteratorStat&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const IteratorStat& default_instance() {
    return *internal_default_instance();
  }
  static inline const IteratorStat* internal_default_instance() {
    return reinterpret_cast<const IteratorStat*>(
               &_IteratorStat_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(IteratorStat& a, IteratorStat& b) {
    a.Swap(&b);
  }
  inline void Swap(IteratorStat* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(IteratorStat* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline IteratorStat* New() const final {
    return CreateMaybeMessage<IteratorStat>(nullptr);
  }

  IteratorStat* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<IteratorStat>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const IteratorStat& from);
  void MergeFrom(const IteratorStat& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(IteratorStat* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.IteratorStat";
  }
  protected:
  explicit IteratorStat(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kIdFieldNumber = 1,
    kStartTimePsFieldNumber = 2,
    kDurationPsFieldNumber = 3,
    kSelfTimePsFieldNumber = 4,
    kNumCallsFieldNumber = 6,
    kIsBlockingFieldNumber = 5,
  };
  // int64 id = 1;
  void clear_id();
  ::PROTOBUF_NAMESPACE_ID::int64 id() const;
  void set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_id() const;
  void _internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 start_time_ps = 2;
  void clear_start_time_ps();
  ::PROTOBUF_NAMESPACE_ID::int64 start_time_ps() const;
  void set_start_time_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_start_time_ps() const;
  void _internal_set_start_time_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 duration_ps = 3;
  void clear_duration_ps();
  ::PROTOBUF_NAMESPACE_ID::int64 duration_ps() const;
  void set_duration_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_duration_ps() const;
  void _internal_set_duration_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 self_time_ps = 4;
  void clear_self_time_ps();
  ::PROTOBUF_NAMESPACE_ID::int64 self_time_ps() const;
  void set_self_time_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_self_time_ps() const;
  void _internal_set_self_time_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 num_calls = 6;
  void clear_num_calls();
  ::PROTOBUF_NAMESPACE_ID::int64 num_calls() const;
  void set_num_calls(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_calls() const;
  void _internal_set_num_calls(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // bool is_blocking = 5;
  void clear_is_blocking();
  bool is_blocking() const;
  void set_is_blocking(bool value);
  private:
  bool _internal_is_blocking() const;
  void _internal_set_is_blocking(bool value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.IteratorStat)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::int64 id_;
  ::PROTOBUF_NAMESPACE_ID::int64 start_time_ps_;
  ::PROTOBUF_NAMESPACE_ID::int64 duration_ps_;
  ::PROTOBUF_NAMESPACE_ID::int64 self_time_ps_;
  ::PROTOBUF_NAMESPACE_ID::int64 num_calls_;
  bool is_blocking_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
};
// -------------------------------------------------------------------

class IteratorMetadata_ParamsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<IteratorMetadata_ParamsEntry_DoNotUse, 
    std::string, std::string,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<IteratorMetadata_ParamsEntry_DoNotUse, 
    std::string, std::string,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> SuperType;
  IteratorMetadata_ParamsEntry_DoNotUse();
  explicit constexpr IteratorMetadata_ParamsEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit IteratorMetadata_ParamsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const IteratorMetadata_ParamsEntry_DoNotUse& other);
  static const IteratorMetadata_ParamsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const IteratorMetadata_ParamsEntry_DoNotUse*>(&_IteratorMetadata_ParamsEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(std::string* s) {
    return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "tensorflow.profiler.IteratorMetadata.ParamsEntry.key");
 }
  static bool ValidateValue(std::string* s) {
    return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "tensorflow.profiler.IteratorMetadata.ParamsEntry.value");
 }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto.file_level_metadata[1];
  }

  public:
};

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

class IteratorMetadata PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.IteratorMetadata) */ {
 public:
  inline IteratorMetadata() : IteratorMetadata(nullptr) {}
  virtual ~IteratorMetadata();
  explicit constexpr IteratorMetadata(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  IteratorMetadata(const IteratorMetadata& from);
  IteratorMetadata(IteratorMetadata&& from) noexcept
    : IteratorMetadata() {
    *this = ::std::move(from);
  }

  inline IteratorMetadata& operator=(const IteratorMetadata& from) {
    CopyFrom(from);
    return *this;
  }
  inline IteratorMetadata& operator=(IteratorMetadata&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const IteratorMetadata& default_instance() {
    return *internal_default_instance();
  }
  static inline const IteratorMetadata* internal_default_instance() {
    return reinterpret_cast<const IteratorMetadata*>(
               &_IteratorMetadata_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(IteratorMetadata& a, IteratorMetadata& b) {
    a.Swap(&b);
  }
  inline void Swap(IteratorMetadata* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(IteratorMetadata* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline IteratorMetadata* New() const final {
    return CreateMaybeMessage<IteratorMetadata>(nullptr);
  }

  IteratorMetadata* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<IteratorMetadata>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const IteratorMetadata& from);
  void MergeFrom(const IteratorMetadata& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(IteratorMetadata* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.IteratorMetadata";
  }
  protected:
  explicit IteratorMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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


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

  enum : int {
    kParamsFieldNumber = 5,
    kNameFieldNumber = 3,
    kLongNameFieldNumber = 6,
    kIdFieldNumber = 1,
    kParentIdFieldNumber = 2,
    kIsAsyncFieldNumber = 4,
  };
  // map<string, string> params = 5;
  int params_size() const;
  private:
  int _internal_params_size() const;
  public:
  void clear_params();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      _internal_params() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      _internal_mutable_params();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      params() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      mutable_params();

  // string name = 3;
  void clear_name();
  const std::string& name() const;
  void set_name(const std::string& value);
  void set_name(std::string&& value);
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  std::string* mutable_name();
  std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // string long_name = 6;
  void clear_long_name();
  const std::string& long_name() const;
  void set_long_name(const std::string& value);
  void set_long_name(std::string&& value);
  void set_long_name(const char* value);
  void set_long_name(const char* value, size_t size);
  std::string* mutable_long_name();
  std::string* release_long_name();
  void set_allocated_long_name(std::string* long_name);
  private:
  const std::string& _internal_long_name() const;
  void _internal_set_long_name(const std::string& value);
  std::string* _internal_mutable_long_name();
  public:

  // int64 id = 1;
  void clear_id();
  ::PROTOBUF_NAMESPACE_ID::int64 id() const;
  void set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_id() const;
  void _internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 parent_id = 2;
  void clear_parent_id();
  ::PROTOBUF_NAMESPACE_ID::int64 parent_id() const;
  void set_parent_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_parent_id() const;
  void _internal_set_parent_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // bool is_async = 4;
  void clear_is_async();
  bool is_async() const;
  void set_is_async(bool value);
  private:
  bool _internal_is_async() const;
  void _internal_set_is_async(bool value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.IteratorMetadata)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      IteratorMetadata_ParamsEntry_DoNotUse,
      std::string, std::string,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> params_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr long_name_;
  ::PROTOBUF_NAMESPACE_ID::int64 id_;
  ::PROTOBUF_NAMESPACE_ID::int64 parent_id_;
  bool is_async_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
};
// -------------------------------------------------------------------

class InputPipelineStat_IteratorStatsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<InputPipelineStat_IteratorStatsEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<InputPipelineStat_IteratorStatsEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
  InputPipelineStat_IteratorStatsEntry_DoNotUse();
  explicit constexpr InputPipelineStat_IteratorStatsEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit InputPipelineStat_IteratorStatsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const InputPipelineStat_IteratorStatsEntry_DoNotUse& other);
  static const InputPipelineStat_IteratorStatsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const InputPipelineStat_IteratorStatsEntry_DoNotUse*>(&_InputPipelineStat_IteratorStatsEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto.file_level_metadata[3];
  }

  public:
};

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

class InputPipelineStat PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.InputPipelineStat) */ {
 public:
  inline InputPipelineStat() : InputPipelineStat(nullptr) {}
  virtual ~InputPipelineStat();
  explicit constexpr InputPipelineStat(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  InputPipelineStat(const InputPipelineStat& from);
  InputPipelineStat(InputPipelineStat&& from) noexcept
    : InputPipelineStat() {
    *this = ::std::move(from);
  }

  inline InputPipelineStat& operator=(const InputPipelineStat& from) {
    CopyFrom(from);
    return *this;
  }
  inline InputPipelineStat& operator=(InputPipelineStat&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const InputPipelineStat& default_instance() {
    return *internal_default_instance();
  }
  static inline const InputPipelineStat* internal_default_instance() {
    return reinterpret_cast<const InputPipelineStat*>(
               &_InputPipelineStat_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(InputPipelineStat& a, InputPipelineStat& b) {
    a.Swap(&b);
  }
  inline void Swap(InputPipelineStat* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(InputPipelineStat* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline InputPipelineStat* New() const final {
    return CreateMaybeMessage<InputPipelineStat>(nullptr);
  }

  InputPipelineStat* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<InputPipelineStat>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const InputPipelineStat& from);
  void MergeFrom(const InputPipelineStat& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(InputPipelineStat* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.InputPipelineStat";
  }
  protected:
  explicit InputPipelineStat(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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


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

  enum : int {
    kIteratorStatsFieldNumber = 1,
    kBottleneckIteratorIdFieldNumber = 2,
  };
  // map<int64, .tensorflow.profiler.IteratorStat> iterator_stats = 1;
  int iterator_stats_size() const;
  private:
  int _internal_iterator_stats_size() const;
  public:
  void clear_iterator_stats();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat >&
      _internal_iterator_stats() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat >*
      _internal_mutable_iterator_stats();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat >&
      iterator_stats() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat >*
      mutable_iterator_stats();

  // int64 bottleneck_iterator_id = 2;
  void clear_bottleneck_iterator_id();
  ::PROTOBUF_NAMESPACE_ID::int64 bottleneck_iterator_id() const;
  void set_bottleneck_iterator_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_bottleneck_iterator_id() const;
  void _internal_set_bottleneck_iterator_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.InputPipelineStat)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      InputPipelineStat_IteratorStatsEntry_DoNotUse,
      ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> iterator_stats_;
  ::PROTOBUF_NAMESPACE_ID::int64 bottleneck_iterator_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
};
// -------------------------------------------------------------------

class InputPipelineMetadata PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.InputPipelineMetadata) */ {
 public:
  inline InputPipelineMetadata() : InputPipelineMetadata(nullptr) {}
  virtual ~InputPipelineMetadata();
  explicit constexpr InputPipelineMetadata(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  InputPipelineMetadata(const InputPipelineMetadata& from);
  InputPipelineMetadata(InputPipelineMetadata&& from) noexcept
    : InputPipelineMetadata() {
    *this = ::std::move(from);
  }

  inline InputPipelineMetadata& operator=(const InputPipelineMetadata& from) {
    CopyFrom(from);
    return *this;
  }
  inline InputPipelineMetadata& operator=(InputPipelineMetadata&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const InputPipelineMetadata& default_instance() {
    return *internal_default_instance();
  }
  static inline const InputPipelineMetadata* internal_default_instance() {
    return reinterpret_cast<const InputPipelineMetadata*>(
               &_InputPipelineMetadata_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(InputPipelineMetadata& a, InputPipelineMetadata& b) {
    a.Swap(&b);
  }
  inline void Swap(InputPipelineMetadata* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(InputPipelineMetadata* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline InputPipelineMetadata* New() const final {
    return CreateMaybeMessage<InputPipelineMetadata>(nullptr);
  }

  InputPipelineMetadata* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<InputPipelineMetadata>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const InputPipelineMetadata& from);
  void MergeFrom(const InputPipelineMetadata& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(InputPipelineMetadata* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.InputPipelineMetadata";
  }
  protected:
  explicit InputPipelineMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

  typedef InputPipelineMetadata_InputPipelineType InputPipelineType;
  static constexpr InputPipelineType HOST =
    InputPipelineMetadata_InputPipelineType_HOST;
  static constexpr InputPipelineType DEVICE =
    InputPipelineMetadata_InputPipelineType_DEVICE;
  static inline bool InputPipelineType_IsValid(int value) {
    return InputPipelineMetadata_InputPipelineType_IsValid(value);
  }
  static constexpr InputPipelineType InputPipelineType_MIN =
    InputPipelineMetadata_InputPipelineType_InputPipelineType_MIN;
  static constexpr InputPipelineType InputPipelineType_MAX =
    InputPipelineMetadata_InputPipelineType_InputPipelineType_MAX;
  static constexpr int InputPipelineType_ARRAYSIZE =
    InputPipelineMetadata_InputPipelineType_InputPipelineType_ARRAYSIZE;
  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
  InputPipelineType_descriptor() {
    return InputPipelineMetadata_InputPipelineType_descriptor();
  }
  template<typename T>
  static inline const std::string& InputPipelineType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, InputPipelineType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function InputPipelineType_Name.");
    return InputPipelineMetadata_InputPipelineType_Name(enum_t_value);
  }
  static inline bool InputPipelineType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      InputPipelineType* value) {
    return InputPipelineMetadata_InputPipelineType_Parse(name, value);
  }

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

  enum : int {
    kNameFieldNumber = 4,
    kIdFieldNumber = 1,
    kTypeFieldNumber = 2,
  };
  // string name = 4;
  void clear_name();
  const std::string& name() const;
  void set_name(const std::string& value);
  void set_name(std::string&& value);
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  std::string* mutable_name();
  std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // int64 id = 1;
  void clear_id();
  ::PROTOBUF_NAMESPACE_ID::int64 id() const;
  void set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_id() const;
  void _internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // .tensorflow.profiler.InputPipelineMetadata.InputPipelineType type = 2;
  void clear_type();
  ::tensorflow::profiler::InputPipelineMetadata_InputPipelineType type() const;
  void set_type(::tensorflow::profiler::InputPipelineMetadata_InputPipelineType value);
  private:
  ::tensorflow::profiler::InputPipelineMetadata_InputPipelineType _internal_type() const;
  void _internal_set_type(::tensorflow::profiler::InputPipelineMetadata_InputPipelineType value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.InputPipelineMetadata)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::int64 id_;
  int type_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
};
// -------------------------------------------------------------------

class InputPipelineStats PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.InputPipelineStats) */ {
 public:
  inline InputPipelineStats() : InputPipelineStats(nullptr) {}
  virtual ~InputPipelineStats();
  explicit constexpr InputPipelineStats(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  InputPipelineStats(const InputPipelineStats& from);
  InputPipelineStats(InputPipelineStats&& from) noexcept
    : InputPipelineStats() {
    *this = ::std::move(from);
  }

  inline InputPipelineStats& operator=(const InputPipelineStats& from) {
    CopyFrom(from);
    return *this;
  }
  inline InputPipelineStats& operator=(InputPipelineStats&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const InputPipelineStats& default_instance() {
    return *internal_default_instance();
  }
  static inline const InputPipelineStats* internal_default_instance() {
    return reinterpret_cast<const InputPipelineStats*>(
               &_InputPipelineStats_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(InputPipelineStats& a, InputPipelineStats& b) {
    a.Swap(&b);
  }
  inline void Swap(InputPipelineStats* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(InputPipelineStats* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline InputPipelineStats* New() const final {
    return CreateMaybeMessage<InputPipelineStats>(nullptr);
  }

  InputPipelineStats* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<InputPipelineStats>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const InputPipelineStats& from);
  void MergeFrom(const InputPipelineStats& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(InputPipelineStats* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.InputPipelineStats";
  }
  protected:
  explicit InputPipelineStats(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kStatsFieldNumber = 2,
    kMetadataFieldNumber = 1,
    kAvgLatencyPsFieldNumber = 3,
    kMinLatencyPsFieldNumber = 4,
    kMaxLatencyPsFieldNumber = 5,
    kNumSlowCallsFieldNumber = 6,
  };
  // repeated .tensorflow.profiler.InputPipelineStat stats = 2;
  int stats_size() const;
  private:
  int _internal_stats_size() const;
  public:
  void clear_stats();
  ::tensorflow::profiler::InputPipelineStat* mutable_stats(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::InputPipelineStat >*
      mutable_stats();
  private:
  const ::tensorflow::profiler::InputPipelineStat& _internal_stats(int index) const;
  ::tensorflow::profiler::InputPipelineStat* _internal_add_stats();
  public:
  const ::tensorflow::profiler::InputPipelineStat& stats(int index) const;
  ::tensorflow::profiler::InputPipelineStat* add_stats();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::InputPipelineStat >&
      stats() const;

  // .tensorflow.profiler.InputPipelineMetadata metadata = 1;
  bool has_metadata() const;
  private:
  bool _internal_has_metadata() const;
  public:
  void clear_metadata();
  const ::tensorflow::profiler::InputPipelineMetadata& metadata() const;
  ::tensorflow::profiler::InputPipelineMetadata* release_metadata();
  ::tensorflow::profiler::InputPipelineMetadata* mutable_metadata();
  void set_allocated_metadata(::tensorflow::profiler::InputPipelineMetadata* metadata);
  private:
  const ::tensorflow::profiler::InputPipelineMetadata& _internal_metadata() const;
  ::tensorflow::profiler::InputPipelineMetadata* _internal_mutable_metadata();
  public:
  void unsafe_arena_set_allocated_metadata(
      ::tensorflow::profiler::InputPipelineMetadata* metadata);
  ::tensorflow::profiler::InputPipelineMetadata* unsafe_arena_release_metadata();

  // int64 avg_latency_ps = 3;
  void clear_avg_latency_ps();
  ::PROTOBUF_NAMESPACE_ID::int64 avg_latency_ps() const;
  void set_avg_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_avg_latency_ps() const;
  void _internal_set_avg_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 min_latency_ps = 4;
  void clear_min_latency_ps();
  ::PROTOBUF_NAMESPACE_ID::int64 min_latency_ps() const;
  void set_min_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_min_latency_ps() const;
  void _internal_set_min_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 max_latency_ps = 5;
  void clear_max_latency_ps();
  ::PROTOBUF_NAMESPACE_ID::int64 max_latency_ps() const;
  void set_max_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_latency_ps() const;
  void _internal_set_max_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // int64 num_slow_calls = 6;
  void clear_num_slow_calls();
  ::PROTOBUF_NAMESPACE_ID::int64 num_slow_calls() const;
  void set_num_slow_calls(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_num_slow_calls() const;
  void _internal_set_num_slow_calls(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.InputPipelineStats)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::InputPipelineStat > stats_;
  ::tensorflow::profiler::InputPipelineMetadata* metadata_;
  ::PROTOBUF_NAMESPACE_ID::int64 avg_latency_ps_;
  ::PROTOBUF_NAMESPACE_ID::int64 min_latency_ps_;
  ::PROTOBUF_NAMESPACE_ID::int64 max_latency_ps_;
  ::PROTOBUF_NAMESPACE_ID::int64 num_slow_calls_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
};
// -------------------------------------------------------------------

class TfDataStats_IteratorMetadataEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<TfDataStats_IteratorMetadataEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<TfDataStats_IteratorMetadataEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
  TfDataStats_IteratorMetadataEntry_DoNotUse();
  explicit constexpr TfDataStats_IteratorMetadataEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit TfDataStats_IteratorMetadataEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const TfDataStats_IteratorMetadataEntry_DoNotUse& other);
  static const TfDataStats_IteratorMetadataEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const TfDataStats_IteratorMetadataEntry_DoNotUse*>(&_TfDataStats_IteratorMetadataEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto.file_level_metadata[7];
  }

  public:
};

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

class TfDataStats_InputPipelinesEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<TfDataStats_InputPipelinesEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<TfDataStats_InputPipelinesEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
  TfDataStats_InputPipelinesEntry_DoNotUse();
  explicit constexpr TfDataStats_InputPipelinesEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit TfDataStats_InputPipelinesEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const TfDataStats_InputPipelinesEntry_DoNotUse& other);
  static const TfDataStats_InputPipelinesEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const TfDataStats_InputPipelinesEntry_DoNotUse*>(&_TfDataStats_InputPipelinesEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto.file_level_metadata[8];
  }

  public:
};

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

class TfDataStats PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.TfDataStats) */ {
 public:
  inline TfDataStats() : TfDataStats(nullptr) {}
  virtual ~TfDataStats();
  explicit constexpr TfDataStats(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TfDataStats(const TfDataStats& from);
  TfDataStats(TfDataStats&& from) noexcept
    : TfDataStats() {
    *this = ::std::move(from);
  }

  inline TfDataStats& operator=(const TfDataStats& from) {
    CopyFrom(from);
    return *this;
  }
  inline TfDataStats& operator=(TfDataStats&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const TfDataStats& default_instance() {
    return *internal_default_instance();
  }
  static inline const TfDataStats* internal_default_instance() {
    return reinterpret_cast<const TfDataStats*>(
               &_TfDataStats_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(TfDataStats& a, TfDataStats& b) {
    a.Swap(&b);
  }
  inline void Swap(TfDataStats* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TfDataStats* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline TfDataStats* New() const final {
    return CreateMaybeMessage<TfDataStats>(nullptr);
  }

  TfDataStats* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<TfDataStats>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const TfDataStats& from);
  void MergeFrom(const TfDataStats& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(TfDataStats* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.TfDataStats";
  }
  protected:
  explicit TfDataStats(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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


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

  enum : int {
    kInputPipelinesFieldNumber = 1,
    kIteratorMetadataFieldNumber = 2,
  };
  // map<int64, .tensorflow.profiler.InputPipelineStats> input_pipelines = 1;
  int input_pipelines_size() const;
  private:
  int _internal_input_pipelines_size() const;
  public:
  void clear_input_pipelines();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats >&
      _internal_input_pipelines() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats >*
      _internal_mutable_input_pipelines();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats >&
      input_pipelines() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats >*
      mutable_input_pipelines();

  // map<int64, .tensorflow.profiler.IteratorMetadata> iterator_metadata = 2;
  int iterator_metadata_size() const;
  private:
  int _internal_iterator_metadata_size() const;
  public:
  void clear_iterator_metadata();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata >&
      _internal_iterator_metadata() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata >*
      _internal_mutable_iterator_metadata();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata >&
      iterator_metadata() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata >*
      mutable_iterator_metadata();

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.TfDataStats)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      TfDataStats_InputPipelinesEntry_DoNotUse,
      ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> input_pipelines_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      TfDataStats_IteratorMetadataEntry_DoNotUse,
      ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> iterator_metadata_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
};
// -------------------------------------------------------------------

class TfDataBottleneckAnalysis PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.TfDataBottleneckAnalysis) */ {
 public:
  inline TfDataBottleneckAnalysis() : TfDataBottleneckAnalysis(nullptr) {}
  virtual ~TfDataBottleneckAnalysis();
  explicit constexpr TfDataBottleneckAnalysis(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TfDataBottleneckAnalysis(const TfDataBottleneckAnalysis& from);
  TfDataBottleneckAnalysis(TfDataBottleneckAnalysis&& from) noexcept
    : TfDataBottleneckAnalysis() {
    *this = ::std::move(from);
  }

  inline TfDataBottleneckAnalysis& operator=(const TfDataBottleneckAnalysis& from) {
    CopyFrom(from);
    return *this;
  }
  inline TfDataBottleneckAnalysis& operator=(TfDataBottleneckAnalysis&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const TfDataBottleneckAnalysis& default_instance() {
    return *internal_default_instance();
  }
  static inline const TfDataBottleneckAnalysis* internal_default_instance() {
    return reinterpret_cast<const TfDataBottleneckAnalysis*>(
               &_TfDataBottleneckAnalysis_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(TfDataBottleneckAnalysis& a, TfDataBottleneckAnalysis& b) {
    a.Swap(&b);
  }
  inline void Swap(TfDataBottleneckAnalysis* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TfDataBottleneckAnalysis* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline TfDataBottleneckAnalysis* New() const final {
    return CreateMaybeMessage<TfDataBottleneckAnalysis>(nullptr);
  }

  TfDataBottleneckAnalysis* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<TfDataBottleneckAnalysis>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const TfDataBottleneckAnalysis& from);
  void MergeFrom(const TfDataBottleneckAnalysis& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(TfDataBottleneckAnalysis* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.TfDataBottleneckAnalysis";
  }
  protected:
  explicit TfDataBottleneckAnalysis(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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

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

  enum : int {
    kHostFieldNumber = 1,
    kInputPipelineFieldNumber = 2,
    kIteratorNameFieldNumber = 4,
    kIteratorLongNameFieldNumber = 5,
    kSuggestionFieldNumber = 6,
    kMaxLatencyPsFieldNumber = 3,
  };
  // string host = 1;
  void clear_host();
  const std::string& host() const;
  void set_host(const std::string& value);
  void set_host(std::string&& value);
  void set_host(const char* value);
  void set_host(const char* value, size_t size);
  std::string* mutable_host();
  std::string* release_host();
  void set_allocated_host(std::string* host);
  private:
  const std::string& _internal_host() const;
  void _internal_set_host(const std::string& value);
  std::string* _internal_mutable_host();
  public:

  // string input_pipeline = 2;
  void clear_input_pipeline();
  const std::string& input_pipeline() const;
  void set_input_pipeline(const std::string& value);
  void set_input_pipeline(std::string&& value);
  void set_input_pipeline(const char* value);
  void set_input_pipeline(const char* value, size_t size);
  std::string* mutable_input_pipeline();
  std::string* release_input_pipeline();
  void set_allocated_input_pipeline(std::string* input_pipeline);
  private:
  const std::string& _internal_input_pipeline() const;
  void _internal_set_input_pipeline(const std::string& value);
  std::string* _internal_mutable_input_pipeline();
  public:

  // string iterator_name = 4;
  void clear_iterator_name();
  const std::string& iterator_name() const;
  void set_iterator_name(const std::string& value);
  void set_iterator_name(std::string&& value);
  void set_iterator_name(const char* value);
  void set_iterator_name(const char* value, size_t size);
  std::string* mutable_iterator_name();
  std::string* release_iterator_name();
  void set_allocated_iterator_name(std::string* iterator_name);
  private:
  const std::string& _internal_iterator_name() const;
  void _internal_set_iterator_name(const std::string& value);
  std::string* _internal_mutable_iterator_name();
  public:

  // string iterator_long_name = 5;
  void clear_iterator_long_name();
  const std::string& iterator_long_name() const;
  void set_iterator_long_name(const std::string& value);
  void set_iterator_long_name(std::string&& value);
  void set_iterator_long_name(const char* value);
  void set_iterator_long_name(const char* value, size_t size);
  std::string* mutable_iterator_long_name();
  std::string* release_iterator_long_name();
  void set_allocated_iterator_long_name(std::string* iterator_long_name);
  private:
  const std::string& _internal_iterator_long_name() const;
  void _internal_set_iterator_long_name(const std::string& value);
  std::string* _internal_mutable_iterator_long_name();
  public:

  // string suggestion = 6;
  void clear_suggestion();
  const std::string& suggestion() const;
  void set_suggestion(const std::string& value);
  void set_suggestion(std::string&& value);
  void set_suggestion(const char* value);
  void set_suggestion(const char* value, size_t size);
  std::string* mutable_suggestion();
  std::string* release_suggestion();
  void set_allocated_suggestion(std::string* suggestion);
  private:
  const std::string& _internal_suggestion() const;
  void _internal_set_suggestion(const std::string& value);
  std::string* _internal_mutable_suggestion();
  public:

  // int64 max_latency_ps = 3;
  void clear_max_latency_ps();
  ::PROTOBUF_NAMESPACE_ID::int64 max_latency_ps() const;
  void set_max_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_max_latency_ps() const;
  void _internal_set_max_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.TfDataBottleneckAnalysis)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr host_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr input_pipeline_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr iterator_name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr iterator_long_name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr suggestion_;
  ::PROTOBUF_NAMESPACE_ID::int64 max_latency_ps_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
};
// -------------------------------------------------------------------

class CombinedTfDataStats_TfDataStatsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<CombinedTfDataStats_TfDataStatsEntry_DoNotUse, 
    std::string, ::tensorflow::profiler::TfDataStats,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<CombinedTfDataStats_TfDataStatsEntry_DoNotUse, 
    std::string, ::tensorflow::profiler::TfDataStats,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
  CombinedTfDataStats_TfDataStatsEntry_DoNotUse();
  explicit constexpr CombinedTfDataStats_TfDataStatsEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit CombinedTfDataStats_TfDataStatsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const CombinedTfDataStats_TfDataStatsEntry_DoNotUse& other);
  static const CombinedTfDataStats_TfDataStatsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const CombinedTfDataStats_TfDataStatsEntry_DoNotUse*>(&_CombinedTfDataStats_TfDataStatsEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(std::string* s) {
    return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "tensorflow.profiler.CombinedTfDataStats.TfDataStatsEntry.key");
 }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto.file_level_metadata[11];
  }

  public:
};

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

class CombinedTfDataStats PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.CombinedTfDataStats) */ {
 public:
  inline CombinedTfDataStats() : CombinedTfDataStats(nullptr) {}
  virtual ~CombinedTfDataStats();
  explicit constexpr CombinedTfDataStats(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CombinedTfDataStats(const CombinedTfDataStats& from);
  CombinedTfDataStats(CombinedTfDataStats&& from) noexcept
    : CombinedTfDataStats() {
    *this = ::std::move(from);
  }

  inline CombinedTfDataStats& operator=(const CombinedTfDataStats& from) {
    CopyFrom(from);
    return *this;
  }
  inline CombinedTfDataStats& operator=(CombinedTfDataStats&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const CombinedTfDataStats& default_instance() {
    return *internal_default_instance();
  }
  static inline const CombinedTfDataStats* internal_default_instance() {
    return reinterpret_cast<const CombinedTfDataStats*>(
               &_CombinedTfDataStats_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(CombinedTfDataStats& a, CombinedTfDataStats& b) {
    a.Swap(&b);
  }
  inline void Swap(CombinedTfDataStats* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CombinedTfDataStats* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline CombinedTfDataStats* New() const final {
    return CreateMaybeMessage<CombinedTfDataStats>(nullptr);
  }

  CombinedTfDataStats* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<CombinedTfDataStats>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const CombinedTfDataStats& from);
  void MergeFrom(const CombinedTfDataStats& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CombinedTfDataStats* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.CombinedTfDataStats";
  }
  protected:
  explicit CombinedTfDataStats(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

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


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

  enum : int {
    kTfDataStatsFieldNumber = 2,
    kSummaryFieldNumber = 4,
    kBottleneckAnalysisFieldNumber = 1,
    kIsInputBoundFieldNumber = 3,
  };
  // map<string, .tensorflow.profiler.TfDataStats> tf_data_stats = 2;
  int tf_data_stats_size() const;
  private:
  int _internal_tf_data_stats_size() const;
  public:
  void clear_tf_data_stats();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::tensorflow::profiler::TfDataStats >&
      _internal_tf_data_stats() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::tensorflow::profiler::TfDataStats >*
      _internal_mutable_tf_data_stats();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::tensorflow::profiler::TfDataStats >&
      tf_data_stats() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::tensorflow::profiler::TfDataStats >*
      mutable_tf_data_stats();

  // string summary = 4;
  void clear_summary();
  const std::string& summary() const;
  void set_summary(const std::string& value);
  void set_summary(std::string&& value);
  void set_summary(const char* value);
  void set_summary(const char* value, size_t size);
  std::string* mutable_summary();
  std::string* release_summary();
  void set_allocated_summary(std::string* summary);
  private:
  const std::string& _internal_summary() const;
  void _internal_set_summary(const std::string& value);
  std::string* _internal_mutable_summary();
  public:

  // .tensorflow.profiler.TfDataBottleneckAnalysis bottleneck_analysis = 1;
  bool has_bottleneck_analysis() const;
  private:
  bool _internal_has_bottleneck_analysis() const;
  public:
  void clear_bottleneck_analysis();
  const ::tensorflow::profiler::TfDataBottleneckAnalysis& bottleneck_analysis() const;
  ::tensorflow::profiler::TfDataBottleneckAnalysis* release_bottleneck_analysis();
  ::tensorflow::profiler::TfDataBottleneckAnalysis* mutable_bottleneck_analysis();
  void set_allocated_bottleneck_analysis(::tensorflow::profiler::TfDataBottleneckAnalysis* bottleneck_analysis);
  private:
  const ::tensorflow::profiler::TfDataBottleneckAnalysis& _internal_bottleneck_analysis() const;
  ::tensorflow::profiler::TfDataBottleneckAnalysis* _internal_mutable_bottleneck_analysis();
  public:
  void unsafe_arena_set_allocated_bottleneck_analysis(
      ::tensorflow::profiler::TfDataBottleneckAnalysis* bottleneck_analysis);
  ::tensorflow::profiler::TfDataBottleneckAnalysis* unsafe_arena_release_bottleneck_analysis();

  // bool is_input_bound = 3;
  void clear_is_input_bound();
  bool is_input_bound() const;
  void set_is_input_bound(bool value);
  private:
  bool _internal_is_input_bound() const;
  void _internal_set_is_input_bound(bool value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.CombinedTfDataStats)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      CombinedTfDataStats_TfDataStatsEntry_DoNotUse,
      std::string, ::tensorflow::profiler::TfDataStats,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> tf_data_stats_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr summary_;
  ::tensorflow::profiler::TfDataBottleneckAnalysis* bottleneck_analysis_;
  bool is_input_bound_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2ftf_5fdata_5fstats_2eproto;
};
// ===================================================================


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

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

// int64 id = 1;
inline void IteratorStat::clear_id() {
  id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::_internal_id() const {
  return id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorStat.id)
  return _internal_id();
}
inline void IteratorStat::_internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  id_ = value;
}
inline void IteratorStat::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorStat.id)
}

// int64 start_time_ps = 2;
inline void IteratorStat::clear_start_time_ps() {
  start_time_ps_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::_internal_start_time_ps() const {
  return start_time_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::start_time_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorStat.start_time_ps)
  return _internal_start_time_ps();
}
inline void IteratorStat::_internal_set_start_time_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  start_time_ps_ = value;
}
inline void IteratorStat::set_start_time_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_start_time_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorStat.start_time_ps)
}

// int64 duration_ps = 3;
inline void IteratorStat::clear_duration_ps() {
  duration_ps_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::_internal_duration_ps() const {
  return duration_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::duration_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorStat.duration_ps)
  return _internal_duration_ps();
}
inline void IteratorStat::_internal_set_duration_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  duration_ps_ = value;
}
inline void IteratorStat::set_duration_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_duration_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorStat.duration_ps)
}

// int64 self_time_ps = 4;
inline void IteratorStat::clear_self_time_ps() {
  self_time_ps_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::_internal_self_time_ps() const {
  return self_time_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::self_time_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorStat.self_time_ps)
  return _internal_self_time_ps();
}
inline void IteratorStat::_internal_set_self_time_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  self_time_ps_ = value;
}
inline void IteratorStat::set_self_time_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_self_time_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorStat.self_time_ps)
}

// bool is_blocking = 5;
inline void IteratorStat::clear_is_blocking() {
  is_blocking_ = false;
}
inline bool IteratorStat::_internal_is_blocking() const {
  return is_blocking_;
}
inline bool IteratorStat::is_blocking() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorStat.is_blocking)
  return _internal_is_blocking();
}
inline void IteratorStat::_internal_set_is_blocking(bool value) {
  
  is_blocking_ = value;
}
inline void IteratorStat::set_is_blocking(bool value) {
  _internal_set_is_blocking(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorStat.is_blocking)
}

// int64 num_calls = 6;
inline void IteratorStat::clear_num_calls() {
  num_calls_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::_internal_num_calls() const {
  return num_calls_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorStat::num_calls() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorStat.num_calls)
  return _internal_num_calls();
}
inline void IteratorStat::_internal_set_num_calls(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  num_calls_ = value;
}
inline void IteratorStat::set_num_calls(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_num_calls(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorStat.num_calls)
}

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

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

// IteratorMetadata

// int64 id = 1;
inline void IteratorMetadata::clear_id() {
  id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorMetadata::_internal_id() const {
  return id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorMetadata::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorMetadata.id)
  return _internal_id();
}
inline void IteratorMetadata::_internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  id_ = value;
}
inline void IteratorMetadata::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorMetadata.id)
}

// int64 parent_id = 2;
inline void IteratorMetadata::clear_parent_id() {
  parent_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorMetadata::_internal_parent_id() const {
  return parent_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 IteratorMetadata::parent_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorMetadata.parent_id)
  return _internal_parent_id();
}
inline void IteratorMetadata::_internal_set_parent_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  parent_id_ = value;
}
inline void IteratorMetadata::set_parent_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_parent_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorMetadata.parent_id)
}

// string name = 3;
inline void IteratorMetadata::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& IteratorMetadata::name() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorMetadata.name)
  return _internal_name();
}
inline void IteratorMetadata::set_name(const std::string& value) {
  _internal_set_name(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorMetadata.name)
}
inline std::string* IteratorMetadata::mutable_name() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.IteratorMetadata.name)
  return _internal_mutable_name();
}
inline const std::string& IteratorMetadata::_internal_name() const {
  return name_.Get();
}
inline void IteratorMetadata::_internal_set_name(const std::string& value) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void IteratorMetadata::set_name(std::string&& value) {
  
  name_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.IteratorMetadata.name)
}
inline void IteratorMetadata::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.IteratorMetadata.name)
}
inline void IteratorMetadata::set_name(const char* value,
    size_t size) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.IteratorMetadata.name)
}
inline std::string* IteratorMetadata::_internal_mutable_name() {
  
  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* IteratorMetadata::release_name() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.IteratorMetadata.name)
  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void IteratorMetadata::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.IteratorMetadata.name)
}

// string long_name = 6;
inline void IteratorMetadata::clear_long_name() {
  long_name_.ClearToEmpty();
}
inline const std::string& IteratorMetadata::long_name() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorMetadata.long_name)
  return _internal_long_name();
}
inline void IteratorMetadata::set_long_name(const std::string& value) {
  _internal_set_long_name(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorMetadata.long_name)
}
inline std::string* IteratorMetadata::mutable_long_name() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.IteratorMetadata.long_name)
  return _internal_mutable_long_name();
}
inline const std::string& IteratorMetadata::_internal_long_name() const {
  return long_name_.Get();
}
inline void IteratorMetadata::_internal_set_long_name(const std::string& value) {
  
  long_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void IteratorMetadata::set_long_name(std::string&& value) {
  
  long_name_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.IteratorMetadata.long_name)
}
inline void IteratorMetadata::set_long_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  long_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.IteratorMetadata.long_name)
}
inline void IteratorMetadata::set_long_name(const char* value,
    size_t size) {
  
  long_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.IteratorMetadata.long_name)
}
inline std::string* IteratorMetadata::_internal_mutable_long_name() {
  
  return long_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* IteratorMetadata::release_long_name() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.IteratorMetadata.long_name)
  return long_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void IteratorMetadata::set_allocated_long_name(std::string* long_name) {
  if (long_name != nullptr) {
    
  } else {
    
  }
  long_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), long_name,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.IteratorMetadata.long_name)
}

// bool is_async = 4;
inline void IteratorMetadata::clear_is_async() {
  is_async_ = false;
}
inline bool IteratorMetadata::_internal_is_async() const {
  return is_async_;
}
inline bool IteratorMetadata::is_async() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.IteratorMetadata.is_async)
  return _internal_is_async();
}
inline void IteratorMetadata::_internal_set_is_async(bool value) {
  
  is_async_ = value;
}
inline void IteratorMetadata::set_is_async(bool value) {
  _internal_set_is_async(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.IteratorMetadata.is_async)
}

// map<string, string> params = 5;
inline int IteratorMetadata::_internal_params_size() const {
  return params_.size();
}
inline int IteratorMetadata::params_size() const {
  return _internal_params_size();
}
inline void IteratorMetadata::clear_params() {
  params_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
IteratorMetadata::_internal_params() const {
  return params_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
IteratorMetadata::params() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.IteratorMetadata.params)
  return _internal_params();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
IteratorMetadata::_internal_mutable_params() {
  return params_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
IteratorMetadata::mutable_params() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.IteratorMetadata.params)
  return _internal_mutable_params();
}

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

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

// InputPipelineStat

// int64 bottleneck_iterator_id = 2;
inline void InputPipelineStat::clear_bottleneck_iterator_id() {
  bottleneck_iterator_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStat::_internal_bottleneck_iterator_id() const {
  return bottleneck_iterator_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStat::bottleneck_iterator_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineStat.bottleneck_iterator_id)
  return _internal_bottleneck_iterator_id();
}
inline void InputPipelineStat::_internal_set_bottleneck_iterator_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  bottleneck_iterator_id_ = value;
}
inline void InputPipelineStat::set_bottleneck_iterator_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_bottleneck_iterator_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.InputPipelineStat.bottleneck_iterator_id)
}

// map<int64, .tensorflow.profiler.IteratorStat> iterator_stats = 1;
inline int InputPipelineStat::_internal_iterator_stats_size() const {
  return iterator_stats_.size();
}
inline int InputPipelineStat::iterator_stats_size() const {
  return _internal_iterator_stats_size();
}
inline void InputPipelineStat::clear_iterator_stats() {
  iterator_stats_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat >&
InputPipelineStat::_internal_iterator_stats() const {
  return iterator_stats_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat >&
InputPipelineStat::iterator_stats() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.InputPipelineStat.iterator_stats)
  return _internal_iterator_stats();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat >*
InputPipelineStat::_internal_mutable_iterator_stats() {
  return iterator_stats_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorStat >*
InputPipelineStat::mutable_iterator_stats() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.InputPipelineStat.iterator_stats)
  return _internal_mutable_iterator_stats();
}

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

// InputPipelineMetadata

// int64 id = 1;
inline void InputPipelineMetadata::clear_id() {
  id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineMetadata::_internal_id() const {
  return id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineMetadata::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineMetadata.id)
  return _internal_id();
}
inline void InputPipelineMetadata::_internal_set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  id_ = value;
}
inline void InputPipelineMetadata::set_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.InputPipelineMetadata.id)
}

// .tensorflow.profiler.InputPipelineMetadata.InputPipelineType type = 2;
inline void InputPipelineMetadata::clear_type() {
  type_ = 0;
}
inline ::tensorflow::profiler::InputPipelineMetadata_InputPipelineType InputPipelineMetadata::_internal_type() const {
  return static_cast< ::tensorflow::profiler::InputPipelineMetadata_InputPipelineType >(type_);
}
inline ::tensorflow::profiler::InputPipelineMetadata_InputPipelineType InputPipelineMetadata::type() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineMetadata.type)
  return _internal_type();
}
inline void InputPipelineMetadata::_internal_set_type(::tensorflow::profiler::InputPipelineMetadata_InputPipelineType value) {
  
  type_ = value;
}
inline void InputPipelineMetadata::set_type(::tensorflow::profiler::InputPipelineMetadata_InputPipelineType value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.InputPipelineMetadata.type)
}

// string name = 4;
inline void InputPipelineMetadata::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& InputPipelineMetadata::name() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineMetadata.name)
  return _internal_name();
}
inline void InputPipelineMetadata::set_name(const std::string& value) {
  _internal_set_name(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.InputPipelineMetadata.name)
}
inline std::string* InputPipelineMetadata::mutable_name() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.InputPipelineMetadata.name)
  return _internal_mutable_name();
}
inline const std::string& InputPipelineMetadata::_internal_name() const {
  return name_.Get();
}
inline void InputPipelineMetadata::_internal_set_name(const std::string& value) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void InputPipelineMetadata::set_name(std::string&& value) {
  
  name_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.InputPipelineMetadata.name)
}
inline void InputPipelineMetadata::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.InputPipelineMetadata.name)
}
inline void InputPipelineMetadata::set_name(const char* value,
    size_t size) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.InputPipelineMetadata.name)
}
inline std::string* InputPipelineMetadata::_internal_mutable_name() {
  
  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* InputPipelineMetadata::release_name() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.InputPipelineMetadata.name)
  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void InputPipelineMetadata::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.InputPipelineMetadata.name)
}

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

// InputPipelineStats

// .tensorflow.profiler.InputPipelineMetadata metadata = 1;
inline bool InputPipelineStats::_internal_has_metadata() const {
  return this != internal_default_instance() && metadata_ != nullptr;
}
inline bool InputPipelineStats::has_metadata() const {
  return _internal_has_metadata();
}
inline void InputPipelineStats::clear_metadata() {
  if (GetArena() == nullptr && metadata_ != nullptr) {
    delete metadata_;
  }
  metadata_ = nullptr;
}
inline const ::tensorflow::profiler::InputPipelineMetadata& InputPipelineStats::_internal_metadata() const {
  const ::tensorflow::profiler::InputPipelineMetadata* p = metadata_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::profiler::InputPipelineMetadata&>(
      ::tensorflow::profiler::_InputPipelineMetadata_default_instance_);
}
inline const ::tensorflow::profiler::InputPipelineMetadata& InputPipelineStats::metadata() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineStats.metadata)
  return _internal_metadata();
}
inline void InputPipelineStats::unsafe_arena_set_allocated_metadata(
    ::tensorflow::profiler::InputPipelineMetadata* metadata) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(metadata_);
  }
  metadata_ = metadata;
  if (metadata) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.profiler.InputPipelineStats.metadata)
}
inline ::tensorflow::profiler::InputPipelineMetadata* InputPipelineStats::release_metadata() {
  
  ::tensorflow::profiler::InputPipelineMetadata* temp = metadata_;
  metadata_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::tensorflow::profiler::InputPipelineMetadata* InputPipelineStats::unsafe_arena_release_metadata() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.InputPipelineStats.metadata)
  
  ::tensorflow::profiler::InputPipelineMetadata* temp = metadata_;
  metadata_ = nullptr;
  return temp;
}
inline ::tensorflow::profiler::InputPipelineMetadata* InputPipelineStats::_internal_mutable_metadata() {
  
  if (metadata_ == nullptr) {
    auto* p = CreateMaybeMessage<::tensorflow::profiler::InputPipelineMetadata>(GetArena());
    metadata_ = p;
  }
  return metadata_;
}
inline ::tensorflow::profiler::InputPipelineMetadata* InputPipelineStats::mutable_metadata() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.InputPipelineStats.metadata)
  return _internal_mutable_metadata();
}
inline void InputPipelineStats::set_allocated_metadata(::tensorflow::profiler::InputPipelineMetadata* metadata) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete metadata_;
  }
  if (metadata) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(metadata);
    if (message_arena != submessage_arena) {
      metadata = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, metadata, submessage_arena);
    }
    
  } else {
    
  }
  metadata_ = metadata;
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.InputPipelineStats.metadata)
}

// int64 avg_latency_ps = 3;
inline void InputPipelineStats::clear_avg_latency_ps() {
  avg_latency_ps_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStats::_internal_avg_latency_ps() const {
  return avg_latency_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStats::avg_latency_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineStats.avg_latency_ps)
  return _internal_avg_latency_ps();
}
inline void InputPipelineStats::_internal_set_avg_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  avg_latency_ps_ = value;
}
inline void InputPipelineStats::set_avg_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_avg_latency_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.InputPipelineStats.avg_latency_ps)
}

// int64 min_latency_ps = 4;
inline void InputPipelineStats::clear_min_latency_ps() {
  min_latency_ps_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStats::_internal_min_latency_ps() const {
  return min_latency_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStats::min_latency_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineStats.min_latency_ps)
  return _internal_min_latency_ps();
}
inline void InputPipelineStats::_internal_set_min_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  min_latency_ps_ = value;
}
inline void InputPipelineStats::set_min_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_min_latency_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.InputPipelineStats.min_latency_ps)
}

// int64 max_latency_ps = 5;
inline void InputPipelineStats::clear_max_latency_ps() {
  max_latency_ps_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStats::_internal_max_latency_ps() const {
  return max_latency_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStats::max_latency_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineStats.max_latency_ps)
  return _internal_max_latency_ps();
}
inline void InputPipelineStats::_internal_set_max_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  max_latency_ps_ = value;
}
inline void InputPipelineStats::set_max_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_max_latency_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.InputPipelineStats.max_latency_ps)
}

// int64 num_slow_calls = 6;
inline void InputPipelineStats::clear_num_slow_calls() {
  num_slow_calls_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStats::_internal_num_slow_calls() const {
  return num_slow_calls_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 InputPipelineStats::num_slow_calls() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineStats.num_slow_calls)
  return _internal_num_slow_calls();
}
inline void InputPipelineStats::_internal_set_num_slow_calls(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  num_slow_calls_ = value;
}
inline void InputPipelineStats::set_num_slow_calls(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_num_slow_calls(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.InputPipelineStats.num_slow_calls)
}

// repeated .tensorflow.profiler.InputPipelineStat stats = 2;
inline int InputPipelineStats::_internal_stats_size() const {
  return stats_.size();
}
inline int InputPipelineStats::stats_size() const {
  return _internal_stats_size();
}
inline void InputPipelineStats::clear_stats() {
  stats_.Clear();
}
inline ::tensorflow::profiler::InputPipelineStat* InputPipelineStats::mutable_stats(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.InputPipelineStats.stats)
  return stats_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::InputPipelineStat >*
InputPipelineStats::mutable_stats() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.InputPipelineStats.stats)
  return &stats_;
}
inline const ::tensorflow::profiler::InputPipelineStat& InputPipelineStats::_internal_stats(int index) const {
  return stats_.Get(index);
}
inline const ::tensorflow::profiler::InputPipelineStat& InputPipelineStats::stats(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.InputPipelineStats.stats)
  return _internal_stats(index);
}
inline ::tensorflow::profiler::InputPipelineStat* InputPipelineStats::_internal_add_stats() {
  return stats_.Add();
}
inline ::tensorflow::profiler::InputPipelineStat* InputPipelineStats::add_stats() {
  // @@protoc_insertion_point(field_add:tensorflow.profiler.InputPipelineStats.stats)
  return _internal_add_stats();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::InputPipelineStat >&
InputPipelineStats::stats() const {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.InputPipelineStats.stats)
  return stats_;
}

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

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

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

// TfDataStats

// map<int64, .tensorflow.profiler.IteratorMetadata> iterator_metadata = 2;
inline int TfDataStats::_internal_iterator_metadata_size() const {
  return iterator_metadata_.size();
}
inline int TfDataStats::iterator_metadata_size() const {
  return _internal_iterator_metadata_size();
}
inline void TfDataStats::clear_iterator_metadata() {
  iterator_metadata_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata >&
TfDataStats::_internal_iterator_metadata() const {
  return iterator_metadata_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata >&
TfDataStats::iterator_metadata() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.TfDataStats.iterator_metadata)
  return _internal_iterator_metadata();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata >*
TfDataStats::_internal_mutable_iterator_metadata() {
  return iterator_metadata_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::IteratorMetadata >*
TfDataStats::mutable_iterator_metadata() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.TfDataStats.iterator_metadata)
  return _internal_mutable_iterator_metadata();
}

// map<int64, .tensorflow.profiler.InputPipelineStats> input_pipelines = 1;
inline int TfDataStats::_internal_input_pipelines_size() const {
  return input_pipelines_.size();
}
inline int TfDataStats::input_pipelines_size() const {
  return _internal_input_pipelines_size();
}
inline void TfDataStats::clear_input_pipelines() {
  input_pipelines_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats >&
TfDataStats::_internal_input_pipelines() const {
  return input_pipelines_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats >&
TfDataStats::input_pipelines() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.TfDataStats.input_pipelines)
  return _internal_input_pipelines();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats >*
TfDataStats::_internal_mutable_input_pipelines() {
  return input_pipelines_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int64, ::tensorflow::profiler::InputPipelineStats >*
TfDataStats::mutable_input_pipelines() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.TfDataStats.input_pipelines)
  return _internal_mutable_input_pipelines();
}

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

// TfDataBottleneckAnalysis

// string host = 1;
inline void TfDataBottleneckAnalysis::clear_host() {
  host_.ClearToEmpty();
}
inline const std::string& TfDataBottleneckAnalysis::host() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.TfDataBottleneckAnalysis.host)
  return _internal_host();
}
inline void TfDataBottleneckAnalysis::set_host(const std::string& value) {
  _internal_set_host(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.TfDataBottleneckAnalysis.host)
}
inline std::string* TfDataBottleneckAnalysis::mutable_host() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.TfDataBottleneckAnalysis.host)
  return _internal_mutable_host();
}
inline const std::string& TfDataBottleneckAnalysis::_internal_host() const {
  return host_.Get();
}
inline void TfDataBottleneckAnalysis::_internal_set_host(const std::string& value) {
  
  host_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void TfDataBottleneckAnalysis::set_host(std::string&& value) {
  
  host_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.TfDataBottleneckAnalysis.host)
}
inline void TfDataBottleneckAnalysis::set_host(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  host_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.TfDataBottleneckAnalysis.host)
}
inline void TfDataBottleneckAnalysis::set_host(const char* value,
    size_t size) {
  
  host_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.TfDataBottleneckAnalysis.host)
}
inline std::string* TfDataBottleneckAnalysis::_internal_mutable_host() {
  
  return host_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* TfDataBottleneckAnalysis::release_host() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.TfDataBottleneckAnalysis.host)
  return host_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void TfDataBottleneckAnalysis::set_allocated_host(std::string* host) {
  if (host != nullptr) {
    
  } else {
    
  }
  host_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), host,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.TfDataBottleneckAnalysis.host)
}

// string input_pipeline = 2;
inline void TfDataBottleneckAnalysis::clear_input_pipeline() {
  input_pipeline_.ClearToEmpty();
}
inline const std::string& TfDataBottleneckAnalysis::input_pipeline() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.TfDataBottleneckAnalysis.input_pipeline)
  return _internal_input_pipeline();
}
inline void TfDataBottleneckAnalysis::set_input_pipeline(const std::string& value) {
  _internal_set_input_pipeline(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.TfDataBottleneckAnalysis.input_pipeline)
}
inline std::string* TfDataBottleneckAnalysis::mutable_input_pipeline() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.TfDataBottleneckAnalysis.input_pipeline)
  return _internal_mutable_input_pipeline();
}
inline const std::string& TfDataBottleneckAnalysis::_internal_input_pipeline() const {
  return input_pipeline_.Get();
}
inline void TfDataBottleneckAnalysis::_internal_set_input_pipeline(const std::string& value) {
  
  input_pipeline_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void TfDataBottleneckAnalysis::set_input_pipeline(std::string&& value) {
  
  input_pipeline_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.TfDataBottleneckAnalysis.input_pipeline)
}
inline void TfDataBottleneckAnalysis::set_input_pipeline(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  input_pipeline_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.TfDataBottleneckAnalysis.input_pipeline)
}
inline void TfDataBottleneckAnalysis::set_input_pipeline(const char* value,
    size_t size) {
  
  input_pipeline_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.TfDataBottleneckAnalysis.input_pipeline)
}
inline std::string* TfDataBottleneckAnalysis::_internal_mutable_input_pipeline() {
  
  return input_pipeline_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* TfDataBottleneckAnalysis::release_input_pipeline() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.TfDataBottleneckAnalysis.input_pipeline)
  return input_pipeline_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void TfDataBottleneckAnalysis::set_allocated_input_pipeline(std::string* input_pipeline) {
  if (input_pipeline != nullptr) {
    
  } else {
    
  }
  input_pipeline_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), input_pipeline,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.TfDataBottleneckAnalysis.input_pipeline)
}

// int64 max_latency_ps = 3;
inline void TfDataBottleneckAnalysis::clear_max_latency_ps() {
  max_latency_ps_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 TfDataBottleneckAnalysis::_internal_max_latency_ps() const {
  return max_latency_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 TfDataBottleneckAnalysis::max_latency_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.TfDataBottleneckAnalysis.max_latency_ps)
  return _internal_max_latency_ps();
}
inline void TfDataBottleneckAnalysis::_internal_set_max_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  max_latency_ps_ = value;
}
inline void TfDataBottleneckAnalysis::set_max_latency_ps(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_max_latency_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.TfDataBottleneckAnalysis.max_latency_ps)
}

// string iterator_name = 4;
inline void TfDataBottleneckAnalysis::clear_iterator_name() {
  iterator_name_.ClearToEmpty();
}
inline const std::string& TfDataBottleneckAnalysis::iterator_name() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_name)
  return _internal_iterator_name();
}
inline void TfDataBottleneckAnalysis::set_iterator_name(const std::string& value) {
  _internal_set_iterator_name(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_name)
}
inline std::string* TfDataBottleneckAnalysis::mutable_iterator_name() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_name)
  return _internal_mutable_iterator_name();
}
inline const std::string& TfDataBottleneckAnalysis::_internal_iterator_name() const {
  return iterator_name_.Get();
}
inline void TfDataBottleneckAnalysis::_internal_set_iterator_name(const std::string& value) {
  
  iterator_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void TfDataBottleneckAnalysis::set_iterator_name(std::string&& value) {
  
  iterator_name_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_name)
}
inline void TfDataBottleneckAnalysis::set_iterator_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  iterator_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_name)
}
inline void TfDataBottleneckAnalysis::set_iterator_name(const char* value,
    size_t size) {
  
  iterator_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_name)
}
inline std::string* TfDataBottleneckAnalysis::_internal_mutable_iterator_name() {
  
  return iterator_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* TfDataBottleneckAnalysis::release_iterator_name() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_name)
  return iterator_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void TfDataBottleneckAnalysis::set_allocated_iterator_name(std::string* iterator_name) {
  if (iterator_name != nullptr) {
    
  } else {
    
  }
  iterator_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), iterator_name,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_name)
}

// string iterator_long_name = 5;
inline void TfDataBottleneckAnalysis::clear_iterator_long_name() {
  iterator_long_name_.ClearToEmpty();
}
inline const std::string& TfDataBottleneckAnalysis::iterator_long_name() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_long_name)
  return _internal_iterator_long_name();
}
inline void TfDataBottleneckAnalysis::set_iterator_long_name(const std::string& value) {
  _internal_set_iterator_long_name(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_long_name)
}
inline std::string* TfDataBottleneckAnalysis::mutable_iterator_long_name() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_long_name)
  return _internal_mutable_iterator_long_name();
}
inline const std::string& TfDataBottleneckAnalysis::_internal_iterator_long_name() const {
  return iterator_long_name_.Get();
}
inline void TfDataBottleneckAnalysis::_internal_set_iterator_long_name(const std::string& value) {
  
  iterator_long_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void TfDataBottleneckAnalysis::set_iterator_long_name(std::string&& value) {
  
  iterator_long_name_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_long_name)
}
inline void TfDataBottleneckAnalysis::set_iterator_long_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  iterator_long_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_long_name)
}
inline void TfDataBottleneckAnalysis::set_iterator_long_name(const char* value,
    size_t size) {
  
  iterator_long_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_long_name)
}
inline std::string* TfDataBottleneckAnalysis::_internal_mutable_iterator_long_name() {
  
  return iterator_long_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* TfDataBottleneckAnalysis::release_iterator_long_name() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_long_name)
  return iterator_long_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void TfDataBottleneckAnalysis::set_allocated_iterator_long_name(std::string* iterator_long_name) {
  if (iterator_long_name != nullptr) {
    
  } else {
    
  }
  iterator_long_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), iterator_long_name,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.TfDataBottleneckAnalysis.iterator_long_name)
}

// string suggestion = 6;
inline void TfDataBottleneckAnalysis::clear_suggestion() {
  suggestion_.ClearToEmpty();
}
inline const std::string& TfDataBottleneckAnalysis::suggestion() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.TfDataBottleneckAnalysis.suggestion)
  return _internal_suggestion();
}
inline void TfDataBottleneckAnalysis::set_suggestion(const std::string& value) {
  _internal_set_suggestion(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.TfDataBottleneckAnalysis.suggestion)
}
inline std::string* TfDataBottleneckAnalysis::mutable_suggestion() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.TfDataBottleneckAnalysis.suggestion)
  return _internal_mutable_suggestion();
}
inline const std::string& TfDataBottleneckAnalysis::_internal_suggestion() const {
  return suggestion_.Get();
}
inline void TfDataBottleneckAnalysis::_internal_set_suggestion(const std::string& value) {
  
  suggestion_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void TfDataBottleneckAnalysis::set_suggestion(std::string&& value) {
  
  suggestion_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.TfDataBottleneckAnalysis.suggestion)
}
inline void TfDataBottleneckAnalysis::set_suggestion(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  suggestion_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.TfDataBottleneckAnalysis.suggestion)
}
inline void TfDataBottleneckAnalysis::set_suggestion(const char* value,
    size_t size) {
  
  suggestion_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.TfDataBottleneckAnalysis.suggestion)
}
inline std::string* TfDataBottleneckAnalysis::_internal_mutable_suggestion() {
  
  return suggestion_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* TfDataBottleneckAnalysis::release_suggestion() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.TfDataBottleneckAnalysis.suggestion)
  return suggestion_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void TfDataBottleneckAnalysis::set_allocated_suggestion(std::string* suggestion) {
  if (suggestion != nullptr) {
    
  } else {
    
  }
  suggestion_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), suggestion,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.TfDataBottleneckAnalysis.suggestion)
}

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

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

// CombinedTfDataStats

// bool is_input_bound = 3;
inline void CombinedTfDataStats::clear_is_input_bound() {
  is_input_bound_ = false;
}
inline bool CombinedTfDataStats::_internal_is_input_bound() const {
  return is_input_bound_;
}
inline bool CombinedTfDataStats::is_input_bound() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.CombinedTfDataStats.is_input_bound)
  return _internal_is_input_bound();
}
inline void CombinedTfDataStats::_internal_set_is_input_bound(bool value) {
  
  is_input_bound_ = value;
}
inline void CombinedTfDataStats::set_is_input_bound(bool value) {
  _internal_set_is_input_bound(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.CombinedTfDataStats.is_input_bound)
}

// string summary = 4;
inline void CombinedTfDataStats::clear_summary() {
  summary_.ClearToEmpty();
}
inline const std::string& CombinedTfDataStats::summary() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.CombinedTfDataStats.summary)
  return _internal_summary();
}
inline void CombinedTfDataStats::set_summary(const std::string& value) {
  _internal_set_summary(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.CombinedTfDataStats.summary)
}
inline std::string* CombinedTfDataStats::mutable_summary() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.CombinedTfDataStats.summary)
  return _internal_mutable_summary();
}
inline const std::string& CombinedTfDataStats::_internal_summary() const {
  return summary_.Get();
}
inline void CombinedTfDataStats::_internal_set_summary(const std::string& value) {
  
  summary_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void CombinedTfDataStats::set_summary(std::string&& value) {
  
  summary_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.CombinedTfDataStats.summary)
}
inline void CombinedTfDataStats::set_summary(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  summary_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.CombinedTfDataStats.summary)
}
inline void CombinedTfDataStats::set_summary(const char* value,
    size_t size) {
  
  summary_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.CombinedTfDataStats.summary)
}
inline std::string* CombinedTfDataStats::_internal_mutable_summary() {
  
  return summary_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* CombinedTfDataStats::release_summary() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.CombinedTfDataStats.summary)
  return summary_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void CombinedTfDataStats::set_allocated_summary(std::string* summary) {
  if (summary != nullptr) {
    
  } else {
    
  }
  summary_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), summary,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.CombinedTfDataStats.summary)
}

// .tensorflow.profiler.TfDataBottleneckAnalysis bottleneck_analysis = 1;
inline bool CombinedTfDataStats::_internal_has_bottleneck_analysis() const {
  return this != internal_default_instance() && bottleneck_analysis_ != nullptr;
}
inline bool CombinedTfDataStats::has_bottleneck_analysis() const {
  return _internal_has_bottleneck_analysis();
}
inline void CombinedTfDataStats::clear_bottleneck_analysis() {
  if (GetArena() == nullptr && bottleneck_analysis_ != nullptr) {
    delete bottleneck_analysis_;
  }
  bottleneck_analysis_ = nullptr;
}
inline const ::tensorflow::profiler::TfDataBottleneckAnalysis& CombinedTfDataStats::_internal_bottleneck_analysis() const {
  const ::tensorflow::profiler::TfDataBottleneckAnalysis* p = bottleneck_analysis_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::profiler::TfDataBottleneckAnalysis&>(
      ::tensorflow::profiler::_TfDataBottleneckAnalysis_default_instance_);
}
inline const ::tensorflow::profiler::TfDataBottleneckAnalysis& CombinedTfDataStats::bottleneck_analysis() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.CombinedTfDataStats.bottleneck_analysis)
  return _internal_bottleneck_analysis();
}
inline void CombinedTfDataStats::unsafe_arena_set_allocated_bottleneck_analysis(
    ::tensorflow::profiler::TfDataBottleneckAnalysis* bottleneck_analysis) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bottleneck_analysis_);
  }
  bottleneck_analysis_ = bottleneck_analysis;
  if (bottleneck_analysis) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.profiler.CombinedTfDataStats.bottleneck_analysis)
}
inline ::tensorflow::profiler::TfDataBottleneckAnalysis* CombinedTfDataStats::release_bottleneck_analysis() {
  
  ::tensorflow::profiler::TfDataBottleneckAnalysis* temp = bottleneck_analysis_;
  bottleneck_analysis_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::tensorflow::profiler::TfDataBottleneckAnalysis* CombinedTfDataStats::unsafe_arena_release_bottleneck_analysis() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.CombinedTfDataStats.bottleneck_analysis)
  
  ::tensorflow::profiler::TfDataBottleneckAnalysis* temp = bottleneck_analysis_;
  bottleneck_analysis_ = nullptr;
  return temp;
}
inline ::tensorflow::profiler::TfDataBottleneckAnalysis* CombinedTfDataStats::_internal_mutable_bottleneck_analysis() {
  
  if (bottleneck_analysis_ == nullptr) {
    auto* p = CreateMaybeMessage<::tensorflow::profiler::TfDataBottleneckAnalysis>(GetArena());
    bottleneck_analysis_ = p;
  }
  return bottleneck_analysis_;
}
inline ::tensorflow::profiler::TfDataBottleneckAnalysis* CombinedTfDataStats::mutable_bottleneck_analysis() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.CombinedTfDataStats.bottleneck_analysis)
  return _internal_mutable_bottleneck_analysis();
}
inline void CombinedTfDataStats::set_allocated_bottleneck_analysis(::tensorflow::profiler::TfDataBottleneckAnalysis* bottleneck_analysis) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete bottleneck_analysis_;
  }
  if (bottleneck_analysis) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bottleneck_analysis);
    if (message_arena != submessage_arena) {
      bottleneck_analysis = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, bottleneck_analysis, submessage_arena);
    }
    
  } else {
    
  }
  bottleneck_analysis_ = bottleneck_analysis;
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.CombinedTfDataStats.bottleneck_analysis)
}

// map<string, .tensorflow.profiler.TfDataStats> tf_data_stats = 2;
inline int CombinedTfDataStats::_internal_tf_data_stats_size() const {
  return tf_data_stats_.size();
}
inline int CombinedTfDataStats::tf_data_stats_size() const {
  return _internal_tf_data_stats_size();
}
inline void CombinedTfDataStats::clear_tf_data_stats() {
  tf_data_stats_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::tensorflow::profiler::TfDataStats >&
CombinedTfDataStats::_internal_tf_data_stats() const {
  return tf_data_stats_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::tensorflow::profiler::TfDataStats >&
CombinedTfDataStats::tf_data_stats() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.CombinedTfDataStats.tf_data_stats)
  return _internal_tf_data_stats();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::tensorflow::profiler::TfDataStats >*
CombinedTfDataStats::_internal_mutable_tf_data_stats() {
  return tf_data_stats_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::tensorflow::profiler::TfDataStats >*
CombinedTfDataStats::mutable_tf_data_stats() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.CombinedTfDataStats.tf_data_stats)
  return _internal_mutable_tf_data_stats();
}

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

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

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

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace profiler
}  // namespace tensorflow

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::tensorflow::profiler::InputPipelineMetadata_InputPipelineType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::tensorflow::profiler::InputPipelineMetadata_InputPipelineType>() {
  return ::tensorflow::profiler::InputPipelineMetadata_InputPipelineType_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

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