/**
 * Autogenerated by Thrift for /opt/local/var/macports/build/_opt_local_ppcports_devel_fb303/fb303/work/fb303-2025.04.28.00/fb303/thrift/fb303_core.thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated @nocommit
 */

#pragma once

#include <thrift/lib/cpp2/gen/module_types_h.h>

// BEGIN declare_enums
namespace facebook::fb303::cpp2 {

/** Glean {"file": "/opt/local/var/macports/build/_opt_local_ppcports_devel_fb303/fb303/work/fb303-2025.04.28.00/fb303/thrift/fb303_core.thrift", "name": "fb303_status", "kind": "enum" } */
enum class fb303_status {
  DEAD = 0,
  STARTING = 1,
  ALIVE = 2,
  STOPPING = 3,
  STOPPED = 4,
  WARNING = 5,
};

} // namespace facebook::fb303::cpp2

template<> struct std::hash<::facebook::fb303::cpp2::fb303_status> :
  ::apache::thrift::detail::enum_hash<::facebook::fb303::cpp2::fb303_status> {};

namespace apache::thrift {

template <> struct TEnumDataStorage<::facebook::fb303::cpp2::fb303_status>;

template <> struct TEnumTraits<::facebook::fb303::cpp2::fb303_status> {
  using type = ::facebook::fb303::cpp2::fb303_status;

  static constexpr std::size_t const size = 6;
  static folly::Range<type const*> const values;
  static folly::Range<std::string_view const*> const names;
  static const std::string_view __fbthrift_module_name_internal_do_not_use;

  static bool findName(type value, std::string_view* out) noexcept;
  static bool findValue(std::string_view name, type* out) noexcept;

  FOLLY_ERASE static std::string_view typeName() noexcept {
    return "fb303_status";
  }

  FOLLY_ERASE static constexpr std::string_view moduleName() noexcept {
    return "fb303_core";
  }

  static char const* findName(type value) noexcept {
    std::string_view ret;
    (void)findName(value, &ret);
    return ret.data();
  }
  static constexpr type min() { return type::DEAD; }
  static constexpr type max() { return type::WARNING; }
};

} // namespace apache::thrift
// END declare_enums
// BEGIN forward_declare
// END forward_declare
namespace apache::thrift::detail::annotation {
} // namespace apache::thrift::detail::annotation

namespace apache::thrift::detail::qualifier {
} // namespace apache::thrift::detail::qualifier

// BEGIN hash_and_equal_to
// END hash_and_equal_to
namespace facebook::fb303::cpp2 {
using ::apache::thrift::detail::operator!=;
using ::apache::thrift::detail::operator>;
using ::apache::thrift::detail::operator<=;
using ::apache::thrift::detail::operator>=;


} // namespace facebook::fb303::cpp2

namespace apache::thrift::detail {
template <> struct TSchemaAssociation<::facebook::fb303::cpp2::fb303_status, true> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1525391049186044610;
  static constexpr ::std::string_view definitionKey = {"\x1e\xcc\x56\xa4\xd2\x7e\x24\x24\x63\x0a\xd9\xb9\xb1\xb5\x59\x8f", 16};
};
} // namespace apache::thrift::detail
