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
26class 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