Example #1
0
File: base.hpp Project: phobos/main
			/// @brief visit an object (non-const)
			///
			/// @param b 
			///
			/// This function is called upon visitation.
			///
			/// It extracts the correct thunk from the vtable and calls it
			result_type operator()
			(
				base_type & b
			)
			{
				// fetch thunk
				func_type thunk = (*_vtable)[ b.tag() ];
				// call thunk: pointer to member function syntac
				return
					( this->*thunk )
					(
						b
					);
			}