The json library 'glaze' has working compile time reflection for MSVC, Clang and GCC using some tricks with aggregate initializable structs. In addition to being a performant json library, it comes with the functions glz::apply and glz::to_tie which I used for general tool calling straight from deserialized json.
This is one of the few well written and enjoyable tutorials on the topic. There is a lot of older texts out there with inaccurate and inconsistent language, ascii-diagrams etc… but this a joy to read and follow
I second this. I also wish the algorithm would throw a real curveball once in a while too, something completely different to what I have been caught in.
I can vouch for this. I recently had a wonderful experience spanning a few months cultivating Psylocybe cubensis by salvaging spores from a bag of dried shrooms (spore prints are as illegal as the shrooms themselves here and really hard to come by). Coming from a physics background and never really having done work on living things it was almost magical watching the spores germinate on agar plates, transfering healthy mycelium away from contamination onto new clean plates, colonizing grain with the resulting mycelium and in the end fruiting several healthy flushes in a small plastic container in my cupboard. You really just need a kitchen and some commonly available groceries. I'm now cloning store-bought edible mushrooms and planning to grow enough for my own dinners throughout the warmer season. It's a very rewarding hobby.
I wonder if these geese might use some breathing technique similar to what high altitude fighter pilots use above 40 000ft where even 100% oxygen is not enough partial oxygen pressure. Inhaling, then exhaling with resistance. Having experienced overflying migrating geese every year it certainly sounds like they restrict their exhaling with loud guttural sounds.
Around here the store has some cheap frames they use for advertizing. The problem is they look like something a crazy old aunt would wear, with wild coloring. If you want anything like normal glasses you have to pay for the expensive brands. It’s really sad seeing institutionalized and less fortunate people wearing those cheap glasses...
And in C++, the type of a string literal expression is not const char* , but in fact const char (&)[], ie a reference to an array of chars. I was surprised to learn this as I always assigned a literal to a const char* , relying on pointer decay without knowing it.
I find that coffee in a thermos can stay good for almost a whole work day. Coffee on the machine in some sort of “keep warm” mode goes rancid within 30 mins or so. I have a suspicion it’s some reaction with the oxygen in the air...
Thanks for the example, I understand. I missunderstood the poster above. I've come across quite a few coworkers who believe that move is something that happens on the compilers whim as part of some optimization and incorrectly assumed the same of the post i replied to.
1. I thought the cast to an rvalue reference would make overloads taking rvalue references be chosen during overload resolution. Since this is deterministic I thought whether something is moved or not would be quite guaranteed
My best guess is fuel efficiency at small size scales and is probably the same reason that make them economical in large buses, but not small cars. The usual intuition is explained using the Reynolds number, a dimensionless quantity that can help to predict the possibility of maintaining laminar flow or wether the flow breaks down into turbulence in the generator, drastically reducing efficiency in the compression-combustion-expansion cycle. As a side note, when I did a type rating on the Eurocopter AS350, I learned that the gas turbine could also run on normal automobile gasoline instead of Jet-A 1 for a limited amount of time in emergencies with drastically reduced limits on altitude, torque etc...