January 2020
Intermediate to advanced
454 pages
11h 25m
English
Our delegate currently cannot take a member function marked as const as we have not provided our delegate with a wrapper capable of doing so. For example, our heroes' attack() function currently looks like this:
class spiderman{public: bool attack(int x, int) { return x == 0 ? true : false; }};
We would, however, like our hero attack() functions to look like the following since they do not modify any private member variables:
class spiderman{public: bool attack(int x, int) const { return x == 0 ? true : false; }};
To support this change, we must create a wrapper that supports this, shown as follows:
template< typename T, typename RET, typename... ARGS >class wrapper_const : public base<RET, ARGS...>{