1 | /*****************************************************************************/ |
2 | // Copyright 2006-2007 Adobe Systems Incorporated |
3 | // All Rights Reserved. |
4 | // |
5 | // NOTICE: Adobe permits you to use, modify, and distribute this file in |
6 | // accordance with the terms of the Adobe license agreement accompanying it. |
7 | /*****************************************************************************/ |
8 | |
9 | /* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_string_list.h#1 $ */ |
10 | /* $DateTime: 2012/05/30 13:28:51 $ */ |
11 | /* $Change: 832332 $ */ |
12 | /* $Author: tknoll $ */ |
13 | |
14 | /*****************************************************************************/ |
15 | |
16 | #ifndef __dng_string_list__ |
17 | #define __dng_string_list__ |
18 | |
19 | /*****************************************************************************/ |
20 | |
21 | #include "dng_classes.h" |
22 | #include "dng_types.h" |
23 | |
24 | /*****************************************************************************/ |
25 | |
26 | class dng_string_list |
27 | { |
28 | |
29 | private: |
30 | |
31 | uint32 fCount; |
32 | |
33 | uint32 fAllocated; |
34 | |
35 | dng_string **fList; |
36 | |
37 | public: |
38 | |
39 | dng_string_list (); |
40 | |
41 | ~dng_string_list (); |
42 | |
43 | uint32 Count () const |
44 | { |
45 | return fCount; |
46 | } |
47 | |
48 | dng_string & operator[] (uint32 index) |
49 | { |
50 | return *(fList [index]); |
51 | } |
52 | |
53 | const dng_string & operator[] (uint32 index) const |
54 | { |
55 | return *(fList [index]); |
56 | } |
57 | |
58 | void Allocate (uint32 minSize); |
59 | |
60 | void Insert (uint32 index, |
61 | const dng_string &s); |
62 | |
63 | void Append (const dng_string &s) |
64 | { |
65 | Insert (Count (), s); |
66 | } |
67 | |
68 | bool Contains (const dng_string &s) const; |
69 | |
70 | void Clear (); |
71 | |
72 | private: |
73 | |
74 | // Hidden copy constructor and assignment operator. |
75 | |
76 | dng_string_list (const dng_string_list &list); |
77 | |
78 | dng_string_list & operator= (const dng_string_list &list); |
79 | |
80 | }; |
81 | |
82 | /*****************************************************************************/ |
83 | |
84 | #endif |
85 | |
86 | /*****************************************************************************/ |
87 | |