diff --git a/include/circ_elems_array.h b/include/circ_elems_array.h index d989dbf..be45ee5 100644 --- a/include/circ_elems_array.h +++ b/include/circ_elems_array.h @@ -122,7 +122,11 @@ struct prod_cons { template constexpr static std::size_t elem_param = DataSize; - using rc_t = typename decltype(detail::elem_head::rc_)::value_type; + /* + std::atomic may not have value_type. + See: https://stackoverflow.com/questions/53648614/what-happened-to-stdatomicxvalue-type + */ + using rc_t = decltype(detail::elem_head::rc_.load()); detail::u2_t cursor() const noexcept { return wt_.load(std::memory_order_acquire);