mirror of
https://github.com/rbock/sqlpp11.git
synced 2024-11-15 20:31:16 +08:00
clang-format circular_buffer.h
This commit is contained in:
parent
623b5154d0
commit
1b074b7f62
@ -61,12 +61,8 @@ namespace sqlpp
|
|||||||
};
|
};
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
circular_buffer<T>::circular_buffer(std::size_t capacity) :
|
circular_buffer<T>::circular_buffer(std::size_t capacity)
|
||||||
_data(capacity),
|
: _data(capacity), _capacity{capacity}, _size{0}, _head{0}, _tail{0}
|
||||||
_capacity{capacity},
|
|
||||||
_size{0},
|
|
||||||
_head{0},
|
|
||||||
_tail{0}
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,27 +75,36 @@ namespace sqlpp
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void circular_buffer<T>::set_capacity(std::size_t capacity)
|
void circular_buffer<T>::set_capacity(std::size_t capacity)
|
||||||
{
|
{
|
||||||
if (capacity == _capacity) {
|
if (capacity == _capacity)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (_tail >= _head) {
|
if (_tail >= _head)
|
||||||
if (empty () == false) {
|
{
|
||||||
|
if (empty() == false)
|
||||||
|
{
|
||||||
std::rotate(_data.begin(), _data.begin() + _tail, _data.end());
|
std::rotate(_data.begin(), _data.begin() + _tail, _data.end());
|
||||||
}
|
}
|
||||||
_head = (capacity > _size) ? _size : 0;
|
_head = (capacity > _size) ? _size : 0;
|
||||||
_tail = 0;
|
_tail = 0;
|
||||||
} else {
|
}
|
||||||
if (capacity < _head) {
|
else
|
||||||
|
{
|
||||||
|
if (capacity < _head)
|
||||||
|
{
|
||||||
std::rotate(_data.begin(), _data.begin() + _tail, _data.begin() + _head);
|
std::rotate(_data.begin(), _data.begin() + _tail, _data.begin() + _head);
|
||||||
_head = (capacity > _size) ? _size : 0;
|
_head = (capacity > _size) ? _size : 0;
|
||||||
_tail = 0;
|
_tail = 0;
|
||||||
} else if (capacity == _head) {
|
}
|
||||||
|
else if (capacity == _head)
|
||||||
|
{
|
||||||
_head = 0;
|
_head = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_data.resize(capacity);
|
_data.resize(capacity);
|
||||||
_capacity = capacity;
|
_capacity = capacity;
|
||||||
if (_size > capacity) {
|
if (_size > capacity)
|
||||||
|
{
|
||||||
_size = capacity;
|
_size = capacity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -125,7 +130,8 @@ namespace sqlpp
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
T& circular_buffer<T>::front()
|
T& circular_buffer<T>::front()
|
||||||
{
|
{
|
||||||
if (empty()) {
|
if (empty())
|
||||||
|
{
|
||||||
throw std::runtime_error{"circular_buffer::front() called on empty buffer"};
|
throw std::runtime_error{"circular_buffer::front() called on empty buffer"};
|
||||||
}
|
}
|
||||||
return _data[_tail];
|
return _data[_tail];
|
||||||
@ -134,7 +140,8 @@ namespace sqlpp
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void circular_buffer<T>::pop_front()
|
void circular_buffer<T>::pop_front()
|
||||||
{
|
{
|
||||||
if (empty()) {
|
if (empty())
|
||||||
|
{
|
||||||
throw std::runtime_error{"circular_buffer::pop_front() called on empty buffer"};
|
throw std::runtime_error{"circular_buffer::pop_front() called on empty buffer"};
|
||||||
}
|
}
|
||||||
_data[_tail] = {};
|
_data[_tail] = {};
|
||||||
@ -145,7 +152,8 @@ namespace sqlpp
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void circular_buffer<T>::push_back(T&& t)
|
void circular_buffer<T>::push_back(T&& t)
|
||||||
{
|
{
|
||||||
if (full()) {
|
if (full())
|
||||||
|
{
|
||||||
throw std::runtime_error{"circular_buffer::push_back() called on full buffer"};
|
throw std::runtime_error{"circular_buffer::push_back() called on full buffer"};
|
||||||
}
|
}
|
||||||
_data[_head] = std::move(t);
|
_data[_head] = std::move(t);
|
||||||
|
Loading…
Reference in New Issue
Block a user