# Path: azmq/common.py
# class AsyncObject(object):
#     """
#     Base class for objects that keep a reference to an event loop.
#     """
#     def __init__(self, loop=None):
#         self.loop = loop or asyncio.get_event_loop()


import asyncio
from itertools import (
    chain,
    islice,
)
from .common import AsyncObject
"""
Container utility classes.
"""





class AsyncList(list, AsyncObject):
    """
    A list-like object that is asyncio-compatible.
    """
    def __init__(self, *items, **kwargs):
        """
        Instanciate a new `AsyncList` list with optional items.

        :param items: If provided, an iterable of items to fill the list with.
        :param loop: The event loop the instance is associated with. Default
            to the thread-local current asyncio event-loop.
        """
        list.__init__(self, *items)

# Path: azmq/common.py
# class AsyncObject(object):
#     """
#     Base class for objects that keep a reference to an event loop.
#     """
#     def __init__(self, loop=None):
#         self.loop = loop or asyncio.get_event_loop()


# Path: azmq/containers.py
import asyncio
from itertools import (
    chain,
    islice,
)
from .common import AsyncObject

"""
Container utility classes.
"""





class AsyncList(list, AsyncObject):
    """
    A list-like object that is asyncio-compatible.
    """
    def __init__(self, *items, **kwargs):
        """
        Instanciate a new `AsyncList` list with optional items.

        :param items: If provided, an iterable of items to fill the list with.
        :param loop: The event loop the instance is associated with. Default
            to the thread-local current asyncio event-loop.
        """
        list.__init__(self, *items)

        AsyncObject.__init__(self, **kwargs)