# encoding: utf-8
# module h5py._selector
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\h5py\_selector.cp311-win_amd64.pyd
# by generator 1.147
"""
Class to efficiently select and read data from an HDF5 dataset

This is written in Cython to reduce overhead when reading small amounts of
data. The core of it is translating between numpy-style slicing & indexing and
HDF5's H5Sselect_hyperslab calls.

Python & numpy distinguish indexing a[3] from slicing a single element a[3:4],
but there is no equivalent to this when selecting data in HDF5. So we store a
separate boolean ('scalar') for each dimension to distinguish these cases.
"""

# imports
import builtins as __builtins__ # <module 'builtins' (built-in)>
import numpy as np # C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\numpy\__init__.py

# no functions
# classes

class MultiBlockSlice(object):
    """
    A conceptual extension of the built-in slice object to allow selections
            using start, stride, count and block.
    
            If given, these parameters will be passed directly to
            H5Sselect_hyperslab. The defaults are start=0, stride=1, block=1,
            count=length, which will select the full extent.
    
            __init__(start, stride, count, block) => Create a new MultiBlockSlice, storing
                any given selection parameters and using defaults for the others
            start => The offset of the starting element of the specified hyperslab
            stride => The number of elements between the start of one block and the next
            count => The number of blocks to select
            block => The number of elements in each block
    """
    def indices(self, *args, **kwargs): # real signature unknown
        """ Calculate and validate start, stride, count and block for the given length """
        pass

    def _repr(self, *args, **kwargs): # real signature unknown
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        pass

    __weakref__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """list of weak references to the object (if defined)"""


    __dict__ = None # (!) real value is "mappingproxy({'__module__': 'h5py._selector', '__doc__': '\\n        A conceptual extension of the built-in slice object to allow selections\\n        using start, stride, count and block.\\n\\n        If given, these parameters will be passed directly to\\n        H5Sselect_hyperslab. The defaults are start=0, stride=1, block=1,\\n        count=length, which will select the full extent.\\n\\n        __init__(start, stride, count, block) => Create a new MultiBlockSlice, storing\\n            any given selection parameters and using defaults for the others\\n        start => The offset of the starting element of the specified hyperslab\\n        stride => The number of elements between the start of one block and the next\\n        count => The number of blocks to select\\n        block => The number of elements in each block\\n\\n    ', '__init__': <cyfunction MultiBlockSlice.__init__ at 0x000001C51A8629B0>, 'indices': <cyfunction MultiBlockSlice.indices at 0x000001C51A862A80>, '_repr': <cyfunction MultiBlockSlice._repr at 0x000001C51A862C20>, '__repr__': <cyfunction MultiBlockSlice.__repr__ at 0x000001C51A862DC0>, '__dict__': <attribute '__dict__' of 'MultiBlockSlice' objects>, '__weakref__': <attribute '__weakref__' of 'MultiBlockSlice' objects>})"


class Reader(object):
    # no doc
    def read(self, *args, **kwargs): # real signature unknown
        """
        Index the dataset using args and read into a new numpy array
        
                Only works for simple numeric dtypes.
        """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001C51A8896E0>'


class Selector(object):
    # no doc
    def make_selection(self, *args, **kwargs): # real signature unknown
        """
        Apply indexing/slicing args and create a high-level selection object
        
                Returns an instance of SimpleSelection or FancySelection, with a copy
                of the selector's dataspace.
        """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        pass

    def __setstate__(self, *args, **kwargs): # real signature unknown
        pass

    __pyx_vtable__ = None # (!) real value is '<capsule object NULL at 0x000001C51A889680>'


# variables with complex values

__loader__ = None # (!) real value is '<_frozen_importlib_external.ExtensionFileLoader object at 0x000001C51A88E490>'

__spec__ = None # (!) real value is "ModuleSpec(name='h5py._selector', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001C51A88E490>, origin='C:\\\\Users\\\\xukai\\\\Downloads\\\\??2\\\\venv\\\\Lib\\\\site-packages\\\\h5py\\\\_selector.cp311-win_amd64.pyd')"

__test__ = {}

