Jackalope / jlib (public) (License: GPLv3 or later) (since 2019-11-18) (hash sha1)
jlib C++ template library
Used to replace std functionality without exception handling.
- data structures
- filesystem routines
- crossplatform threads interface (currently only pthreads implementation)
- thread pool
- crossplatform dynamic memory functions interface (allocate, reallocate, deallocate) with alignment support
- high percision timer routines based on timespec
List of commits:
Subject Hash Author Date (UTC)
cpu_number return unsigned int b9c11a1b4474747c313957bef5573d1db6c481ff Jackalope 2020-05-24 00:13:29
ThreadPool moved to jl namespace, same for cpu_number function 2e486f0d57347197a875abe79b4c637e7c925ecc Jackalope 2020-05-23 23:26:00
removed inline keyword from functions in fs.cpp 295f11fb3a3f285c5393687675d8dd2c86e726b8 Jackalope 2020-05-23 23:25:12
make assert constexpr compatible again 378556f2203439749e7c4003031c3e1de1511f6d Jackalope 2020-05-23 23:24:04
renamed Doxygen options cbda01d11706d12d842d088e917dd3e7866689a2 Jackalope 2020-05-23 23:23:30
Updated license notice 0d013874b3eca0e34ad14cbb4dc4aa7628549a4b Jackalope 2020-05-23 22:52:50
Moved some implementation to library obj target 43b7241f3ded0b0b049d15bf337dac6b25b577e6 Jackalope 2020-05-23 22:44:45
CMake documentation target 8ab15abc55ba97919ffa4b07bdf9389b0ff57a24 Jackalope 2020-05-23 21:19:36
CMake install target with version control 9e7aaf56c9c3cae628cc8dc35ded5fec49d414b2 Jackalope 2020-05-23 21:10:32
added read whole TEXT file func also (only binary was before) d70894b97e0760c85fa03bf802d36a840d331bc9 Jackalope 2020-05-20 19:05:49
Changed cmake library interface 0b4c87b296597ae929dc1038e9eefbf155250fa7 Jackalope 2020-05-12 06:57:42
added byte_array and byte_array_ro typedefs 902916f777983eba78d325e9f9c9c01bd2502ca3 Jackalope 2020-05-11 07:47:33
remove _BIT postfix from file opening flags 1cf92db6ccb85c2ac0ed7f86fbdfeac97745bd45 Jackalope 2020-05-11 07:46:51
added license 16a67712bb2ffd15263a6a146a06d4860f435645 Jackalope 2020-05-09 23:31:00
code refactoring 7cfcdc6b9382cea7227d44746c166747fced61a0 Jackalope 2020-05-09 23:05:21
add check for threads count to prevent bloating ce23263c2c053dd1374d54c618b6850215077880 Jackalope 2020-04-21 22:11:24
pthreads detach function fix 8ac43fe43beca9b55d2ea605e0c3fd821b8b5579 Jackalope 2020-04-15 09:53:11
make asserts constexpr compatible 4c2dfc64c3d9587ee9b749db9355f4e0d6003547 Jackalope 2020-03-29 07:03:08
changed default grow policy size addition to 8 619dc29be4ed4ac049cbee81a92e37f29ffd8b7c Jackalope 2020-03-06 07:05:53
comment fixes 73b30cdb75c18752d55c38d862c2c8e54c7b5b5d TheArtOfGriefing 2020-02-15 19:55:30
Commit b9c11a1b4474747c313957bef5573d1db6c481ff - cpu_number return unsigned int
Author: Jackalope
Author date (UTC): 2020-05-24 00:13
Committer name: Jackalope
Committer date (UTC): 2020-05-24 00:14
Parent(s): 2e486f0d57347197a875abe79b4c637e7c925ecc
Signing key:
Tree: a5a4336e66cbe9e671ab9da1bd6a1978924dc1de
File Lines added Lines deleted
include/jlib/thread_pool.h 1 1
include/jlib/threads.h 1 1
src/threads.cpp 2 2
File include/jlib/thread_pool.h changed (mode: 100644) (index 75b889b..3bc15fb)
... ... namespace jl {
24 24 constexpr static const unsigned int NULL_ID = -1u; constexpr static const unsigned int NULL_ID = -1u;
25 25 struct ThreadPool; struct ThreadPool;
26 26 struct Task; struct Task;
27 [[nodiscard]] unsigned long
27 [[nodiscard]] unsigned int
28 28 cpu_number(); cpu_number();
29 29 } }
30 30 struct jl::Task { struct jl::Task {
File include/jlib/threads.h changed (mode: 100644) (index 3c78c9f..5615eab)
23 23 #include "threads/def.h" #include "threads/def.h"
24 24 #include "threads/impl_pthreads.inl" #include "threads/impl_pthreads.inl"
25 25 namespace jl { namespace jl {
26 [[nodiscard]] unsigned long
26 [[nodiscard]] unsigned int
27 27 cpu_number(); cpu_number();
28 28 } }
29 29 namespace jl::threads { namespace jl::threads {
File src/threads.cpp changed (mode: 100644) (index 1b0f8f0..c304c10)
25 25 #else #else
26 26 #include <unistd.h> #include <unistd.h>
27 27 #endif #endif
28 [[nodiscard]] unsigned long jl::
28 [[nodiscard]] unsigned int jl::
29 29 cpu_number() { cpu_number() {
30 30 #ifdef WIN32 #ifdef WIN32
31 31 SYSTEM_INFO sysinfo; SYSTEM_INFO sysinfo;
 
... ... cpu_number() {
46 46 } }
47 47 return count; return count;
48 48 #else #else
49 return static_cast<unsigned long>(sysconf(_SC_NPROCESSORS_ONLN));
49 return static_cast<unsigned int>(sysconf(_SC_NPROCESSORS_ONLN));
50 50 #endif #endif
51 51 } }
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/Jackalope/jlib

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/Jackalope/jlib

Clone this repository using git:
git clone git://git.rocketgit.com/user/Jackalope/jlib

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main