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 Count()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 Append(const dng_string & s)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