Commit Graph

306 Commits (b012b9f27c8281ffee22ada67502fc7fe8a56afb)

Author SHA1 Message Date
Brett 1a72728aeb warning fix 2023-11-06 00:43:44 -05:00
Brett 288076ed02 improve scoped_buffer, it now handles copying 2023-11-05 19:05:32 -05:00
Brett 15bcd37834 make argparse work on c++ 17 2023-11-02 16:02:40 -04:00
Brett 1d8f9b4bbd fix memory leak 2023-10-27 14:32:15 -04:00
Brett 585429e345 order 2023-10-27 14:31:11 -04:00
Brett 0eb6db500b holy const batman 2023-10-27 14:30:16 -04:00
Brett 52c5f2b7b3 make reference 2023-10-27 14:29:41 -04:00
Brett f639b4f83c add default constructor to scoped_buffer 2023-10-27 14:26:31 -04:00
Brett 55c497475e why 2023-10-27 01:11:05 -04:00
Brett 827ee4bd55 move CPP20 constexpr to compat 2023-10-27 00:00:01 -04:00
Brett 8d2bb93b2d fs hack 2023-10-26 20:06:03 -04:00
Brett 5d539c1a2f fs hack 2023-10-26 20:01:01 -04:00
Brett a3179d1a36 compat 2023-10-26 19:44:44 -04:00
Brett 0d6f396a15 fun2 2023-10-26 16:36:27 -04:00
Brett cf49d155de fun 2023-10-26 16:35:42 -04:00
Brett a3d35b8e04 add support for gcc 8.5 2023-10-26 16:27:39 -04:00
Brett e059f1a7ef CONSTEXPR 20 2023-10-26 16:15:14 -04:00
Brett fcceff189b CONSTEXPR c++20 string functions 2023-10-25 14:30:24 -04:00
Brett 96af65a675 move 2023-10-25 01:26:44 -04:00
Brett 82583a444d .data() 2023-10-25 01:26:26 -04:00
Brett 6252525091 .data() 2023-10-25 01:23:33 -04:00
Brett 4010df0e3f const ptr 2023-10-25 01:23:16 -04:00
Brett d59cfd0d4a backwards compat 2023-10-24 21:44:24 -04:00
Brett 63ae93c6e6 move around to bytes and make it faster 2023-10-24 21:43:22 -04:00
Brett 5a07594e42 fix assert 2023-10-15 17:48:10 -04:00
Brett 76b2d57f05 add split for char 2023-10-15 16:43:20 -04:00
Brett 88ef415f8b add missing return 2023-10-14 18:36:32 -04:00
Brett 4f4ed1918b add string char contains overload 2023-10-14 18:35:11 -04:00
Brett ce642a30b7 rename 2023-10-14 17:06:10 -04:00
Brett f55e7d931b add string numbers check 2023-10-14 17:05:51 -04:00
Brett fbd067e69e add ability for std::string in args.get<T> 2023-10-09 21:50:41 -04:00
Brett 9c712402f3 profiler_v2 seems to be completely functional 2023-10-05 01:48:54 -04:00
Brett ab24a8733b add partial API compatability with profiler v1
the general idea is the same however due to how profiles are handled after calling write or print profile the intervals inside are no longer valid.
(they are deleted and will be removed from the internal hashmap)
print profile is also now consistent with the new API, old calls will need to be updated.
2023-10-05 01:40:36 -04:00
Brett 3266a7b102 fix profiler disable macro 2023-10-05 01:31:54 -04:00
Brett 620c8b9e33 auto_interval, formatting see details for information
auto_interval now accepts an interval_t* which must be created manually. allows for clean RAII
format now switches to seconds after 1000ms instead of after 100ms. This feels more natural
2023-10-05 01:18:47 -04:00
Brett fd3eb73008 profiler_v2 is WIP. seems to work but isn't fully tested 2023-10-04 01:39:43 -04:00
Brett 4486edee60 add .get for argparse (does a get_cast), add rdtsc for profilers 2023-10-03 00:43:08 -04:00
Brett 0bbcb8eeef Merge remote-tracking branch 'github/main' 2023-09-21 23:24:03 -04:00
Brett 029132c622 macro sackro allocator get fuckedero 2023-09-21 23:23:27 -04:00
Brett a438baeca3 fix time returning only extra nanoseconds. function now returns the total nanoseconds sine starting the program
this might be changed in the future
2023-09-17 16:24:53 -04:00
Brett 0b907867a2 argparse get_cast update to work with all is_arithmetic types 2023-09-17 15:22:37 -04:00
Brett 7a07f4a729 rename internal fields away from help to subcommand 2023-09-16 17:50:37 -04:00
Brett 02a1dc1a8c rename help disabler to SUBCOMMAND action type 2023-09-16 17:40:35 -04:00
Brett 9db6dd8456 fix bug with postional args preventing the warning of missing args
add option to print full filename
fix issue with some help printing full filename
2023-09-16 17:22:15 -04:00
Brett 1e293c7dba argparse update
a "janky" solution has been added to the argparse module of BLT.
The new update allows for the creation of "help disablers" which are basically akin to how git operates with
git submodule
git commit
etc
the primary command "git" can have flags (in the case of the tests, --no-color)
while having multiple help disabling sub commands (currently graphics and blt)
everything before the sub command arg will be processed as a primary command flag
everything after the sub command arg will be processed by the sub command arg_parse
this allows for effective namespacing of command modules

TODO:
- Make this as an action?
- cleanup the code
- use a name that makes more sense than "help disabler"
2023-09-16 16:27:48 -04:00
Brett 04cef480bd argparse 2023-09-13 17:29:50 -04:00
Brett 6fc5496c76 remove path test 2023-09-13 16:52:23 -04:00
Brett e2d932ea78 cpu timer 2023-09-13 16:49:56 -04:00
Brett 9e4bfad087 add more features to argparse
can now add git [name] [args] type calls
2023-09-10 15:33:11 -04:00
Brett 215220f98b move defines to c++ 2023-09-07 00:23:13 -04:00
Brett 465f1a4fc8 fix assert not requiring ; at the end 2023-09-07 00:21:02 -04:00
Brett 650af9877f inline some string functions - disable warnings 2023-08-31 21:47:32 -04:00
Brett d3ed46686e add gcount to fs utils 2023-08-25 03:41:43 -04:00
Brett 1b4e36416a make exception API more consistent
blt_throw no longer halts execution
BLT_THROW has been added which throws the exception
2023-08-23 15:26:36 -04:00
Brett 9348207ffb Add exceptions / assertions
Only works for linux / GNU
2023-08-23 15:23:47 -04:00
Brett 34536e2a63 blt::mustache? 2023-08-21 01:03:05 -04:00
Brett bbbf0ba2e5 fix lvalue reference issue with stoi, get_cast now exists 2023-08-18 19:22:12 -04:00
Brett 0e17dff862 update variant access in arg_parse::get 2023-08-18 19:15:21 -04:00
Brett 1d03938f95 SQLite 2023-08-18 02:21:22 -04:00
Brett 6579a3f5cb remove static from random dev 2023-08-17 12:20:59 -04:00
Brett ea986bbc95 only allow uuid.h if openssl is included in parent project 2023-08-17 12:14:59 -04:00
Brett 1e8f431f9e UUID 2023-08-15 19:25:06 -04:00
Brett d1e9d5daef Merge remote-tracking branch 'refs/remotes/origin/main' 2023-08-14 22:50:04 -04:00
Brett 7f9d9bf241 fix issue with blt:logging using non-namespaced log function in macro expansion 2023-08-14 22:49:32 -04:00
Brett f78eec792b make contains work with -- - or non flagged checks 2023-08-11 12:10:00 -04:00
Brett e176030868 Merge remote-tracking branch 'github/main' 2023-08-10 02:30:39 -04:00
Brett e68d7aa87f files? 2023-08-10 02:30:09 -04:00
Brett 04fd3aec8b static, nbt, cassert, algoritmn, get exposed
Basically fix a bunch of stuff that came up in production
2023-08-09 21:48:30 -04:00
Brett 7e05fb3d60 arg parse should be completely functional!
help works
not all functions have been tested!
2023-08-08 14:06:19 -04:00
Brett 4ae730c9bb remove blt::logging from argparse
use std::cout now as it produces more logical outputs
2023-08-07 22:39:25 -04:00
Brett 2a656a687e use new arg parse + defaults now assigned 2023-08-07 17:42:59 -04:00
Brett b083245ab4 partial rewrite on parsing
- will move new one to replace old one in next commit
- basically the same code but works
- args now support arg_data_t as a default
- arg_data_t is now much smarter
2023-08-07 16:12:43 -04:00
Brett e91c915238 fix logging memory errors 2023-08-03 01:48:24 -04:00
Brett 4a3c03dd5e add -vvv support and add some actions + version 2023-08-02 14:00:11 -04:00
Brett c6cb3c59d4 list consume 2023-08-01 13:58:08 -04:00
Brett a0492df393 args 2023-08-01 13:43:00 -04:00
Brett e702a651df parse names 2023-07-31 13:53:10 -04:00
Brett 620a16574d update hashmap to include hash, eq and alloc 2023-07-30 14:04:59 -04:00
Brett 147c46a1a4 fix cmake lists and move hashmap decl to hashmap.h 2023-07-29 17:41:45 -04:00
Brett 79900dbf1a fix include in NBT 2023-07-29 17:25:11 -04:00
Brett 94e10e7674 fix include in argparse, update cmake version 2023-07-29 17:24:28 -04:00
Brett 0febd6e8aa arg 2023-07-29 14:04:46 -04:00
Brett db5c7fe37f fix 2023-07-29 13:41:55 -04:00
Brett 90350e8584 parse 2023-07-29 13:38:19 -04:00
Brett 21425cff55 add parallel hashmaps optional submodule 2023-07-29 02:03:28 -04:00
Brett 7b7d9df67b NBT appears to be completely working 2023-07-28 01:35:01 -04:00
Brett 11408ea4cc fix long array and string due to mistype in constructor 2023-07-27 02:09:50 -04:00
Brett 6c7fab292c Add missing destructors 2023-07-27 01:53:01 -04:00
Brett 126faa0b03 NBT working!! 2023-07-27 01:47:11 -04:00
Brett ff1765c52e reader 2023-07-26 14:03:21 -04:00
Brett 5c0093e0d3 add change tag_compound to use hashmap, allow vectors 2023-07-26 13:52:51 -04:00
Brett c4c23e9cc6 NBT finished, need to add decoder / tests
- evil hacks are not fun (blt::nbt::_internal_ forward declares list and compound for use inside list / compound)
- list could be made faster by bulk allocating when type is known however i believe the compiler is smart enough to do this for me
- testing that should be a todo!
2023-07-26 13:09:41 -04:00
Brett 7a7ee74924 EVIL HACK 2023-07-26 03:48:09 -04:00
Brett cf7c6f2237 logging NONE will now output without format string 2023-07-25 14:06:04 -04:00
Brett 1998ddbafe update to c++20 2023-07-24 13:00:35 -04:00
Brett c3aab51030 nightly commit + working on NBT 2023-07-24 03:40:09 -04:00
Brett 983d7de820 std::function is slow!!
maybe change blt::logging to use something a little faster. base class + virtual function isn't that slow!
2023-07-24 03:30:23 -04:00
Brett f5d6ef19a4 remove format changes 2023-07-24 02:55:03 -04:00
Brett 85fdc4fa65 Move constructing is now allowed for the scoped buffer, copy assignment disallowed.
Copy assignment isn't allowed because T cannot be guaranteed to be copyable and I don't want this class to involve type traits
2023-07-24 02:52:11 -04:00
Brett 31855dd0a4 move math functions to math.h
format contained a rounding function and power function, they are now in math.h
2023-07-24 02:44:25 -04:00