Index arrays with ordinals instead of integers with custom literals

I did a code that uses custom literals to allow indexing arrays with ordinals (1st, 2nd, 3rd), all at compile time. Additionally _st works only with 1, _nd only with 2, _rd only with 3. Zero and negative numbers are also not supported and fail compilation.

https://github.com/serpent7776/bits/blob/master/th.cpp/th.cpp

19 points · 11 comments · view on lemmy.world

11 Comments

_sideffect@lemmy.world · 9 pts · 2y (7 replies)

What's the purpose of this? If you want to access an index in an array, isn't using integers easier?

And if you want string literals, you can make a map and access the key that way as well

dankm@lemmy.ca · 15 pts · 2y (4 replies)

Does it matter? OP had an itch. He scratched it, and shared it with the world.

The reason could be "I wonder if I can?". That's good enough.

Serpent7776@programming.dev · 10 pts · 2y

Yeah, that was basically it.

_sideffect@lemmy.world · 1 pts · 2y (2 replies)

"Does it matter?"

That was the point of my question, thanks for reiterating it

4am@lemm.ee · 1 pts · 2y (1 reply)

The point of your question seems to be “never try things a for fun”

Curmudgeonry sucks all the joy out of anything.

_sideffect@lemmy.world · 3 pts · 2y

I never said that, please don't assume that's what I meant before asking.

Serpent7776@programming.dev · 14 pts · 2y (1 reply)

There's no purpose really. It was more of "wonder if I can" and also nice way to learn custom literals.

_sideffect@lemmy.world · 2 pts · 2y

Yeah it's always a good way to learn things.

I only asked because I was genuinely curious if there was something I was missing about why you created this, that's all.

lambalicious@lemmy.sdf.org · 2 pts · 2y (2 replies)

This sounds pretty interesting to do for funsies. I wonder if / how easy can it be extended to support i18n (eg.: "1_ro", "2_do", "3_ro", "4_to" for Spanish).

Also thanks for not supporting negatvie integers. Trying to do that with UDLs over integers leads to rather annoying "funsies", see StackOverflow and glados-418.

Serpent7776@programming.dev · 2 pts · 2y (1 reply)

It should be easy to edit the existing code to add support for i18n, but there's probably no way to make in generic (except for macros).

lambalicious@lemmy.sdf.org · 2 pts · 2y

Sounds like a plan for a funsies long weekend, might send a PR if I advance with it enough.

BaardFigur@lemmy.world · 2 pts · 2y
[ removed ]