Qucs-S S-parameter Viewer & RF Synthesis Tools
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
pip._vendor.typing_extensions.Protocol Class Reference
Inheritance diagram for pip._vendor.typing_extensions.Protocol:
Inheritance graph
[legend]
Collaboration diagram for pip._vendor.typing_extensions.Protocol:
Collaboration graph
[legend]

Public Member Functions

 __init_subclass__ (cls, *args, **kwargs)
 
 __new__ (cls, *args, **kwds)
 
 __class_getitem__ (cls, params)
 
 __init_subclass__ (cls, *args, **kwargs)
 
- Public Member Functions inherited from pip._vendor.typing_extensions._ProtocolMeta
 __init__ (cls, *args, **kwargs)
 
 __subclasscheck__ (cls, other)
 
 __instancecheck__ (cls, instance)
 
 __eq__ (cls, other)
 
int __hash__ (cls)
 

Protected Attributes

 _is_protocol
 

Static Protected Attributes

bool _is_protocol = True
 
bool _is_runtime_protocol = False
 

Detailed Description

Base class for protocol classes. Protocol classes are defined as::

    class Proto(Protocol):
        def meth(self) -> int:
            ...

Such classes are primarily used with static type checkers that recognize
structural subtyping (static duck-typing), for example::

    class C:
        def meth(self) -> int:
            return 0

    def func(x: Proto) -> int:
        return x.meth()

    func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with
@typing_extensions.runtime_checkable act
as simple-minded runtime-checkable protocols that check
only the presence of given attributes, ignoring their type signatures.

Protocol classes can be generic, they are defined as::

    class GenProto(Protocol[T]):
        def meth(self) -> T:
            ...

Member Function Documentation

◆ __new__()

pip._vendor.typing_extensions.Protocol.__new__ (   cls,
args,
**  kwds 
)

The documentation for this class was generated from the following file: