Dispatcher C++ API

Defines C++ functions to dispatch action to proper action handler inside a contract. More...


Detailed Description

Convenient macro to create contract apply handler


To be able to use this macro, the contract needs to be derived from eosio::contract


  • TYPE - The class name of the contract
  • MEMBERS - The sequence of available actions supported by this contract


EOSIO_DISPATCH( eosio::bios, (setpriv)(setalimits)(setglimits)(setprods)(reqauth) )

Functions Documentation

function execute_action

template<typename T, typename... Args>
bool eosio::execute_action(
    name self,
    name code,
    void(T::*)(Args...) func

Unpack the received action and execute the correponding action handler

Template parameters:

  • T - The contract class that has the correponding action handler, this contract should be derived from eosio::contract
  • Q - The namespace of the action handler function
  • Args - The arguments that the action handler accepts, i.e. members of the action


  • obj - The contract object that has the correponding action handler
  • func - The action handler