00001 /**************************************************************************** 00002 (c) 2014 by Teledyne DALSA 00003 Section: Digital Imaging 00004 Project: GCBase 00005 Author: Eric Bourbonnais 00006 00007 00008 License: This file is published under the license of the EMVA GenICam Standard Group. 00009 A text file describing the legal terms is included in your installation as 'GenICam_license.pdf'. 00010 If for some reason you are missing this file please contact the EMVA or visit the website 00011 (http://www.genicam.org) for a full copy. 00012 00013 THIS SOFTWARE IS PROVIDED BY THE EMVA GENICAM STANDARD GROUP "AS IS" 00014 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 00015 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00016 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE EMVA GENICAM STANDARD GROUP 00017 OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00018 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00019 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00020 OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00021 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00022 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00023 POSSIBILITY OF SUCH DAMAGE. 00024 00025 ****************************************************************************/ 00026 00027 #ifndef GCBASE_GCARRAY_H 00028 #define GCBASE_GCARRAY_H 00029 00030 #include <Base/GCTypes.h> 00031 namespace GENICAM_NAMESPACE 00032 { 00033 template< class T> 00034 class gcarray 00035 { 00036 public: 00037 gcarray( size_t size) : m_p( NULL) 00038 { 00039 if(size) 00040 m_p = new T[size]; 00041 }; 00042 ~gcarray( ){ if(m_p) delete [] m_p;}; 00043 T* get() const {return m_p;} ; 00044 T* operator *() {return m_p;} ; 00045 T operator[](size_t idx) {return m_p[idx];} ; 00046 private: 00047 T* m_p; 00048 }; 00049 00050 } 00051 00052 #endif // GCBASE_GCARRAY_H