class_docstr: Indexer mixin
  
  Mixin for handling indexers.
  
  .. note::
     To use this mixin the instance inheriting it must set the
      ``indexer`` or ``indexers`` attribute in ``__init__`` (not both).
docstr: Check consistent indexer classes
docstr_tok: ["Check","consistent","indexer","classes"]
code: def _check_indexer(self, indexer):
      """Check consistent indexer classes"""
      cls = indexer.__class__.__name__.lower()
      if "index" not in cls:
          ValueError(
              "Passed indexer does not appear to be valid indexer"
          )
  
      lcls = [
          idx.__class__.__name__.lower() for idx in self._get_indexers()
      ]
      if lcls:
          if "blendindex" in lcls and cls != "blendindex":
              raise ValueError(
                  "Instance has blendindex, but was passed full type"
              )
          elif "blendindex" not in lcls and cls == "blendindex":
              raise ValueError(
                  "Instance has full type index, but was passed blendindex"
              )
  
imports: import warnings
  from abc import abstractmethod
  import numpy
  from ._base_functions import check_stack, check_params
  from ..None import config
  from ..utils.exceptions import ParallelProcessingError
  from ..externals.sklearn.base import clone, BaseEstimator
label_desc: Use image node_id 2 for calling the IndexMixin obj's underlying member method code with example usage: obj._check_indexer(indexer) without return types