class_docstr: Metaclass for `DataPipe`.
  
  Add `type` attribute and `__init_subclass__` based on the type, and validate the return hint of `__iter__`.
  
  Note that there is subclass `_IterDataPipeMeta` specifically for `IterDataPipe`.
code: def __init__(self, name, bases, namespace, **kwargs):
      super().__init__(name, bases, namespace, **kwargs)
  
imports: import collections
  import functools
  import numbers
  import sys
  from torch.utils.data.datapipes._hook_iterator import hook_iterator, _SnapshotState
  from typing import Any, Dict, Iterator, Generic, List, Set, Tuple, TypeVar, Union, get_type_hints
  from typing import _eval_type, _tp_cache, _type_check, _type_repr
  from typing import ForwardRef
  from abc import ABCMeta
  from typing import _GenericAlias
label_desc: Use image node_id 2 to create a new _DataPipeMeta object from inherited base classes: GenericMeta with example: obj = _DataPipeMeta(name, bases, namespace)