1
0
forked from Alepha/Alepha
Commit Graph

9 Commits

Author SHA1 Message Date
9c9ed65312 I think this makes capabilities much simpler and more reliable.
But the capabilities are now limited to a single param -- Time to change that?
2024-01-27 04:21:27 -05:00
5db7ad01f8 A large number of files have had their module namespace renamed 2023-11-12 05:03:26 -05:00
d1157cabf7 Start the C++23 adoption. 2023-11-07 05:30:50 -05:00
49d53fecb6 Updated some things to C++20 headers.
Lots more to do...
2023-02-09 22:01:19 -08: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
304640d76b Experiment with constexpr traits in enable_if.
So the `constexpr` traits do not really look better here.  But
they may be better for writing linear code in complex trait
processing, as opposed to complicated recursive code.  Still
to be determined.  However, If I stay with this and if
`std::find_if` and friends are `constexpr`, then the `Mata`
algorithms can be removed, and `std::` forms will just work.
That's a nice bonus.

Otherwise, we need something more like `boost::mpl`, which is
kinda annoying.  Still, `Meta::Container::vector` is very
nice -- it side-steps some issues with using `std::tuple` as
a type-list.
2021-10-26 02:05:57 -04:00
70a23059b0 Make comparisons constexpr.
The generated operators should be `constexpr`.  The `ordering_magma`
code should be as well.
2021-10-26 02:04:22 -04: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
f2ae99f648 I added the lens-based comparison code.
The metaprogramming is still based upon the angle-bracket
type-form.  Now to rewrite it in terms of the constexpr systems.
2021-10-25 02:02:12 -04:00