| 122 | |
| 123 | template<typename TDatums, typename TQueue> |
| 124 | bool QueueBase<TDatums, TQueue>::forceEmplace(TDatums& tDatums) |
| 125 | { |
| 126 | try |
| 127 | { |
| 128 | const std::lock_guard<std::mutex> lock{mMutex}; |
| 129 | if (mTQueue.size() >= getMaxSize()) |
| 130 | mTQueue.pop(); |
| 131 | return emplace(tDatums); |
| 132 | } |
| 133 | catch (const std::exception& e) |
| 134 | { |
| 135 | error(e.what(), __LINE__, __FUNCTION__, __FILE__); |
| 136 | return false; |
| 137 | } |
| 138 | } |
| 139 | |
| 140 | template<typename TDatums, typename TQueue> |
| 141 | bool QueueBase<TDatums, TQueue>::tryEmplace(TDatums& tDatums) |