#ifndef	__COUNTER_H__
#define	__COUNTER_H__

typedef struct __Counter    Counter;

struct __Counter {
// private member
	int m_nValue__;
};

// public methods
Counter*    Counter_Alloc(void);
void        Counter_Free(Counter* pMe);
Counter*    Counter_Ctor(Counter* pMe);
Counter*    Counter_New(void);
void        Counter_Delete(Counter* pMe);
int         Counter_GetValue(Counter* pMe);
void        Counter_SetValue(Counter* pMe,int value);
int         Counter_Inc(Counter* pMe);
int         Counter_Dec(Counter* pMe);
void        Counter_Clr(Counter* pMe);

#endif/*__COUNTER_H__*/

