Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

dengfei660/Queue

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Queue
- thread-safe
- ability to define max number of elements
- sort elements into queue
- get in O(1), except when filtered (worst case O(n))
- put in O(1) when unsorted, in O(n) in the worst case when sorted
- MIT license (windows support relies on LGPL licensed pthreads-win32 (http://sourceware.org/pthreads-win32/))

sorted queue:
  your elements in the queue will be ordered according to the sort function which is given.

Build steps:
- mkdir build && cd build
- cmake ..
- make / build VS project under windows

Building 32-/64-bit:
- OS X: universal binaries are built
- Linux: use 'cmake -DBUILT_32=ON ..' to force 32-bit built, -DBUILT_64=ON for 64-bit
- Windows: use 'cmake -G "Visual Studio 11 Win64" -DBUILT_64=ON ..' to force a 64-bit build, 'cmake -G "Visual Studio 11" -DBUILT_32=ON ..' for 32-bit

TODO:
- proper test suite, so that everybody can easily see whats tested and run the tests himself
- ability to turn of element counting => only unlimited queue
- function to peek at next element

error codes:
 < 0 => error
 = 0 => okay

 0 - everything alright

-1 - invalid queue
-2 - could not acquire lock
-3 - could not allocate memory
-4 - no new data allowed
-5 - invalid element in queue
-6 - invalid callback
-7 - max_elements reached or no elements in queue

About

A small thread-safe queue written in C

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 62.5%
  • C++ 29.4%
  • CMake 8.1%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.