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)
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
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
Commit 071b3c83090367f7c2beea5394b926c14620dc66 - Add warning compilation flags.
Author: Jackalope
Author date (UTC): 2020-05-26 13:25
Committer name: Jackalope
Committer date (UTC): 2020-05-26 13:25
Parent(s): 849910e5b45ab543231e24650368289a180452d6
Signing key:
Tree: 840625f078e915118f8f8ec3283739cc81e368fb
File Lines added Lines deleted
CMakeLists.txt 14 0
include/jlib/rarray.h 1 1
File CMakeLists.txt changed (mode: 100644) (index 4bdf675..889fd09)
... ... if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
84 84 target_compile_options(jlib PRIVATE -fno-exceptions -fno-rtti -ffast-math) target_compile_options(jlib PRIVATE -fno-exceptions -fno-rtti -ffast-math)
85 85 endif() endif()
86 86
87 if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
88 target_compile_options(jlib PRIVATE
89 -Weverything
90 -Wno-c++98-compat-pedantic
91 -Wno-c++11-compat-pedantic
92 -Wno-c++14-compat-pedantic
93 -Wno-binary-literal
94 -Wno-padded
95 )
96 endif()
97 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
98 target_compile_options(jlib PRIVATE -Wall -Wextra)
99 endif()
100
87 101 option(JLIB_THREAD_POOL_ATOMICS option(JLIB_THREAD_POOL_ATOMICS
88 102 "Use atomics for shared variables access outside of mutex scope" OFF) "Use atomics for shared variables access outside of mutex scope" OFF)
89 103 if (JLIB_THREAD_POOL_ATOMICS) if (JLIB_THREAD_POOL_ATOMICS)
File include/jlib/rarray.h changed (mode: 100644) (index 413c08a..e430e04)
... ... struct jl::rarray
246 246 [[nodiscard]] size_t iterator_index(T *p) { [[nodiscard]] size_t iterator_index(T *p) {
247 247 jassert(p >= p_begin and p < p_end_allocated, jassert(p >= p_begin and p < p_end_allocated,
248 248 "iterator must be in the range [begin,end)"); "iterator must be in the range [begin,end)");
249 return p - p_begin;
249 return size_t(p - p_begin);
250 250 } }
251 251 protected: protected:
252 252 [[nodiscard]] bool resize_bytes(size_t new_size) { [[nodiscard]] bool resize_bytes(size_t new_size) {
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