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)
take ref 739086550cb4ef85d10e083110253ee48820b47b jp.larry 2019-11-27 05:55:55
bug fix f150d538a332788ec41635e37f1d89e41e2d73f3 jp.larry 2019-11-27 05:55:11
more bugs solved d8d2fb72dfd2a3718ff6f26e68d64f5c7d02a348 Your Name 2019-11-27 04:29:04
replaced built_move, built_const and init_move with constructors, for emulating initializer-lists bd60c52d8e0d475dd69f11a48c05224507cfae0e Your Name 2019-11-27 03:42:54
make free deprecated a68c1b809ddc5c2a0018142a8435c67b8e4e0cf6 Your Name 2019-11-26 22:13:26
new template data structure jl::array as static c-array wrapper 68ff5a4049985d4ed013d0976b32e0613bb11ff0 jp.larry 2019-11-25 20:16:39
jassert release macro was wrong 97964f5cf3485502675b77b4df5b322921355cf7 jp.larry 2019-11-25 20:15:13
darray insert functions without checking for resize 0a168f4fc057f697bec6ad1f90faaaa7977c9537 Your Name 2019-11-25 08:39:45
replaced free with jl::deallocate 1d25f7cfe0a36ce04eeb8a6a08dc9f9eefe5c2df Your Name 2019-11-25 07:28:42
jabort_release and jassert_release macros 71349de13d880a9a13eb7cca9c46d460c30705b2 Your Name 2019-11-25 07:00:50
endianness convertion function fbff0fbb13891f7ad2975e226476cf0b56eabb36 Your Name 2019-11-25 06:06:17
overwise -> otherwise 89d07c9f30aba52e50526b0ecf1ed6eddb791764 Your Name 2019-11-25 06:01:13
init function was incorrect 6c820a36720b41b2efbfcf101bd12eb43f69a91d Your Name 2019-11-25 05:59:05
time struct for time measurements d6e362c72596c97abbd7c6f87c25eca1d3127c46 Your Name 2019-11-25 05:58:50
jassert macro, assert alternative e5b46d371c19ec6608c861c8b93a9963f117ec6d Your Name 2019-11-25 05:43:03
typo 14b869ada95c37bcc75a549cdcedae1b0b2ba76d Your Name 2019-11-25 03:27:12
thread pool cleanup 0b783f47cd02fb118f299784b52209e259646b25 Your Name 2019-11-25 03:23:02
removed nodiscard for optional function 3ba7da3a20d2ef5e8bc70d1ff14b9db973bba0dd Your Name 2019-11-25 03:22:13
rarray allocation fix e192f65d453e4e858bc0c034b5b431591175886d Your Name 2019-11-25 03:20:49
new darray function 41ed65d9c71ba226572b451f487ac381bdcb382d Your Name 2019-11-25 03:20:26
Commit 739086550cb4ef85d10e083110253ee48820b47b - take ref
Author: jp.larry
Author date (UTC): 2019-11-27 05:55
Committer name: jp.larry
Committer date (UTC): 2019-11-27 05:55
Parent(s): f150d538a332788ec41635e37f1d89e41e2d73f3
Signer:
Signing key:
Signing status: N
Tree: 15c72c54085f538884a59316ff90d7b4bebcff57
File Lines added Lines deleted
include/jlib/io_agent_mem.h 3 2
File include/jlib/io_agent_mem.h changed (mode: 100644) (index 8bffc03..80860b0)
... ... namespace jl
42 42 */ */
43 43 void destroy() void destroy()
44 44 { {
45 memory.destroy([](uint8_t**p_p){jl::deallocate(p_p);});
45 memory.destroy([](uint8_t*&p_p){jl::deallocate(&p_p);});
46 46 init(); init();
47 47 } }
48 48
 
... ... namespace jl
99 99 + (size_to_allocate % ALLOCATION_SIZE > 0); + (size_to_allocate % ALLOCATION_SIZE > 0);
100 100
101 101 uint64_t start = memory.count(); uint64_t start = memory.count();
102 if (not memory.insert_several(allocate_count,[](auto *p){p={};}))
102 if (not memory.insert_several(allocate_count,
103 [](auto *&p){p = nullptr;}))
103 104 return -1; return -1;
104 105 for (uint64_t i = start; i < memory.count(); ++i) for (uint64_t i = start; i < memory.count(); ++i)
105 106 { {
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