Brett
b2534baaf0
Merge remote-tracking branch 'github/main'
2024-02-04 13:07:31 -05:00
Brett
c2387e6564
expected seems to be working
2024-02-03 17:09:59 -05:00
Brett
f3b92c3c2c
currently broken and untested but almost have c++23 std::expected in BLT (c++17)
2024-02-03 13:11:59 -05:00
Brett
d638edf012
more std::expected
2024-02-01 18:46:47 -05:00
Brett
991acb8d4f
working on expected
2024-02-01 15:51:54 -05:00
Brett
527595e1cf
add assert with custom runtime fail message
2024-01-31 17:24:46 -05:00
Brett
215a596d21
assert print function
2024-01-31 17:13:22 -05:00
Brett
93f56ebcb2
system
2024-01-31 01:16:13 -05:00
Brett
2cc2b2d262
add cstdlib to assert.h because it's needed for exit()
2024-01-30 00:38:38 -05:00
Brett
a0b92ddfa7
destory now checks for null
2024-01-25 10:01:21 -05:00
Brett
4116404763
Merge remote-tracking branch 'refs/remotes/origin/main'
2024-01-25 10:01:03 -05:00
Brett
b828f3b200
destory now checks for null
2024-01-25 10:00:56 -05:00
Brett
2ef516e66a
check against nullptr
2024-01-24 17:37:01 -05:00
Brett
b383fb0d16
lambda vistor help
2024-01-24 17:03:20 -05:00
Brett
e219444d76
Merge remote-tracking branch 'github/main'
2024-01-19 16:36:50 -05:00
Brett
3163e66879
loader to string_view
2024-01-19 16:30:35 -05:00
Brett
0fbe3bf228
BLT rust like types because std::.... is too long
2024-01-16 14:31:58 -05:00
Brett
a2e8cacaf2
we love warnings
2024-01-16 14:24:41 -05:00
Brett
a4f0b1e3d4
obj laoder
2024-01-11 15:51:00 -05:00
Brett
60ec2051d8
nyahh
2024-01-11 11:16:46 -05:00
Brett
9147a85dc3
string_view trim
2024-01-08 22:08:48 -05:00
Brett
023b3f150b
cstdint
2024-01-07 13:06:39 -05:00
Brett
8411810ab5
need to find a better way of doing contains on all containers
2024-01-02 02:21:44 -05:00
Brett
bf6d15015a
typecast
2024-01-02 01:27:43 -05:00
Brett
73094dbd6d
add little fun != to vec
2024-01-02 01:18:47 -05:00
Brett
d882b76d83
whoops forgot logging include
2024-01-01 20:57:05 -05:00
Brett
f960dbddae
thread class needs some work. use the constructor if non-queue
2024-01-01 20:53:26 -05:00
Brett
6e51e5cbe6
add features
2023-12-30 17:05:57 -05:00
Brett
d913e95965
thread pool (untested)
2023-12-30 03:25:39 -05:00
Brett
13f82dfc2f
math rads
2023-12-29 19:32:16 -05:00
Laptop Windows
aad5958bc0
fixed windows
2023-12-29 01:07:08 -05:00
Brett
5ae17f4a86
fix msvc error
2023-12-28 12:33:01 -05:00
Brett
c706e9b1df
fix not including constexpr
2023-12-28 12:28:10 -05:00
Brett
1fed762bf8
string view in string.h
2023-12-20 14:57:17 -05:00
Brett
3778408504
make proper use of the allocator
2023-12-20 14:49:31 -05:00
Brett
ce778da7f1
bin tree
2023-12-20 14:45:48 -05:00
Brett
665f6e0186
remove construct/destruct from allocator
2023-12-20 14:36:46 -05:00
Brett
111ab14b37
small done
2023-12-19 01:28:59 -05:00
Brett
8e701f6953
binary tree
2023-12-19 00:35:37 -05:00
Brett
2440044d72
bump version + allocator rule of 5
2023-12-18 23:24:53 -05:00
Brett
b59f4af8ed
bump version
2023-12-18 23:16:34 -05:00
Brett
085fd70063
move allocator to new file, memory_util, move functions around
2023-12-18 23:13:44 -05:00
Brett
3638703242
make work as a standard allocator
2023-12-18 20:55:27 -05:00
Brett
825e2c71a4
comments on the area allocator
2023-12-18 19:51:55 -05:00
Brett
19743d2be0
memory time
2023-12-18 19:22:29 -05:00
Brett
b012b9f27c
area allocator workings (basic, needs improvement)
2023-12-18 02:02:35 -05:00
Brett
57be387904
Merge remote-tracking branch 'refs/remotes/tpgc/main'
2023-12-16 15:53:18 -05:00
Brett
0f48bb8060
stacky
2023-12-16 15:53:02 -05:00
Brett
445a0028f7
vector?
2023-12-16 02:46:44 -05:00
Brett
a691ca76b0
hashmap was in a bad place
2023-12-16 02:40:03 -05:00
Brett
4de984bdb8
emscript on system.h
2023-12-16 02:37:24 -05:00
Brett
bda044de1e
box
2023-12-15 14:03:33 -05:00
Brett
19f775b919
boxes now work nicely
2023-12-15 02:36:50 -05:00
Brett
1d52b21131
ascii box now fixed and back to where it was
2023-12-15 01:49:42 -05:00
Brett
90f271961f
visit
2023-12-11 17:52:24 -05:00
Brett
c1c989d416
love lambdas
2023-12-11 16:58:20 -05:00
Brett
4e526f1e8e
boxes
...
need to make titleless boxes work next
2023-12-11 16:48:44 -05:00
Brett
caaf91e9c7
boxes
2023-12-11 14:57:10 -05:00
Brett
7aae8272c3
memory tests
2023-12-10 15:15:23 -05:00
Brett
319f7a3771
static vector
2023-12-10 14:54:08 -05:00
Brett
e6d096a486
move ranges around (utility over memory)
...
TOOD: add reverse
2023-12-10 13:21:26 -05:00
Brett
ce6ade1a90
minior cleanup
2023-12-09 21:21:14 -05:00
Brett
8c862f5a8f
enumerate fast enough
2023-12-09 15:32:02 -05:00
Brett
eb9cd030e3
working on enumerate
2023-12-09 13:44:16 -05:00
Brett
704e77419f
test
2023-12-08 20:44:45 -05:00
Brett
a4220e3c0d
test
2023-12-08 20:11:58 -05:00
Brett
8defbaf70d
hot chocolate
2023-12-07 16:03:38 -05:00
Brett
da891be991
fix memory leak in assert, add demangling and link options to find function names
2023-12-07 15:59:26 -05:00
Brett
de84f9573b
Merge remote-tracking branch 'refs/remotes/tpgc/main' + explict fixes
2023-12-03 17:02:50 -05:00
Brett
743cb4ae91
sexy columns
2023-12-03 17:01:51 -05:00
Brett
03c63cdf90
formatting broken
2023-12-01 15:03:47 -05:00
Brett
34451b5b86
please make all men gay -brett (to santa, xmas forever list)
2023-12-01 12:02:20 -05:00
Brett
98b5f6fa1e
minor formatting
2023-11-30 20:14:18 -05:00
Brett
e2b278e8bd
working now
2023-11-30 19:56:45 -05:00
Brett
da32f9b98a
Autism (Ascii trees)
...
making ascii trees because fun
2023-11-29 21:36:22 -05:00
Brett
583807af96
fix profiler sorting
2023-11-26 18:05:38 -05:00
Brett
f5886416bf
move blackbox to utility
2023-11-26 17:35:06 -05:00
Brett
f99ea36a85
utility is useless
2023-11-24 13:45:14 -05:00
Brett
02c62a2d63
move blackboxes to system
2023-11-22 21:21:17 -05:00
Brett
6514736262
add format to cycles to make look nice
2023-11-22 20:39:46 -05:00
Brett
06f87c9734
fix missing cstring
2023-11-17 01:47:24 -05:00
Brett
fd9fa5454d
compiler support for blackbox
2023-11-14 01:05:28 -05:00
Brett
5472783bd7
it's still recursive but it's honest work
2023-11-13 15:32:39 -05:00
Brett
3d7abd2765
fix assert, working on loading
2023-11-13 15:15:27 -05:00
Brett
19baf8b048
include recursive
2023-11-13 14:27:51 -05:00
Brett
32e2d48cd3
worsen logging
2023-11-10 12:40:10 -05:00
Brett
bd7976cf71
fix logging
2023-11-09 21:11:34 -05:00
Brett
e912e7e272
ranges
2023-11-09 19:11:56 -05:00
Brett
da7627dd3b
memory
2023-11-09 19:07:24 -05:00
Brett
e28f30bcec
fix uninit error
2023-11-09 15:28:17 -05:00
Brett
e81cddf6ba
fix posargs
2023-11-08 21:31:53 -05:00
Brett
97dd77d9c9
i hate you (fixed arg_parse ambig
2023-11-08 21:22:54 -05:00
Brett
97860853cf
size check
2023-11-08 20:25:47 -05:00
Brett
1ada8d3912
we sexy man
2023-11-08 18:50:16 -05:00
Brett
a555b53a61
update memory to check for size bounds:
2023-11-06 18:35:09 -05:00
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
Brett
0d5abd143f
readme update plus time functions and cleaner scoped_buffer WITH begin()/end()
...
scoped_buffer update will break most uses
2023-07-24 02:39:03 -04:00
Brett
7fd3fbadb3
change default to not log to file!
2023-07-23 23:21:16 -04:00
Brett
ec16f5412b
new randomness functions
2023-07-23 13:10:11 -04:00
Brett
529d996a38
fix minor date issue
2023-07-22 18:26:39 -04:00
Brett
8ce22fd53a
Add STREAM macro varaints to the disabled logging section
2023-07-22 12:55:44 -04:00