12 #include <boost/type_traits.hpp>
14 #define CONSERVATIVE_PLAYER_ACCESS
67 template <
class T>
inline
74 template <
class T>
inline
76 return iter + (-diff);
79 template <
class T,
class T2>
84 template <
class T,
class T2>
89 template <
class T,
class T2>
94 template <
class T,
class T2>
99 template <
class T,
class T2>
108 template <
typename T,
size_t Capacity>
114 typedef typename boost::remove_cv<T>::type
T_simple;
127 assert(i < Capacity);
131 static size_t size() {
return Capacity; }
135 assert(i < Capacity);
150 assert(1 < Capacity);
151 #ifndef CONSERVATIVE_PLAYER_ACCESS
153 return *((T*)((
char *)&
elements[0] +
161 assert(1 < Capacity);
162 #ifndef CONSERVATIVE_PLAYER_ACCESS
163 return *((T*)((
char *)&
elements[0] +
183 const T&
back()
const {
return *(
end() - 1); }