#include <ace/Thread_Manager.h>
class ACE_At_Thread_Exit {
public:friend class ACE_Thread_Descriptor;friend class ACE_Thread_Manager;ACE_At_Thread_Exit(void);virtual ~ACE_At_Thread_Exit(void);int is_owner() const;int is_owner(int owner);int was_applied() const;int was_applied(int applied);protected:ACE_At_Thread_Exit* next_;void do_apply();virtual void apply() = 0;ACE_Thread_Descriptor* td_;int was_applied_;int is_owner_;};
friend class ACE_Thread_Descriptor;
friend class ACE_Thread_Manager;
ACE_At_Thread_Exit(void);
virtual ~ACE_At_Thread_Exit(void);
int is_owner() const;
int is_owner(int owner);
int was_applied() const;
int was_applied(int applied);
ACE_At_Thread_Exit* next_;
void do_apply();
virtual void apply() = 0;
ACE_Thread_Descriptor* td_;
int was_applied_;
int is_owner_;