libeblearn
DECLARE_REPLICABLE_MODULE_1_1

A macro to declare a module_1_1<state_idx,state_idx> as replicable over extra dimensions beyond the module's replicable_order.

Parameters:
replicable_moduleis the new class name
base_moduleis the module_1_1<state_idx,state_idx> to be replicated
type_argumentsare the arguments to the base_module's constructor along with their type (use parenthesis)
argumentsare the naked arguments (use parenthesis) (linear_module_replicable, linear_module, (parameter &p, intg in, intg ou), (p, in, out)); Note: Multiple inheritance could have been cleaner but would have required frequent dynamic_casts from the user.