llvm::enum_iteration_traits

Traits marking whether EnumT is safe to iterate with enum_seq helpers.

Synopsis

Declared in <llvm/ADT/Sequence.h>

template<typename EnumT>
struct enum_iteration_traits;

Description

By default, enum types are not considered safe for iteration. To allow iteration for your enum type, provide a specialization with is_iterable set to true in the llvm namespace. Alternatively, you can pass the force_iteration_on_noniterable_enum tag to enum_seq or enum_seq_inclusive.

Static Data Members

NameDescription
is_iterable When true, EnumT may be iterated by enum_seq without the force tag.

Specializations

NameDescription
enum_iteration_traits<RTLIB::Libcall> Specialization marking RTLIB::Libcall as safe to iterate with enum_seq.
enum_iteration_traits<RTLIB::LibcallImpl> Specialization marking RTLIB::LibcallImpl as safe to iterate with enum_seq.