--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hti/HtiCommPlugins/HtiBtCommPlugin/BtEngine/inc/staticarrayc.h Tue Feb 02 01:57:15 2010 +0200
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Templated class for using static arrays.
+*
+*/
+
+
+#ifndef __STATIC_ARRAY_C_H__
+#define __STATIC_ARRAY_C_H__
+
+
+// CLASS DECLARATIONS
+
+/**
+* TStaticArrayC
+* This templated class provides a type, and size, safe method of
+* using static arrays.
+*/
+template <class T>
+class TStaticArrayC
+ {
+ public: // enumerations
+
+ /**
+ * operator[]
+ * Return an element from the array.
+ * @param aIndex the index of the element to return
+ * @return a reference to the object
+ */
+ inline const T& operator[]( TInt aIndex ) const;
+
+ /**
+ * TPanicCode
+ * Panic code
+ * EIndexOutOfBounds index is out of bounds
+ */
+ enum TPanicCode
+ {
+ EIndexOutOfBounds = 1
+ };
+
+ /**
+ * Panic
+ * Generate a panic.
+ * @param aPanicCode the reason code for the panic
+ */
+ inline void Panic( TPanicCode aPanicCode ) const;
+
+ public: // data
+
+ /** iArray the arrat of elements */
+ const T* iArray;
+
+ /** iCount the number of elements */
+ TInt iCount;
+
+ };
+
+// INCLUDES
+#include "StaticArrayC.inl"
+
+/**
+* CONSTRUCT_STATIC_ARRAY_C
+* Initalise a global constant of type TStaticArrayC<>.
+* @param aValue the underlying const array of T
+*/
+#define CONSTRUCT_STATIC_ARRAY_C( aValue ) \
+ { \
+ aValue, \
+ sizeof( aValue ) / sizeof( *aValue ) \
+ } \
+
+#endif // __STATIC_ARRAY_C_H__
+
+// End of File