Home | History | Annotate | Download | only in source
      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