pytilities.overloading.decorators

pytilities.overloading.decorators.overloaded(overloads, is_method=True)

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

Previous topic

pytilities.overloading.parameter

Next topic

pytilities.overloading.matchers

This Page