23 lines
451 B
C
23 lines
451 B
C
typedef int INT_TYPEDEF;
|
|
|
|
template<class T>
|
|
class TypedIfc
|
|
{
|
|
public:
|
|
virtual ~TypedIfc() { }
|
|
virtual operator const T&() const = 0;
|
|
virtual const T& operator= (const T& t) = 0;
|
|
};
|
|
|
|
template<class Tnative>
|
|
class NullIfc : public TypedIfc<Tnative>
|
|
{
|
|
public:
|
|
const Tnative& operator= (const Tnative& t) { return t; }
|
|
operator const Tnative&() const { return *(Tnative *)0; }
|
|
};
|
|
|
|
typedef TypedIfc<INT_TYPEDEF> INT_TYPEDEFIfc;
|
|
|
|
NullIfc<int> i32;
|