| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/meta/convertible.h
 
- // Purpose:     Test if types are convertible
 
- // Author:      Arne Steinarson
 
- // Created:     2008-01-10
 
- // Copyright:   (c) 2008 Arne Steinarson
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_META_CONVERTIBLE_H_
 
- #define _WX_META_CONVERTIBLE_H_
 
- //
 
- // Introduce an extra class to make this header compilable with g++3.2
 
- //
 
- template <class D, class B>
 
- struct wxConvertibleTo_SizeHelper
 
- {
 
-     static char Match(B* pb);
 
-     static int  Match(...);
 
- };
 
- // Helper to decide if an object of type D is convertible to type B (the test
 
- // succeeds in particular when D derives from B)
 
- template <class D, class B>
 
- struct wxConvertibleTo
 
- {
 
-     enum
 
-     {
 
-         value =
 
-             sizeof(wxConvertibleTo_SizeHelper<D,B>::Match(static_cast<D*>(NULL)))
 
-             ==
 
-             sizeof(char)
 
-     };
 
- };
 
- #endif // _WX_META_CONVERTIBLE_H_
 
 
  |