1
0
forked from Alepha/Alepha

379 Commits

Author SHA1 Message Date
9753b7c855 Some minor formatting. 2023-10-12 19:57:47 -04:00
a8433d13e3 More progress on the testing front. 2023-10-12 18:57:40 -04:00
7bafa453da More testing. 2023-10-12 18:36:37 -04:00
dd3f825ecd A lot of the tests are now in cmake.
I've also fixed a few things up so that the tests can be all run, more easily.
2023-10-12 18:29:16 -04:00
57b68ef8a4 A lot of progress towards unifying the build system. 2023-10-12 18:11:51 -04:00
eb803ee5e6 Remove makefile now that we use CMake. 2023-10-12 16:57:49 -04:00
fe5831f643 A simple cmake build system to start. 2023-10-12 14:55:13 -04:00
76606fca97 Add a simple commandline parser example.
Also cleaned up a few files.  Since these were pulled from various
scratch repos from informal ISO discussions over the years, they don't
quite line up.  This at least gets everything building again.
2023-10-10 02:24:58 -04:00
83f693de53 Add a total-order shim header.
Mathematical purism.
2023-10-10 02:24:18 -04:00
bb53f18dfd This is just the rudiments of a more comprehensive function_traits design.
It's good for many common cases, but it should handle member functions and
discriminate between `std::function` objects and builtins.  It's mostly
just boilerplate to do that.
2023-10-10 02:23:22 -04:00
ac4346f979 My common fat arrow evaluation helpers. 2023-10-10 02:23:12 -04:00
2258a4ac5c A simple error-pathway for console output.
Reassignable and prevents tearing.
2023-10-10 02:22:41 -04:00
106b0d49cc Import my EnhancedEnum prototype from enceladus-scratch. 2023-10-10 02:22:13 -04:00
ed3d64e1df A console driver from my ISO scratch work. 2023-10-09 20:36:44 -04:00
3610746a63 A bunch of handy metafunctions from my ISO scratch work.
This has to be put into the hierarchy right, but that can come later.
2023-10-09 20:34:55 -04:00
f5fa12533a A parser-generator for tuples from my ISO fun scratch projects. 2023-10-09 20:34:24 -04:00
ae53cff323 Program options parser from my scratch projects. 2023-10-09 20:34:10 -04:00
d75b5288c6 Bring in concepts from my scratch projects. 2023-10-09 20:33:56 -04:00
273b9eb8b5 Bring in type-lisp from my scratch projects. 2023-10-09 20:33:35 -04:00
df489cdb97 A family of data buffer objects.
Many helpful operations on these, for raw data manipulation.
2023-10-09 19:55:37 -04:00
167de83b3b Some string algorithms also from my scrach environment.
The most useful one is the variable expansion code.
2023-10-09 18:52:54 -04:00
103707367c Word wrapping implementation.
This was in my scratch notes.  I have to get it building again.
2023-10-09 18:51:56 -04:00
233f220779 A static value helper.
Good for when you want to have something magic statics, but you don't
want to pay the atomic overhead on each access.
2023-10-09 18:24:58 -04:00
187acda4a2 Just use boost as the namespace from within Alepha.
If it's been remapped, it's fine, since no code should really exist
outside of `Alepha` namespace here, anyhow.
2023-10-09 18:10:44 -04:00
aacd87f4af Add a ConstexprString implementation from my notes. 2023-10-09 18:10:25 -04:00
6e7e2630d9 Git ignore... 2023-02-10 13:22:54 -08:00
4229b0bd8a Add out of range exception classes to Alepha. 2023-02-10 13:15:30 -08:00
fe66d726be Clean up and regularize the prologue of files.
Mark them for C++20, remove the old module-faking hacks, etc.
2023-02-10 08:58:29 -08:00
49d53fecb6 Updated some things to C++20 headers.
Lots more to do...
2023-02-09 22:01:19 -08:00
fd6060be17 Bring in the mockination work and Truss from old.
It's all a mess -- not in the new unified form and namespace.
I need to do a big cleanup pass.
2023-02-09 21:30:38 -08:00
306d2145a3 Add the attestation work. 2023-02-09 21:10:08 -08:00
4affb80931 Merge remote-tracking branch 'side-line/master' 2023-02-09 20:51:09 -08:00
96e4e3ee30 Add boost license file. 2023-02-09 20:43:02 -08:00
5a8faf189d Allocation base not needed for normal exceptions 2023-02-09 20:29:27 -08:00
541ef6ced8 A few metaprogramming tools. 2023-02-04 17:46:13 -05:00
9ccfb1dd7a Add dep_value helper. 2023-02-04 17:40:23 -05:00
9a944f593b Fix comment in reflection. 2022-11-08 13:04:42 -05:00
b1d83a4bf0 Add a thread primitive which has support for notifications.
Now you can send an `Alepha::Notification` into a thread as an
interrupt.  You have to use the Alepha threading primitives.
2022-10-17 22:53:45 -04:00
0a1ecce9ec Permit user-specification of the real namespace of boost.
This way `Alepha` can be used in a binary-only library project which
uses boost or a codebase which mangles boost.
2022-10-17 22:53:45 -04:00
72b316d0e2 Flesh out more automatic exception class generation.
Also improved the tests.
2022-10-17 22:49:49 -04:00
d5684b8d51 Boolean tests have to actually run.
This just checked that they exist, not that they passed.
2022-10-17 18:23:34 -04:00
5c1d821bc2 Moving towards type-linked exception storage. 2022-10-16 11:36:09 -04:00
8a75be721e First draft of more streamlined tagged Exceptions. 2022-10-16 01:52:16 -04:00
e170f3f172 Boolean test lambdas can now be used properly. 2022-10-16 01:36:13 -04:00
deeb27cb9f Fix building with pair_decay and tuple_decay. 2022-10-15 16:40:55 -04:00
e62a28de95 A successful experiment with type codes!
I've used `constexpr` semantics on `__PRETTY_FUNCTION__` along
with a simple compiletime hash function to create a way to represent
types as NTTP values and then rehydrate them.

This should let me rewrite a lot of things more simply.  We can
now have arrays of regular values which can be representative
codes for types.
2021-12-03 06:38:53 -05:00
7de08953c8 Beginnings of support for default_lens.
The `default_lens` would be used for anything and everything.
And `tuplizeAggregate` can then be used to make a defaulted
`default_lens`.  This simplifies most lens oriented code, as
I move forward.
2021-12-03 01:47:44 -05:00
5f15b0ee38 Document that I'm punting on the aggregate inspection. 2021-10-28 03:41:49 -04:00
3f5b5f692e Fix the off-by-one computation for empty bases.
Instead of counting as we go, just build it, and then count.
2021-10-28 03:34:02 -04:00
bdd222c4d5 Document the aggregate analysis algorithm.
(I still don't actually deal with the weird case of bases also
being members... but that's fairly rare.)
2021-10-28 03:32:18 -04:00