# pybind_external_overload_docs module

pybind11 external overload docs

## Classes

class Class
  My fun class!
class Class26
  Pybind 2.6 features

## Functions

def foo(a: int, b: typing.Tuple[int, str]) -> None
  First overload
def foo(arg0: typing.Callable[[float, typing.List[float]], int], /) -> None
  Second overload
def foo(name: str) -> None
  Third overload
def foo(param: int = 4) -> None
  Fourth overload
def foo(first: int) -> None
  This will produce param documentation mismatch warnings

## Function documentation

### def pybind_external_overload_docs.foo(a: int, b: typing.Tuple[int, str]) -> None

First overload

Parameters
a | First parameter
b | Second parameter

Details for the first overload.

### def pybind_external_overload_docs.foo(arg0: typing.Callable[[float, typing.List[float]], int], /) -> None

Second overload

Parameters
arg0 | The caller

Complex signatures in the second overload should be matched properly, too.

### def pybind_external_overload_docs.foo(name: str) -> None

Third overload

Parameters
name | Ha!

This is a generic documentation and will be caught only by the third overload. Luckily we just document that exact parameter.

### def pybind_external_overload_docs.foo(param: int = 4) -> None

Fourth overload

Parameters
param | This has a default value of 4 but that shouldn't be part of the signature.

Fourth overload has a default value.