diff options
Diffstat (limited to 'tests/libsample/implicitconv.h')
-rw-r--r-- | tests/libsample/implicitconv.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/libsample/implicitconv.h b/tests/libsample/implicitconv.h new file mode 100644 index 000000000..538150870 --- /dev/null +++ b/tests/libsample/implicitconv.h @@ -0,0 +1,44 @@ +#ifndef IMPLICITCONV_H +#define IMPLICITCONV_H + +class ImplicitConv +{ +public: + enum CtorEnum { + CtorNone, + CtorOne, + CtorTwo, + CtorThree + }; + + enum ICPolymorphicFuncEnum { + PolyFunc_Ii, + PolyFunc_Ib, + PolyFunc_i, + PolyFunc_C + }; + + ImplicitConv() : m_ctorEnum(CtorNone), m_objId(-1) {} + ImplicitConv(int objId) : m_ctorEnum(CtorOne), m_objId(objId) {} + ImplicitConv(CtorEnum ctorEnum) : m_ctorEnum(ctorEnum), m_objId(-1) {} + ~ImplicitConv() {} + + CtorEnum ctorEnum() { return m_ctorEnum; } + int objId() { return m_objId; } + + static ImplicitConv implicitConvCommon(ImplicitConv implicit); + + static ImplicitConv implicitConvDefault(ImplicitConv implicit = CtorTwo); + + static ICPolymorphicFuncEnum implicitConvPolymorphism(ImplicitConv implicit, int dummyArg); + static ICPolymorphicFuncEnum implicitConvPolymorphism(ImplicitConv implicit, bool dummyArg); + static ICPolymorphicFuncEnum implicitConvPolymorphism(int dummyArg); + static ICPolymorphicFuncEnum implicitConvPolymorphism(CtorEnum dummyArg); + +private: + CtorEnum m_ctorEnum; + int m_objId; +}; + +#endif // IMPLICITCONV_H + |