pytilities.overloading.decorators — Pytilities 1.2.0 documentation

### Navigation

- index
- modules |
- next |
- previous |
- Pytilities 1.2.0 documentation »
- API documentation »
- pytilities »
- pytilities.overloading »

# 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

### Navigation

- index
- modules |
- next |
- previous |
- Pytilities 1.2.0 documentation »
- API documentation »
- pytilities »
- pytilities.overloading »