Skip to content

Commit

Permalink
Release 2.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
DNedic committed Jul 17, 2023
1 parent d449b1e commit cd0c5ef
Show file tree
Hide file tree
Showing 15 changed files with 52 additions and 48 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 2.0.3

- Fixed MSVC C++ language standard detection

## 2.0.2

- Performance and code conciseness improvements in single-producer single-consumer [Queue](docs/spsc/queue.md), [Priority Queue](docs/spsc/priority_queue.md) and [Bipartite Buffer](docs/spsc/bipartite_buf.md)
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 3.16)

project(lockfree
VERSION 2.0.2
VERSION 2.0.3
LANGUAGES CXX
)

Expand Down
6 changes: 3 additions & 3 deletions lockfree/lockfree.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
* @brief A collection of lock free data structures written in
* standard c++11 suitable for all systems, from low-end
* microcontrollers to HPC machines.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -36,7 +36,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

#ifndef LOCKFREE_HPP
Expand Down
8 changes: 4 additions & 4 deletions lockfree/mpmc/priority_queue.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
* @brief A priority queue implementation written in standard
* c++11 suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for all scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -36,7 +36,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down Expand Up @@ -70,7 +70,7 @@ template <typename T, size_t size, size_t priority_count> class PriorityQueue {
* @param[in] Element priority
* @retval Operation success
*/
bool Push(const T &element, const size_t priority);
bool Push(const T &element, size_t priority);

/**
* @brief Removes an element with the highest priority from the queue.
Expand Down
6 changes: 3 additions & 3 deletions lockfree/mpmc/priority_queue_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
* @brief A priority queue implementation written in standard
* c++11 suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for all scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -36,7 +36,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down
6 changes: 3 additions & 3 deletions lockfree/mpmc/queue.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
* @brief A queue implementation written in standard c++11
* suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for all scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -36,7 +36,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down
6 changes: 3 additions & 3 deletions lockfree/mpmc/queue_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
* @brief A queue implementation written in standard c++11
* suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for all scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -36,7 +36,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/********************** PUBLIC METHODS ************************/
Expand Down
18 changes: 9 additions & 9 deletions lockfree/spsc/bipartite_buf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* standard c++11 suitable for all systems, from low-end
* microcontrollers to HPC machines.
* Lock-free for single consumer single producer scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -37,7 +37,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down Expand Up @@ -70,7 +70,7 @@ template <typename T, size_t size> class BipartiteBuf {
* @param[in] Free linear space in the buffer required
* @retval Pointer to the beginning of the linear space
*/
T *WriteAcquire(const size_t free_required);
T *WriteAcquire(size_t free_required);

#if __cplusplus >= 202002L || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L)
/**
Expand All @@ -79,7 +79,7 @@ template <typename T, size_t size> class BipartiteBuf {
* @param[in] Free linear space in the buffer required
* @retval Span of the linear space
*/
std::span<T> WriteAcquireSpan(const size_t free_required);
std::span<T> WriteAcquireSpan(size_t free_required);
#endif

/**
Expand All @@ -88,7 +88,7 @@ template <typename T, size_t size> class BipartiteBuf {
* @param[in] Elements written to the linear space
* @retval None
*/
void WriteRelease(const size_t written);
void WriteRelease(size_t written);

#if __cplusplus >= 202002L || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L)
/**
Expand All @@ -97,7 +97,7 @@ template <typename T, size_t size> class BipartiteBuf {
* @param[in] Span of the linear space
* @retval None
*/
void WriteRelease(const std::span<T> written);
void WriteRelease(std::span<T> written);
#endif

/**
Expand All @@ -123,7 +123,7 @@ template <typename T, size_t size> class BipartiteBuf {
* @param[in] Elements read from the linear region
* @retval None
*/
void ReadRelease(const size_t read);
void ReadRelease(size_t read);

#if __cplusplus >= 202002L || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L)
/**
Expand All @@ -132,7 +132,7 @@ template <typename T, size_t size> class BipartiteBuf {
* @param[in] Span of the linear space
* @retval None
*/
void ReadRelease(const std::span<T> read);
void ReadRelease(std::span<T> read);
#endif

/********************* PRIVATE METHODS ************************/
Expand Down
6 changes: 3 additions & 3 deletions lockfree/spsc/bipartite_buf_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* c++11 suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for single consumer single
* producer scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -37,7 +37,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down
8 changes: 4 additions & 4 deletions lockfree/spsc/priority_queue.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* c++11 suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for single consumer single
* producer scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -37,7 +37,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down Expand Up @@ -71,7 +71,7 @@ template <typename T, size_t size, size_t priority_count> class PriorityQueue {
* @param[in] Element priority
* @retval Operation success
*/
bool Push(const T &element, const size_t priority);
bool Push(const T &element, size_t priority);

/**
* @brief Removes an element with the highest priority from the queue.
Expand Down
6 changes: 3 additions & 3 deletions lockfree/spsc/priority_queue_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* c++11 suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for single consumer single
* producer scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -37,7 +37,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down
6 changes: 3 additions & 3 deletions lockfree/spsc/queue.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for single consumer single
* producer scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -37,7 +37,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down
6 changes: 3 additions & 3 deletions lockfree/spsc/queue_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for single consumer single
* producer scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -37,7 +37,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/********************** PUBLIC METHODS ************************/
Expand Down
6 changes: 3 additions & 3 deletions lockfree/spsc/ring_buf.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* c++11 suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for single consumer single
* producer scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -37,7 +37,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/************************** INCLUDE ***************************/
Expand Down
6 changes: 3 additions & 3 deletions lockfree/spsc/ring_buf_impl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* c++11 suitable for both low-end microcontrollers all the way
* to HPC machines. Lock-free for single consumer single
* producer scenarios.
* @version 2.0.2
* @date 6. June 2023
* @version 2.0.3
* @date 17. July 2023
* @author Djordje Nedic
**************************************************************/

Expand Down Expand Up @@ -37,7 +37,7 @@
* This file is part of lockfree
*
* Author: Djordje Nedic <[email protected]>
* Version: v2.0.2
* Version: v2.0.3
**************************************************************/

/********************** PUBLIC METHODS ************************/
Expand Down

0 comments on commit cd0c5ef

Please sign in to comment.