:orphan:

:py:mod:`slidge.core.mixins.base`
=================================

.. py:module:: slidge.core.mixins.base


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   slidge.core.mixins.base.MetaBase




.. py:class:: MetaBase




   Metaclass for defining Abstract Base Classes (ABCs).

   Use this metaclass to create an ABC.  An ABC can be subclassed
   directly, and then acts as a mix-in class.  You can also register
   unrelated concrete classes (even built-in classes) and unrelated
   ABCs as 'virtual subclasses' -- these and their descendants will
   be considered subclasses of the registering ABC by the built-in
   issubclass() function, but the registering ABC won't show up in
   their MRO (Method Resolution Order) nor will method
   implementations defined by the registering ABC be callable (not
   even via super()).

   .. py:method:: register(subclass)

      Register a virtual subclass of an ABC.

      Returns the subclass, to allow usage as a class decorator.



