http://www.safetytech.cn 
http://www.safetytech.cn/dcfs.asp
http://www.zcfounder.com/yinxiebing 
http://www.zcfounder.com/piyan
http://www.zcfounder.com/gongshangzhuce 
http://www.zcfounder.com/gongsizhuce 
http://www.zcfounder.com/zhucegongsi 
http://www.zcfounder.com/office/ 
http://www.jinxique.com 
http://www.bestel.com.cn 
http://www.bestel.com.cn/polycom  
http://www.110fat.com http://www.rituo.com 
http://www.cebooks.net  
http://www.110fat.com http://www.zcfounder.com/yujia/fanyico2/fanyi_15.htm
http://www.zcfounder.com/yujia 
http://www.zcfounder.com/yujia 
http://www.zcfounder.com google
http://www.zcfounder.com/promotion.htm google
http://www.zcfounder.com/website.htm 
http://www.zcfounder.com/oasoft.htm
 http://www.zcfounder.com/khgl.htm 
http://www.zcfounder.com/jxc.htm
 http://www.zcfounder.com/hotel.htm
 http://www.zcfounder.com/bregis/ 
http://www.zcfounder.com/caigang/ 
http://www.zcfounder.com/cping/ 
 http://www.zcfounder.com/design
http://www.zcfounder.com/fangwei/
 http://www.zcfounder.com/giftco/ 
 http://www.zcfounder.com/glasses/ 
http://www.zcfounder.com/gps/ 
http://www.zcfounder.com/jiayimin/ 
http://www.zcfounder.com/kouqang/
 http://www.zcfounder.com/law/ 
http://www.zcfounder.com/ledscreen/ 
http://www.zcfounder.com/lxym/ 
http://www.zcfounder.com/patent/ 
http://www.zcfounder.com/rentcar 
http://www.zcfounder.com/ticket/
http://www.zcfounder.com/transcompany/ 
http://www.zcfounder.com/vod 
 http://www.zcfounder.com/yiminnew/ 
 http://www.zcfounder.com/yujia/ 
http://www.zcfounder.com/zhanlan/ 
http://www.zcfounder.com/yuanlin 
http://www.zcfounder.com/office/ 
 http://www.zcfounder.com/office1/ 
http://www.zcfounder.com/qichepeijian 
http://www.zcfounder.com/dianzibaiban 
http://www.zcfounder.com/zichanpinggu 
http://www.zcfounder.com/yikatong 
http://www.zcfounder.com/guangduanji 
http://www.zcfounder.com/minjin 
http://www.zcfounder.com/jiankong 
http://www.zcfounder.com/qianjinding 
http://www.zcfounder.com/xcdesign 
http://www.zcfounder.com/fenci 
http://www.zcfounder.com/cuochuang 
 http://www.zcfounder.com/qchdou 
http://www.zcfounder.com/mshpx 
 http://www.zcfounder.com/mgjx 
http://www.zcfounder.com/xfqc 
http://www.zcfounder.com/shuichuli 
+++++++++++++++++++++++++++++++++++++++++++++
http://www.zcfounder.com/craft 
 http://www.zcfounder.com/jieneng 
http://www.zcfounder.com/syyq 
 http://www.zcfounder.com/fxyq 
http://www.zcfounder.com/baolingqiu 
http://www.zcfounder.com/chuchen 
 http://www.zcfounder.com/golf 
http://www.zcfounder.com/club 
http://www.zcfounder.com/zhusuji 
 http://www.zcfounder.com/chuimoji
 http://www.zcfounder.com/bianpingyou 
http://www.zcfounder.com/hhban 
http://www.zcfounder.com/shizhen
 http://www.zcfounder.com/niupixuan 
http://www.zcfounder.com/pifubing 
http://www.zcfounder.com/youyuan 
 http://www.zcfounder.com/mote 
 http://www.zcfounder.com/dljz 
http://www.zcfounder.com/fangfushe 
http://www.zcfounder.com/fypx 
http://www.zcfounder.com/jiaju 
 http://www.zcfounder.com/spzst 
 http://www.zcfounder.com/mada 
http://www.zcfounder.com/qdmada 
http://www.zcfounder.com/safety
 http://www.zcfounder.com/sljx 
 http://www.zcfounder.com/penmaji
 http://www.zcfounder.com/ganbing 
 http://www.zcfounder.com/tnb 
http://www.zcfounder.com/ysgs 
http://www.zcfounder.com/ysjx 
http://www.zcfounder.com/zhq 
http://www.zcfounder.com/jpyd
 http://www.zcfounder.com/guolu 
http://www.zcfounder.com/mbapx 
http://www.zcfounder.com/jhj 
http://www.zcfounder.com/mask 
http://www.zcfounder.com/spring 
http://www.zcfounder.com/bzsj 
http://www.zcfounder.com/hbsj 
http://www.zcfounder.com/kaiguan 
http://www.zcfounder.com/bmkg 
http://www.zcfounder.com/videsign GenericFunctor could also be called generic callback. Basically, its a callable object that can be binded to call a C function, a C++ method or an STL like functor.

A high quality implementation of that can be found in boost bind, function and lambda libraries. boost bind/function was initially considered as it claimed a good portability. The main reason why a mini generic functor library was developped was compile time. Another was that you easily ended with compiler internal error when playing with bind on VC++ 6.

The generic functor implemented for CppUnit2 is minimal, but meet the implementation requirement. Since boost::function are also functors, they can also be bound to CppUnit2 generic functor.

Here are some examples of use:

{{{

CppUT::Functor0 fn = CppUT::makeFn0( &callback0 ); 
fn();

struct TestFunctor
{
   void operator()() const
   {
      callbackCalled = true;
   }
};

TestFunctor testFunctor;
fn = CppUT::makeFn0( testFunctor );
fn();

struct HelperObject
{
   void setFlag( bool value )
   {
      flag_ = value;
   }
}; 

CppUT::SmartPtr<HelperObject> helper( new HelperObject() );
helper->flag_ = false;
fn = CppUT::makeMemFn1( helper, &HelperObject::setFlag );
fn( true ); 

}}}

More complex examples can be found in [http://cvs.sourceforge.net/viewcvs.py/cppunit/cppunit2/src/cpputtest/testfunctor.cpp?view=markup testfunctor.cpp].
----
