Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / apps / soreduce / Sig_List.h
blobe0450bf2680844897137175d2c6552e03cd56b91
1 // -*- C++ -*-
2 // File: Sig_List.h
4 // Author: Phil Mesnier
7 #ifndef _SIG_LIST_H_
8 #define _SIG_LIST_H_
10 // A Sig_List is a specialized container of signatures. The initial use of a
11 // Sig_List was to manage a variable length of undefined Signatures, so the
12 // program could know when all possible resolutions were determined. As the
13 // program grows in complexity, Sig_Lists are used to store other groups as
14 // well. The methods provide simple list traversal, as well as efficient use
15 // of space.
17 #include "Signature.h"
19 class Sig_List {
20 public:
21 Sig_List (int cap = 500);
22 ~Sig_List ();
23 void add (const ACE_CString &s);
24 void add (const Sig_List &other);
25 void remove (const Signature &s);
26 void remove_current ();
28 int index_of (const Signature *s);
29 int index_of (const ACE_CString &s);
30 int hasmore();
31 const Signature *first();
32 const Signature *next();
34 int modified ();
35 int size();
37 private:
38 int size_;
39 int capacity_;
40 int index_;
41 int has_nulls_;
42 int modified_;
43 Signature ** array_;
47 #endif /* _SIG_LIST_H_ */