// // This header file defines the container class openArrayT<> and // its associated iterator. This container class represents an open // array with packed and unpacked dimensions. // #ifndef OPEN_ARRAY_H #define OPEN_ARRAY_H #include "svdpi.h" #include "array.h" namespace DPI_OO { template class openArrayT : public arrayT { public: typedef DPI_OO::openArrayIterT iterator; openArrayT() {} openArrayT(const openArrayT& from) {} ~openArrayT() {} virtual int size() = 0; virtual int arraysize() = 0; virtual int low() = 0; virtual int high() = 0; virtual int left() = 0; virtual int right() = 0; virtual int dimensions() = 0; virtual openArrayT& operator= (const openArrayT& other) = 0; virtual iterator begin() = 0; virtual iterator end() = 0; }; template class svOpenArrayT : public openArrayT { public: svOpenArrayT(svOpenArrayHandle hndl); svOpenArrayT(const svOpenArrayT& from); ~svOpenArrayT(); int size(); int arraysize(); int low(); int high(); int left(); int right(); int dimensions(); T* operator [] (int idx); openArrayT& operator= (const openArrayT& other); T* operator* (); iterator begin(); iterator end(); }; }; #endif