52 :
public etl::generic_pool<etl::largest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::size,
53 etl::largest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::alignment,
58 typedef etl::generic_pool<etl::largest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::size,
59 etl::largest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::alignment,
62 static const size_t MAX_SIZE = MAX_SIZE_;
71#if ETL_CPP11_NOT_SUPPORTED || ETL_USING_STLPORT
78 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
86 template <
typename T,
typename TP1>
89 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
97 template <
typename T,
typename TP1,
typename TP2>
98 T*
create(
const TP1& p1,
const TP2& p2)
100 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
102 return base_t::template
create<T>(p1, p2);
108 template <
typename T,
typename TP1,
typename TP2,
typename TP3>
109 T*
create(
const TP1& p1,
const TP2& p2,
const TP3& p3)
111 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
113 return base_t::template
create<T>(p1, p2, p3);
119 template <
typename T,
typename TP1,
typename TP2,
typename TP3,
typename TP4>
120 T*
create(
const TP1& p1,
const TP2& p2,
const TP3& p3,
const TP4& p4)
122 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
124 return base_t::template
create<T>(p1, p2, p3, p4);
130 template <
typename T,
typename... Args>
133 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
135 return base_t::template
create<T>(etl::forward<Args>(args)...);
142 template <
typename T>
145 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value ||
146 etl::is_base_of<T, T1>::value ||
147 etl::is_base_of<T, T2>::value ||
148 etl::is_base_of<T, T3>::value ||
149 etl::is_base_of<T, T4>::value ||
150 etl::is_base_of<T, T5>::value ||
151 etl::is_base_of<T, T6>::value ||
152 etl::is_base_of<T, T7>::value ||
153 etl::is_base_of<T, T8>::value ||
154 etl::is_base_of<T, T9>::value ||
155 etl::is_base_of<T, T10>::value ||
156 etl::is_base_of<T, T11>::value ||
157 etl::is_base_of<T, T12>::value ||
158 etl::is_base_of<T, T13>::value ||
159 etl::is_base_of<T, T14>::value ||
160 etl::is_base_of<T, T15>::value ||
161 etl::is_base_of<T, T16>::value),
"Invalid type");
198 :
public etl::generic_pool_ext<etl::largest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::size,
199 etl::largest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::alignment>
203 typedef etl::generic_pool_ext<etl::largest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::size,
204 etl::largest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::alignment> base_t;
210 : base_t(buffer,
size)
214#if ETL_CPP11_NOT_SUPPORTED || ETL_USING_STLPORT
218 template <
typename T>
221 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
229 template <
typename T,
typename TP1>
232 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
240 template <
typename T,
typename TP1,
typename TP2>
241 T*
create(
const TP1& p1,
const TP2& p2)
243 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
245 return base_t::template
create<T>(p1, p2);
251 template <
typename T,
typename TP1,
typename TP2,
typename TP3>
252 T*
create(
const TP1& p1,
const TP2& p2,
const TP3& p3)
254 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
256 return base_t::template
create<T>(p1, p2, p3);
262 template <
typename T,
typename TP1,
typename TP2,
typename TP3,
typename TP4>
263 T*
create(
const TP1& p1,
const TP2& p2,
const TP3& p3,
const TP4& p4)
265 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
267 return base_t::template
create<T>(p1, p2, p3, p4);
273 template <
typename T,
typename... Args>
276 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value),
"Unsupported type");
278 return base_t::template
create<T>(etl::forward<Args>(args)...);
285 template <
typename T>
288 ETL_STATIC_ASSERT((etl::is_one_of<T, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>::value ||
289 etl::is_base_of<T, T1>::value ||
290 etl::is_base_of<T, T2>::value ||
291 etl::is_base_of<T, T3>::value ||
292 etl::is_base_of<T, T4>::value ||
293 etl::is_base_of<T, T5>::value ||
294 etl::is_base_of<T, T6>::value ||
295 etl::is_base_of<T, T7>::value ||
296 etl::is_base_of<T, T8>::value ||
297 etl::is_base_of<T, T9>::value ||
298 etl::is_base_of<T, T10>::value ||
299 etl::is_base_of<T, T11>::value ||
300 etl::is_base_of<T, T12>::value ||
301 etl::is_base_of<T, T13>::value ||
302 etl::is_base_of<T, T14>::value ||
303 etl::is_base_of<T, T15>::value ||
304 etl::is_base_of<T, T16>::value),
"Invalid type");
314 return base_t::max_size();