#ifndef Way_1
#define Way_1

//define
Template<class Interface , class Data >
bool verify(){return Interface.Verify(Data Data);}

//use
verify<passwordverfier,string>();
verify<IDcardverfier,vector<byte>>();
#endif //Way_1

#ifndef Way_2
#define Way_2
//define
class A{
	passwordverfier Interface; 
	string Data};

class B{
	IDcardverfier Interface; 
	vector<byte> Data};

//prepare
std::list<boost::any> totaldata;
totaldata.push_back(A);
totaldata.push_back(B);

//use
std::for_each(
	totaldata.begin(),
	totaldata.end(),
	[](auto var){var.Interface.Verify(var.Data);});
#endif //Way_2