Overloads an operation.
The decorated operation is replaced entirely, its docstring is copied to the replacement operation.
The returned operation has a process_args function, see Overloader.process_args for documentation.
Parameters:
- overloads :: (Overload...)
- a collection of rules indicating which operation to call for which combination of arguments. At least one overload must be given.
- is_method :: bool
- If True, the decorated is considered to be a method and a self parameter is added to each overload automatically (don’t add self parameters manually). If False, the decorated is treated as a function.
Usage example:
def __init_xy(self, x, y):
self.__storage = Storage(x, y)
def __init_storage(self, storage):
self.__storage = storage
@overloaded((
Overload(__init_xy,
Param("x", default=0),
Param("y", default=0)),
Overload(__init_storage,
Param("storage"))))
def __init__(self):
"docstring"
pass