00001 // -*- C++ -*- 00002 00008 #if !defined(__ads_ArrayTypes_h__) 00009 #define __ads_ArrayTypes_h__ 00010 00011 #include "../defs.h" 00012 00013 #include "../../third-party/loki/static_check.h" 00014 #include "../../third-party/loki/TypeTraits.h" 00015 00016 #include <cstddef> 00017 00018 BEGIN_NAMESPACE_ADS 00019 00021 template <typename T> 00022 class ArrayTypes 00023 { 00024 public: 00025 00026 // 00027 // public types 00028 // 00029 00031 typedef T value_type; 00033 00036 typedef typename Loki::TypeTraits<value_type>::ParameterType parameter_type; 00038 00041 typedef typename Loki::TypeTraits<value_type>::UnqualifiedType 00042 unqualified_value_type; 00043 00045 typedef value_type* pointer; 00047 typedef const value_type* const_pointer; 00048 00050 typedef value_type* iterator; 00052 typedef const value_type* const_iterator; 00053 00055 typedef value_type& reference; 00057 typedef const value_type& const_reference; 00058 00060 00066 typedef int size_type; 00068 typedef std::ptrdiff_t difference_type; 00069 }; 00070 00071 END_NAMESPACE_ADS 00072 00073 #endif