1
0
forked from Alepha/Alepha

30 Commits

Author SHA1 Message Date
373b07e1c4 Apply the newer namespace rules and layout/formatting. 2024-04-02 23:32:02 -04:00
5242aa340a Tuple concatenation. 2024-03-21 16:21:38 -04:00
0ef618e977 Optional only ever takes one argument.
Clang warned about this -- Clang's variadic template argument
handling seems to significantly differ from GCC's.  I should
test this out on godbolt sometime.
2023-11-10 11:51:29 -05:00
a2af64e37e Clang seemed to think this was necessary.
I'm not certain if it is, but it's pretty harmless to keep on
the template.
2023-11-10 11:49:03 -05:00
d1157cabf7 Start the C++23 adoption. 2023-11-07 05:30:50 -05:00
cafc66e09f Make unit tests use the testing lib main function. 2023-10-24 00:58:38 -04:00
0b63658815 Unify the evaluation helpers implementations. 2023-10-20 04:49:07 -04:00
1959ec7fdd Update pair_decay to new namespace format. 2023-10-18 01:41:21 -04:00
664e02681b Improved table test output and fixed bugs in word wrap and its test. 2023-10-13 00:14:25 -04:00
621a703302 Merge branch 'master' of github.com:adamlsd/Alepha 2023-10-12 19:57:55 -04:00
9753b7c855 Some minor formatting. 2023-10-12 19:57:47 -04:00
57b68ef8a4 A lot of progress towards unifying the build system. 2023-10-12 18:11:51 -04: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
4affb80931 Merge remote-tracking branch 'side-line/master' 2023-02-09 20:51:09 -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
deeb27cb9f Fix building with pair_decay and tuple_decay. 2022-10-15 16:40:55 -04: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
cf3f77ba6e Well this whole () base TMP experiment kinda works.
It's a lot of heavy lifting.  I'm not sure it actually
adds any useful value yet, but I'll continue to play
with it.  It is nice that we can *sometimes* use
loops.  Sometimes we can't though.  And we have
to make some blind-corner evaluations that throw
dummy failures to keep the compiler from complaining
about missing cases -- despite the fact that they;ll
never be reached at compiletime.  (Runtime evaluation
could be different, of course.)

I think, perhaps, a universal representation of a
dereferenced iterator might solve some of this, but
I also don't want to sink too much effort into this,
despite how much fun I'm having.
2021-10-26 01:53:47 -04:00
e3d7bbe616 Comparison test builds again.
Now to extend the functionalization.
2021-10-25 02:08:12 -04:00
4538a8d943 Add a bunch of TMP support.
I'm still on the fence about going full `constexpr` functions
for meta-code.  Overall, I think there's potential here.  I'm
not aiming to replicate what `boost::mpl` or `boost::hana` do
though.  This is more of an internal support mechanism for
Alepha code.  As-needed I'll implement things.
2021-10-25 01:58:16 -04:00
744e02fb01 Concept-like overloading of functions support.
When using `enable_if` clauses in templates, we need an NTTP
in the mix to let us get good overloading support.  The boolean
true/false trick of the `enable_if` second parameter actually
doesn't work for many situations.
2021-10-19 22:28:45 -04:00
d870367f76 I added the type_traits header. 2021-10-16 23:43:44 -04:00
d976ff90b8 I added is_functional. 2021-10-16 23:41:34 -04:00
6de408590e Meta traits for set and map. 2021-10-15 05:20:08 -04:00
525c5b7be8 Pairs !- tuples, so add some better Meta support
I usually use `tuple` for all product types, but some STL bits
use pair, which is a distinct type.  So here's some helpful
meta helpers for them.
2021-10-15 05:19:09 -04:00
698f8cceb1 Fix up tuple decay. 2021-10-15 05:16:11 -04:00
2bbb612df1 A few more meta programming bits. 2021-07-03 01:21:48 -04:00
ec07dcc83a Added Sequence and optional detection.
This is part of the larger `Meta` library.  Need to implement
tuple-for-each and more.
2021-07-01 22:28:24 -04:00