From 57acf971a57e8e9fa6181ac2fefdeadd86e9202c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=B1=E5=AE=89?= <31612534@qq.com> Date: Sun, 8 Nov 2020 22:13:54 +0800 Subject: [PATCH] add [] getData add [] getData --- include/circular_buffer.hpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/circular_buffer.hpp b/include/circular_buffer.hpp index 0d5ae03..c57046a 100644 --- a/include/circular_buffer.hpp +++ b/include/circular_buffer.hpp @@ -468,7 +468,21 @@ namespace jm { { return JM_CB_ADDRESSOF(_buffer[0]._value); } + + JM_CB_CXX14_CONSTEXPR reference operator[](size_type i) JM_CB_NOEXCEPT + { + return _buffer[(_head + i) % N]._value; + } + JM_CB_CXX14_CONSTEXPR reference at(size_type i) + { + if (i >= N) + { + throw std::out_of_range("Array index error"); + } + return _buffer[(_head + i) % N]._value; + } + /// modifiers void push_back(const value_type& value) {