use full path to headers in header guards
[wxWidgets.git] / include / wx / meta / convertible.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/meta/convertible.h
3 // Purpose: Test if types are convertible
4 // Author: Arne Steinarson
5 // Created: 2008-01-10
6 // RCS-ID: $Id$
7 // Copyright: (c) 2008 Arne Steinarson
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_META_CONVERTIBLE_H_
12 #define _WX_META_CONVERTIBLE_H_
13
14 // Helper to decide if an object of type D is convertible to type B (the test
15 // succeeds in particular when D derives from B)
16 template <class D, class B>
17 struct wxConvertibleTo
18 {
19 static char Match(B* pb);
20 static int Match(...);
21
22 enum { value = sizeof(Match(static_cast<D*>(NULL))) == sizeof(char) };
23 };
24
25 #endif // _WX_META_CONVERTIBLE_H_
26