/**
 * Autogenerated by Thrift for /opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.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>

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

// BEGIN declare_enums
// END declare_enums
// BEGIN forward_declare
namespace facebook::thrift::annotation {
class Transitive;
class Program;
class Struct;
class Union;
class Exception;
class ThrownException;
class Field;
class Typedef;
class Service;
class Interaction;
class Function;
class FunctionParameter;
class EnumValue;
class Const;
class Enum;
class Structured;
class Interface;
class RootDefinition;
class Definition;
class DisableSchemaConst;
} // namespace facebook::thrift::annotation
// 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::thrift::annotation {
using ::apache::thrift::detail::operator!=;
using ::apache::thrift::detail::operator>;
using ::apache::thrift::detail::operator<=;
using ::apache::thrift::detail::operator>=;


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Transitive", "kind": "struct" } */
class Transitive final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Transitive;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Transitive() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Transitive(apache::thrift::FragileConstructor);

  Transitive(Transitive&&) = default;

  Transitive(const Transitive&) = default;


  Transitive& operator=(Transitive&&) = default;

  Transitive& operator=(const Transitive&) = default;

 public:

  bool operator==(const Transitive&) const;
  bool operator<(const Transitive&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Transitive>;
  friend void swap(Transitive& a, Transitive& b);
};

template <class Protocol_>
unsigned long Transitive::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Program", "kind": "struct" } */
class Program final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Program;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Program() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Program(apache::thrift::FragileConstructor);

  Program(Program&&) = default;

  Program(const Program&) = default;


  Program& operator=(Program&&) = default;

  Program& operator=(const Program&) = default;

 public:

  bool operator==(const Program&) const;
  bool operator<(const Program&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Program>;
  friend void swap(Program& a, Program& b);
};

template <class Protocol_>
unsigned long Program::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Struct", "kind": "struct" } */
class Struct final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Struct;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Struct() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Struct(apache::thrift::FragileConstructor);

  Struct(Struct&&) = default;

  Struct(const Struct&) = default;


  Struct& operator=(Struct&&) = default;

  Struct& operator=(const Struct&) = default;

 public:

  bool operator==(const Struct&) const;
  bool operator<(const Struct&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Struct>;
  friend void swap(Struct& a, Struct& b);
};

template <class Protocol_>
unsigned long Struct::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Union", "kind": "struct" } */
class Union final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Union;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Union() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Union(apache::thrift::FragileConstructor);

  Union(Union&&) = default;

  Union(const Union&) = default;


  Union& operator=(Union&&) = default;

  Union& operator=(const Union&) = default;

 public:

  bool operator==(const Union&) const;
  bool operator<(const Union&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Union>;
  friend void swap(Union& a, Union& b);
};

template <class Protocol_>
unsigned long Union::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Exception", "kind": "struct" } */
class Exception final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Exception;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Exception() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Exception(apache::thrift::FragileConstructor);

  Exception(Exception&&) = default;

  Exception(const Exception&) = default;


  Exception& operator=(Exception&&) = default;

  Exception& operator=(const Exception&) = default;

 public:

  bool operator==(const Exception&) const;
  bool operator<(const Exception&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Exception>;
  friend void swap(Exception& a, Exception& b);
};

template <class Protocol_>
unsigned long Exception::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "ThrownException", "kind": "struct" } */
class ThrownException final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = ThrownException;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  ThrownException() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  ThrownException(apache::thrift::FragileConstructor);

  ThrownException(ThrownException&&) = default;

  ThrownException(const ThrownException&) = default;


  ThrownException& operator=(ThrownException&&) = default;

  ThrownException& operator=(const ThrownException&) = default;

 public:

  bool operator==(const ThrownException&) const;
  bool operator<(const ThrownException&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<ThrownException>;
  friend void swap(ThrownException& a, ThrownException& b);
};

template <class Protocol_>
unsigned long ThrownException::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Field", "kind": "struct" } */
class Field final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Field;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Field() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Field(apache::thrift::FragileConstructor);

  Field(Field&&) = default;

  Field(const Field&) = default;


  Field& operator=(Field&&) = default;

  Field& operator=(const Field&) = default;

 public:

  bool operator==(const Field&) const;
  bool operator<(const Field&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Field>;
  friend void swap(Field& a, Field& b);
};

template <class Protocol_>
unsigned long Field::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Typedef", "kind": "struct" } */
class Typedef final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Typedef;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Typedef() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Typedef(apache::thrift::FragileConstructor);

  Typedef(Typedef&&) = default;

  Typedef(const Typedef&) = default;


  Typedef& operator=(Typedef&&) = default;

  Typedef& operator=(const Typedef&) = default;

 public:

  bool operator==(const Typedef&) const;
  bool operator<(const Typedef&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Typedef>;
  friend void swap(Typedef& a, Typedef& b);
};

template <class Protocol_>
unsigned long Typedef::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Service", "kind": "struct" } */
class Service final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Service;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Service() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Service(apache::thrift::FragileConstructor);

  Service(Service&&) = default;

  Service(const Service&) = default;


  Service& operator=(Service&&) = default;

  Service& operator=(const Service&) = default;

 public:

  bool operator==(const Service&) const;
  bool operator<(const Service&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Service>;
  friend void swap(Service& a, Service& b);
};

template <class Protocol_>
unsigned long Service::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Interaction", "kind": "struct" } */
class Interaction final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Interaction;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Interaction() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Interaction(apache::thrift::FragileConstructor);

  Interaction(Interaction&&) = default;

  Interaction(const Interaction&) = default;


  Interaction& operator=(Interaction&&) = default;

  Interaction& operator=(const Interaction&) = default;

 public:

  bool operator==(const Interaction&) const;
  bool operator<(const Interaction&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Interaction>;
  friend void swap(Interaction& a, Interaction& b);
};

template <class Protocol_>
unsigned long Interaction::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Function", "kind": "struct" } */
class Function final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Function;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Function() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Function(apache::thrift::FragileConstructor);

  Function(Function&&) = default;

  Function(const Function&) = default;


  Function& operator=(Function&&) = default;

  Function& operator=(const Function&) = default;

 public:

  bool operator==(const Function&) const;
  bool operator<(const Function&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Function>;
  friend void swap(Function& a, Function& b);
};

template <class Protocol_>
unsigned long Function::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "FunctionParameter", "kind": "struct" } */
class FunctionParameter final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = FunctionParameter;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  FunctionParameter() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  FunctionParameter(apache::thrift::FragileConstructor);

  FunctionParameter(FunctionParameter&&) = default;

  FunctionParameter(const FunctionParameter&) = default;


  FunctionParameter& operator=(FunctionParameter&&) = default;

  FunctionParameter& operator=(const FunctionParameter&) = default;

 public:

  bool operator==(const FunctionParameter&) const;
  bool operator<(const FunctionParameter&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<FunctionParameter>;
  friend void swap(FunctionParameter& a, FunctionParameter& b);
};

template <class Protocol_>
unsigned long FunctionParameter::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "EnumValue", "kind": "struct" } */
class EnumValue final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = EnumValue;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  EnumValue() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  EnumValue(apache::thrift::FragileConstructor);

  EnumValue(EnumValue&&) = default;

  EnumValue(const EnumValue&) = default;


  EnumValue& operator=(EnumValue&&) = default;

  EnumValue& operator=(const EnumValue&) = default;

 public:

  bool operator==(const EnumValue&) const;
  bool operator<(const EnumValue&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<EnumValue>;
  friend void swap(EnumValue& a, EnumValue& b);
};

template <class Protocol_>
unsigned long EnumValue::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Const", "kind": "struct" } */
class Const final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Const;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Const() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Const(apache::thrift::FragileConstructor);

  Const(Const&&) = default;

  Const(const Const&) = default;


  Const& operator=(Const&&) = default;

  Const& operator=(const Const&) = default;

 public:

  bool operator==(const Const&) const;
  bool operator<(const Const&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Const>;
  friend void swap(Const& a, Const& b);
};

template <class Protocol_>
unsigned long Const::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Enum", "kind": "struct" } */
class Enum final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Enum;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Enum() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Enum(apache::thrift::FragileConstructor);

  Enum(Enum&&) = default;

  Enum(const Enum&) = default;


  Enum& operator=(Enum&&) = default;

  Enum& operator=(const Enum&) = default;

 public:

  bool operator==(const Enum&) const;
  bool operator<(const Enum&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Enum>;
  friend void swap(Enum& a, Enum& b);
};

template <class Protocol_>
unsigned long Enum::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Structured", "kind": "struct" } */
class Structured final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Structured;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Structured() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Structured(apache::thrift::FragileConstructor);

  Structured(Structured&&) = default;

  Structured(const Structured&) = default;


  Structured& operator=(Structured&&) = default;

  Structured& operator=(const Structured&) = default;

 public:

  bool operator==(const Structured&) const;
  bool operator<(const Structured&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Structured>;
  friend void swap(Structured& a, Structured& b);
};

template <class Protocol_>
unsigned long Structured::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Interface", "kind": "struct" } */
class Interface final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Interface;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Interface() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Interface(apache::thrift::FragileConstructor);

  Interface(Interface&&) = default;

  Interface(const Interface&) = default;


  Interface& operator=(Interface&&) = default;

  Interface& operator=(const Interface&) = default;

 public:

  bool operator==(const Interface&) const;
  bool operator<(const Interface&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Interface>;
  friend void swap(Interface& a, Interface& b);
};

template <class Protocol_>
unsigned long Interface::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "RootDefinition", "kind": "struct" } */
class RootDefinition final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = RootDefinition;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  RootDefinition() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  RootDefinition(apache::thrift::FragileConstructor);

  RootDefinition(RootDefinition&&) = default;

  RootDefinition(const RootDefinition&) = default;


  RootDefinition& operator=(RootDefinition&&) = default;

  RootDefinition& operator=(const RootDefinition&) = default;

 public:

  bool operator==(const RootDefinition&) const;
  bool operator<(const RootDefinition&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<RootDefinition>;
  friend void swap(RootDefinition& a, RootDefinition& b);
};

template <class Protocol_>
unsigned long RootDefinition::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "Definition", "kind": "struct" } */
class Definition final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Definition;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Definition() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Definition(apache::thrift::FragileConstructor);

  Definition(Definition&&) = default;

  Definition(const Definition&) = default;


  Definition& operator=(Definition&&) = default;

  Definition& operator=(const Definition&) = default;

 public:

  bool operator==(const Definition&) const;
  bool operator<(const Definition&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Definition>;
  friend void swap(Definition& a, Definition& b);
};

template <class Protocol_>
unsigned long Definition::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.04.00/thrift/annotation/scope.thrift", "name": "DisableSchemaConst", "kind": "struct" } */
class DisableSchemaConst final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static std::string_view __fbthrift_thrift_uri();
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "scope";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = DisableSchemaConst;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  DisableSchemaConst() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  DisableSchemaConst(apache::thrift::FragileConstructor);

  DisableSchemaConst(DisableSchemaConst&&) = default;

  DisableSchemaConst(const DisableSchemaConst&) = default;


  DisableSchemaConst& operator=(DisableSchemaConst&&) = default;

  DisableSchemaConst& operator=(const DisableSchemaConst&) = default;

 public:

  bool operator==(const DisableSchemaConst&) const;
  bool operator<(const DisableSchemaConst&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<DisableSchemaConst>;
  friend void swap(DisableSchemaConst& a, DisableSchemaConst& b);
};

template <class Protocol_>
unsigned long DisableSchemaConst::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


} // namespace facebook::thrift::annotation

namespace apache::thrift::detail {
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Transitive, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xf9\xa1\xe5\xd5\xfa\x75\x7c\x63\x8d\xf7\x1f\x2b\x3c\x23\xc1\xe1", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Program, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xb8\x84\xd9\x8d\x60\x60\x76\xa1\xbc\x17\x3e\xbe\xcb\x6d\x64\x86", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Struct, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x0d\x0d\xc7\x9c\x91\xd5\x93\x36\xc3\xb1\x40\x11\x38\x21\x41\xec", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Union, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x2e\xa4\xb0\xa0\x47\x4b\xfd\x31\x58\xb2\x14\x4b\xc5\x37\xb2\x65", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Exception, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x1c\x8b\x3f\x1e\x43\x6a\x2a\x67\x6c\x6f\x4b\xd1\xb6\x74\xc0\x54", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::ThrownException, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xe3\x53\xf9\xdd\x76\xef\xdc\x6f\xc7\x5a\x21\xfb\xbb\xc2\x4c\xc7", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Field, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x13\x21\x6e\x19\xdf\xb1\xa6\xee\x5a\xca\xe9\x30\xb2\x7b\xe5\x81", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Typedef, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x76\x2f\x7e\xd6\x8d\xe2\x25\xa9\x14\x36\x6e\xf3\x9b\x77\x59\x99", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Service, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xe3\x3f\x39\x0a\xe8\x50\xe4\x46\x50\x56\xa4\xd7\xd5\xff\x35\xfe", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Interaction, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xeb\x36\x90\x12\x15\xb3\xd6\x7b\x16\xbd\x3d\xd7\x3c\xcf\xf6\xa4", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Function, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x93\xd6\xeb\x70\x65\xf2\xe0\x89\x52\x1c\x2b\x29\xa8\x25\x29\xe3", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::FunctionParameter, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xc4\x42\xdd\xd4\xef\xc8\xbd\xfa\xb3\x89\xd0\x10\x6e\x83\xbe\xc9", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::EnumValue, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xdf\xeb\x01\x27\x94\x57\x41\x00\xfe\xea\x0e\xfc\xc5\x34\xec\x67", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Const, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x2e\x5a\x5f\xbd\x5f\x53\x06\x96\xb8\x2a\x8e\xdd\x49\xb9\x39\xba", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Enum, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x01\xc6\xc8\x75\x7f\xe7\x40\xe5\xa9\xd0\x4f\x99\x34\x05\x91\x64", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Structured, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xb0\xab\x1a\x33\xa0\xa2\x7f\x48\x51\x48\xfa\xbb\xff\x40\xdc\xf7", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Interface, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xb0\x3c\x7e\xad\xa3\x21\x20\xe4\xdd\xb4\x93\xd6\x53\x6f\x45\x8f", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::RootDefinition, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x02\x9e\x2c\x55\x4c\x40\x52\xf9\x66\x1d\xfe\x95\x33\xac\xaa\x00", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Definition, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\xa2\xdf\x88\xd8\x6d\xbe\xbc\xa6\xeb\xcb\x3a\x1b\x32\xd8\x18\x6f", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::DisableSchemaConst, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 9119740888194360204;
  static constexpr ::std::string_view definitionKey = {"\x0f\xa9\x7e\x65\x64\xfa\xc7\xcb\x85\xbd\x7f\x89\xfe\x19\x27\x5a", 16};
};
} // namespace apache::thrift::detail
