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)
io_agent_mem more features 0885fdf18edf22e95acda127fc7be29dc5b11f37 Your Name 2019-11-23 01:13:46
string more features d3fd117f9f4b7629d62bb7759c3a4254646f05e5 Your Name 2019-11-23 01:13:10
rarray.h new functions c8903fd687d31f8271bfdc31a491a3fd3f9d53c6 Your Name 2019-11-23 00:56:53
jfs namespace alias to jl::fs 4a220e0f7f857804d60fc22ce49097c89ea68c7b Your Name 2019-11-23 00:50:15
_bytes functions bug fix 9970eeffe63e8b0b91946a9069bb6d8ec8f333ae Your Name 2019-11-23 00:49:49
bug fixes 79097b6173165a1cf97fe3e37140dfc4b4c8769f Your Name 2019-11-23 00:47:54
missing header added 8ca9523ce80a68542df87bd88ce09a2b47d26bd3 Your Name 2019-11-23 00:47:05
new fs namespace 2e3f4f8f0f615d84b60149d46597bc3724206353 Your Name 2019-11-22 20:08:47
removed dependencies.h file 3cda130126b9a0991458e7ec1f891590ffb0bcf8 Your Name 2019-11-22 20:08:26
recoursive dir search for doxy 36947ece876ddfa84103f75a7e1fb8cd668cf3a9 Your Name 2019-11-22 20:07:11
hidding some headers by moving to staff dir c7a69251dab39db233671ce4efa121907a348b2b Your Name 2019-11-22 01:29:01
array files renamed 39ca4912496c6e49af0d08609b224691bc4be621 Your Name 2019-11-22 01:22:01
new carray, string, string_const templates e194dca9ee1d7844d13b66749f795666cc28df96 Your Name 2019-11-22 01:18:48
grow.h and item_call.h renamed e17eec6aae4ba4083e837534bb2f98cf2b7a6673 Your Name 2019-11-22 00:57:40
io agents renamed 321c4633ba149484d9855c063e80c46ed43ee7e7 Your Name 2019-11-22 00:57:16
renamed arrays a2d0d5706f1131d553cc0d02cf7f714b3ee921c6 Your Name 2019-11-22 00:55:25
new ResizableArray template 26bf1df5faa43acdfb3fef739831f6e5ba1ad37a Your Name 2019-11-21 21:32:41
more documentation for dynamic array 2729fc335189e151aa132be3244cfea6a713896f Your Name 2019-11-21 21:30:37
io_agent interface and etalon realizations 4464bf88e4da18966ad522709f7490c15d3fd3d0 Your Name 2019-11-21 19:33:31
dynamic array bug fixes a558181cb2c9f3e76e928de8be74684e0c14baa2 Your Name 2019-11-21 19:32:37
Commit 0885fdf18edf22e95acda127fc7be29dc5b11f37 - io_agent_mem more features
Author: Your Name
Author date (UTC): 2019-11-23 01:13
Committer name: Your Name
Committer date (UTC): 2019-11-23 01:13
Parent(s): d3fd117f9f4b7629d62bb7759c3a4254646f05e5
Signer:
Signing key:
Signing status: N
Tree: 0472c43e9d6d7e97cbe4e33878984976be9e76f7
File Lines added Lines deleted
include/jlib/io_agent_mem.h 6 8
File include/jlib/io_agent_mem.h changed (mode: 100644) (index e439fa6..28fade9)
... ... namespace jl
117 117 while (size > 0) while (size > 0)
118 118 { {
119 119 uint64_t to_write = this->part_write_size_left(); uint64_t to_write = this->part_write_size_left();
120 if (to_write < size)
120 if (to_write > size)
121 121 to_write = size; to_write = size;
122 122
123 123 memcpy(memory[pos.mem_i] + pos.offset, p_src, to_write); memcpy(memory[pos.mem_i] + pos.offset, p_src, to_write);
 
... ... namespace jl
180 180 * *
181 181 * @see io_agent::is_end * @see io_agent::is_end
182 182 */ */
183 [[nodiscard]] bool is_end() const
184 {
185 return not (end > pos);
186 }
183 [[nodiscard]] bool is_end() const { return not (end > pos); }
184
185 void reset_pos() { pos = {}; }
186
187 [[nodiscard]] uint64_t size() const { return end.size(); }
187 188
188 189 protected: protected:
189 190 [[nodiscard]] uint64_t read_size_left() const [[nodiscard]] uint64_t read_size_left() const
 
... ... protected:
207 208 return ALLOCATION_SIZE - pos.offset; return ALLOCATION_SIZE - pos.offset;
208 209 } }
209 210
210 [[nodiscard]] uint64_t size() const { return end.size(); }
211
212
213 211 /** /**
214 212 * @brief Position in io_agent_mem. * @brief Position in io_agent_mem.
215 213 * *
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