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)
New option JLIB_ALLOCATE_DEBUG fa66e03cd2ea7102bab8a6de3415898c114a27e4 Jackalope 2020-05-31 10:44:49
Changed version config to match versioning compatibility. 393953edfa42b24e43ba027c5d52d7c2df6cf861 Jackalope 2020-05-31 10:43:09
Thread pool wrong doxygen tag fix. 8392eb800adc01d587d9f6ce962ad403f1e5c80c Jackalope 2020-05-29 16:51:33
jassert macro compatibility in if statement without braces. 5c749b8c1cb2cb51c8ddf6ccedef8d72554d6c68 Jackalope 2020-05-29 15:54:53
Version 0.3.0 616c945f21a8da901facc7363c3b204216776a1d Jackalope 2020-05-26 14:37:18
Removing deprecated threads and old thread pool. b2ce1a8eb5b4a1b9c5d6a19fe75e7a52738e6866 Jackalope 2020-05-26 14:31:57
Resolved issues and warnings with GCC. c9ee73408a660c723dd51b74311d572ec4ef2320 Jackalope 2020-05-26 14:19:43
Thread result can be only pointer now. 645f6ce75c773fd2fad543bfd542202d02925288 Jackalope 2020-05-26 14:19:11
Option JLIB_STATIC to select static or shared library. 08b3a60286a7487ce445f66852f0afdd0f99be69 Jackalope 2020-05-26 14:17:11
Add warning compilation flags. 071b3c83090367f7c2beea5394b926c14620dc66 Jackalope 2020-05-26 13:25:37
New thread pool implementation. 849910e5b45ab543231e24650368289a180452d6 Jackalope 2020-05-26 08:59:03
rarray::iterator_index function 7ee95c6b048973f209fc4e365af36a3dcdb06c4b Jackalope 2020-05-26 08:58:20
darray::remove_last_if_exist logic fix 1664bbfba9d4d8098542c8138a548e4377304aa6 Jackalope 2020-05-26 08:55:31
remove float convertion warning 1ea4783034b873f7711e2ecf840955818c07bcd0 Jackalope 2020-05-26 08:54:04
threads refactoring 9b03fd0beb928de9f3f3e492bb1d324356152de3 Jackalope 2020-05-26 08:52:26
changed notice about native compilation 7b48919f0f46df08f14c8a867d7d1c5d14c19efb Jackalope 2020-05-24 16:37:16
remove LTO option a95b60656c6c00d64efd769d5047853315964556 Jackalope 2020-05-24 13:39:59
compiler options and optimizations 92bc2d91c14c58ce630a7f4f400b5d076ac03286 Jackalope 2020-05-24 01:16:59
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
Commit fa66e03cd2ea7102bab8a6de3415898c114a27e4 - New option JLIB_ALLOCATE_DEBUG
Author: Jackalope
Author date (UTC): 2020-05-31 10:44
Committer name: Jackalope
Committer date (UTC): 2020-05-31 10:44
Parent(s): 393953edfa42b24e43ba027c5d52d7c2df6cf861
Signing key:
Tree: 7b06c041fc003542d36c16147853d8277ffeaa2a
File Lines added Lines deleted
.gitignore 3 0
CMakeLists.txt 8 0
include/jlib/allocate.h 3 2
src/options.h.in 2 0
File .gitignore changed (mode: 100755) (index 8b21f22..3b5503a)
... ... CMakeSettings.json
17 17
18 18 #doxygen #doxygen
19 19 /doc/* /doc/*
20
21 #config
22 /include/jlib/options.h
File CMakeLists.txt changed (mode: 100644) (index 38b888a..ca48558)
... ... set(INCLUDE_FILES
47 47 thread_pool.h thread_pool.h
48 48 threads.h threads.h
49 49 time.h time.h
50
51 options.h
50 52 ) )
51 53 list(TRANSFORM INCLUDE_FILES PREPEND jlib/) list(TRANSFORM INCLUDE_FILES PREPEND jlib/)
52 54
55 option(JLIB_ALLOCATE_DEBUG "Enable memory allocations debugging." OFF)
56 configure_file(
57 ${CMAKE_CURRENT_SOURCE_DIR}/src/options.h.in
58 ${CMAKE_CURRENT_SOURCE_DIR}/include/jlib/options.h
59 )
60
53 61 set(EXPORT_NAME jlib-${PROJECT_VERSION}) set(EXPORT_NAME jlib-${PROJECT_VERSION})
54 62
55 63 option(JLIB_STATIC "Build static library instead of shared" OFF) option(JLIB_STATIC "Build static library instead of shared" OFF)
File include/jlib/allocate.h changed (mode: 100644) (index df33b36..4e9cb14)
24 24 #include <cstdlib> #include <cstdlib>
25 25 #include <cstring> #include <cstring>
26 26 #include <malloc.h> #include <malloc.h>
27 #include <jlib/options.h>
27 28
28 29 namespace jl::details namespace jl::details
29 30 { {
 
... ... namespace jl::details
34 35 p = malloc(size_t(byte_count)); p = malloc(size_t(byte_count));
35 36 else else
36 37 #ifdef _WIN32 #ifdef _WIN32
37 p = _aligned_malloc(size_t(byte_count), size_t(alignment))
38 p = _aligned_malloc(size_t(byte_count), size_t(alignment));
38 39 #else #else
39 40 p = aligned_alloc(size_t(alignment), size_t(byte_count)); p = aligned_alloc(size_t(alignment), size_t(byte_count));
40 41 #endif #endif
41 #ifndef NDEBUG
42 #if JLIB_ALLOCATE_DEBUG
42 43 if (p != nullptr) if (p != nullptr)
43 44 memset(p, 0xfu, size_t(byte_count)); memset(p, 0xfu, size_t(byte_count));
44 45 #endif #endif
File src/options.h.in added (mode: 100644) (index 0000000..02eab1c)
1 #pragma once
2 #cmakedefine01 JLIB_ALLOCATE_DEBUG
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