00001
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
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