FD_SET
abstraction.
#include <ace/Handle_Set.h>
class ACE_Handle_Set {
public:
friend class ACE_Handle_Set_Iterator;
enum { MAXSIZE = ACE_DEFAULT_SELECT_REACTOR_SIZE };
ACE_Handle_Set (void);
ACE_Handle_Set (const ACE_FD_SET_TYPE &mask);
void reset (void);
int is_set (ACE_HANDLE) const;
void set_bit (ACE_HANDLE);
void clr_bit (ACE_HANDLE);
int num_set (void) const;
ACE_HANDLE max_set (void) const;
void sync (ACE_HANDLE max);
operator fd_set *();
void operator= (const ACE_Handle_Set &);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
private:
int size_;
ACE_HANDLE max_handle_;
ACE_HANDLE min_handle_;
fd_set mask_;
enum{ WORDSIZE = NFDBITS, #if !defined ( ACE_WIN32) NUM_WORDS = howmany (MAXSIZE, NFDBITS), #endif NBITS = 256 };
static int count_bits (u_long n);
static int bitpos (u_long bit);
void set_max (ACE_HANDLE max);
static const char nbits_[NBITS];
};
ACE_Handle_Set (void);
ACE_Handle_Set (const ACE_FD_SET_TYPE &mask);
void reset (void);
int is_set (ACE_HANDLE) const;
void set_bit (ACE_HANDLE);
void clr_bit (ACE_HANDLE);
int num_set (void) const;
ACE_HANDLE max_set (void) const;
void sync (ACE_HANDLE max);
operator fd_set *();
fd_set
. Returns 0 if
size_
== 0.
void operator= (const ACE_Handle_Set &);
size_
== 0.
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;