diff --git a/include/etl/priority_queue.h b/include/etl/priority_queue.h index 5c0cd0cb..b0dd9c37 100644 --- a/include/etl/priority_queue.h +++ b/include/etl/priority_queue.h @@ -418,6 +418,7 @@ namespace etl public: typedef typename TContainer::size_type size_type; + typedef TContainer container_type; static ETL_CONSTANT size_type MAX_SIZE = size_type(SIZE); diff --git a/include/etl/queue.h b/include/etl/queue.h index 4dd12d88..1e5fd07a 100644 --- a/include/etl/queue.h +++ b/include/etl/queue.h @@ -584,7 +584,8 @@ namespace etl public: - typedef typename base_t::size_type size_type; + typedef typename base_t::size_type size_type; + typedef typename etl::aligned_storage::value>::type container_type; ETL_STATIC_ASSERT((SIZE <= etl::integral_limits::max), "Size too large for memory model"); @@ -657,7 +658,7 @@ namespace etl private: /// The uninitialised buffer of T used in the queue. - typename etl::aligned_storage::value>::type buffer[SIZE]; + container_type buffer[SIZE]; }; } diff --git a/include/etl/stack.h b/include/etl/stack.h index 0b2324f3..5cd00fb6 100644 --- a/include/etl/stack.h +++ b/include/etl/stack.h @@ -528,6 +528,7 @@ namespace etl class stack : public etl::istack { public: + typedef typename etl::aligned_storage::value>::type container_type; static ETL_CONSTANT size_t MAX_SIZE = SIZE; @@ -598,7 +599,7 @@ namespace etl private: /// The unintitialised buffer of T used in the stack. - typename etl::aligned_storage::value>::type buffer[SIZE]; + container_type buffer[SIZE]; }; }