⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 array.~h

📁 Jpeg编解码器的源代码
💻 ~H
字号:
#ifndef CB__ARRAY_H
#define CB__ARRAY_H
//
//  Title: Array Class
//
//  Author:  John M. Miano  miano@colosseumbuilders.com
//
//  Copyright 1999 Colosseum Builders, Inc.
//
//  Description:
//
//    The Array template class is a wrapper for the STL vector class 
//    that allows range checking to be enabled and disabled.
//
//    If the preprocessor symbol ENABLECHECKS is enabled range checking
//    is enabled.
//

#include <vector>
#include "checks.h"

namespace ColosseumPrivate
{
template<class TYPE>
class Array : public std::vector<TYPE>
{
public:
  Array () {} 
  Array (size_t size) : vector<TYPE>(size) {} 
  Array (size_t size, const TYPE &value) : vector<TYPE>(size, value) {} 
  Array (const Array &source) : vector<TYPE>(source) {} 
  TYPE &operator[](size_t) ;
  const TYPE &operator[] (size_t) const ;
} ;

#if defined (ENABLECHECKS)
template<class TYPE>
inline TYPE &Array<TYPE>::operator[](size_t index)
{
  return vector<TYPE>::at (index) ;
}
template<class TYPE>
inline const TYPE &Array<TYPE>::operator[](size_t index) const
{
  return vector<TYPE>::at (index) ;
}
#else
template<class TYPE>
inline TYPE &Array<TYPE>::operator[](size_t index)
{
  return vector<TYPE>::operator[](index) ;
}
template<class TYPE>
inline const TYPE &Array<TYPE>::operator[](size_t index) const
{
  return vector<TYPE>::operator[](index) ;
}
#endif

}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -