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)
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
threads wrapper and thread pool moved to jlib e902ab04f388b331f7b0201a01591c52c0fb44a5 Your Name 2019-11-25 02:11:05
sharray implementation 84f563f018049700a9aaa3d9b915cd8e60010d6a Your Name 2019-11-25 02:10:39
removed excess cmake variable 5391e7b7eb08e7aef83e7b3783c3eb405b701f99 Your Name 2019-11-25 02:09:41
max and min functions 9aee2d76ffc74c9ff5e9b10591b4b5a77de8a859 Your Name 2019-11-25 02:09:16
item_call uses call func instead of constructor, so refference or copy can be passed and added conditional removing in darray 4caca92c89f8945a937e9fe6d5c8634ffc6b0af1 Your Name 2019-11-25 02:08:08
sharray work in progress 440da36f73077f6b7eec359d0059d1b1df96b295 Your Name 2019-11-24 21:47:22
darray protected members renamed b4ade511fd87dcb002a787ccc1c38143b09a5d04 Your Name 2019-11-24 21:46:41
built_const function not work with inheritance, so overloaded again 3ea48400586ef4dca2fe218dd7b1187a5842e879 Your Name 2019-11-24 20:41:48
added missing nodiscard attributes 592e615e8dbca2d0a5595753e35f59bf100d164f Your Name 2019-11-24 20:41:13
io_agent_memory updated 80d60ca831656db3ce47ecb21afb9cea89afe373 Your Name 2019-11-24 20:40:42
Commit fbff0fbb13891f7ad2975e226476cf0b56eabb36 - endianness convertion function
Author: Your Name
Author date (UTC): 2019-11-25 06:06
Committer name: Your Name
Committer date (UTC): 2019-11-25 06:06
Parent(s): 89d07c9f30aba52e50526b0ecf1ed6eddb791764
Signer:
Signing key:
Signing status: N
Tree: a8e6078e988975e45df7647f6b8f2efcb334de18
File Lines added Lines deleted
include/jlib/endianness.h 19 0
File include/jlib/endianness.h added (mode: 100644) (index 0000000..e6ba536)
1 #pragma once
2
3 #include <cinttypes>
4
5 namespace jl::endianness
6 {
7 template<typename T>
8 [[nodiscard]] T convert(T val)
9 {
10 static_assert (sizeof (val) == 2 || sizeof (val) == 4 || sizeof (val) == 8, "only implemented");
11
12 switch (sizeof (T) * 8)
13 {
14 case 16: return T(__builtin_bswap16 (uint16_t(val)));
15 case 32: return T(__builtin_bswap32 (val));
16 case 64: return T(__builtin_bswap64 (val));
17 }
18 }
19 }
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