An iterator that yields no values.
struct Empty<T> { /* private fields */ }
Objects that can safely be copied via memcpy.
memcpy
Objects that implement the binary == and != operators.
==
!=
Objects that can be iterated over.