SLIDE 121 121/182
Scenarios
Scenario 1:
– Given a class C – Given an object o, instance of C – Identify all the methods available on o – Invoke a method using its name foo MIRROR_REG_BEGIN MIRROR_QREG_GLOBAL_SCOPE_NAMESPACE(std) MIRROR_REG_CLASS_BEGIN(struct, std, string) MIRROR_REG_CLASS_END MIRROR_QREG_GLOBAL_SCOPE_NAMESPACE(cse3009) MIRROR_REG_CLASS_BEGIN(class, cse3009, C) MIRROR_REG_CLASS_MEM_VARS_BEGIN MIRROR_REG_CLASS_MEM_VAR_GET_SET( private, _, int, i, _.get_i(), _.set_i(_i)) MIRROR_REG_CLASS_MEM_VARS_END MIRROR_REG_MEM_FUNCTIONS_BEGIN MIRROR_REG_MEM_OVLD_FUNC_BEGIN(foo) MIRROR_REG_MEM_FUNCTION_BEGIN(public, _, void, foo, 1) MIRROR_REG_MEM_FUNCTION_PARAM(std::string, _s) MIRROR_REG_MEM_FUNCTION_END(1, _) MIRROR_REG_MEM_OVLD_FUNC_END(foo) MIRROR_REG_MEM_FUNCTIONS_END MIRROR_REG_CLASS_END MIRROR_REG_END