NAME

ACE_Fixed_Set - Implement a simple unordered set of T with maximum SIZE.

SYNOPSIS


#include <ace/Set.h>


template<class T, size_t SIZE>
class ACE_Fixed_Set
{
  public:
    friend class ACE_Fixed_Set_Iterator<T, SIZE>;
    ACE_Fixed_Set (void);
    ~ACE_Fixed_Set (void);
    int insert (const T &new_item);
    int remove (const T &item);
    int find (const T &item) const;
    size_t size (void) const;
    void dump (void) const;
    ACE_ALLOC_HOOK_DECLARE;
  private:
    struct { T item_; int is_free_; } search_structure_[SIZE]; size_t cur_size_; size_t max_size_; }; template <class T> class ACE_Bounded_Set; template <class T> class ACE_Bounded_Set_Iterator { public: ACE_Bounded_Set_Iterator (
        ACE_Bounded_Set<T> &s
        );
    int next (T *&next_item);
    int advance (void);
    void dump (void) const;
    ACE_ALLOC_HOOK_DECLARE;
    ACE_Bounded_Set<T> &s_;
    ssize_t next_;
};

DESCRIPTION

This implementation of an unordered set uses a fixed array. This implementation does not allow duplicates...

Initialization and termination methods.

ACE_Fixed_Set (void);
~ACE_Fixed_Set (void);

Classic unordered set operations.

int insert (const T &new_item);
int remove (const T &item);
int find (const T &item) const;
size_t size (void) const;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;

Iteration methods.

int next (T *&next_item);
int advance (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;

AUTHOR

Doug Schmidt

LIBRARY

ace