August 2017
Intermediate to advanced
438 pages
14h 19m
English
As you may see, base_from_member has an integer as a second template argument. This is done for cases when we need multiple base_from_member classes of the same type:
class fake_tasks_processor2 : boost::base_from_member<std::ostringstream, 0> , boost::base_from_member<std::ostringstream, 1> , public tasks_processor { typedef boost::base_from_member<std::ostringstream, 0> logger0_t; typedef boost::base_from_member<std::ostringstream, 1> logger1_t; virtual void do_process() { logger0_t::member << "0: Fake processor2 processed!"; logger1_t::member << "1: Fake processor2 processed!"; } public: fake_tasks_processor2() : logger0_t() , logger1_t() , tasks_processor(logger0_t::member) {} };
The boost::base_from_member ...
Read now
Unlock full access