/explore

Click through on any links that interest you or select the planets on the right to continue exploring the Outer Web.
You are here

www.reedbeta.com
| | entangledlogs.com
4.7 parsecs away

Travel
| | Generic Programming: Generating part of programs Introduction Generic Programming: Programming with generic parameters to avoid unnecessary code duplication and encourage code reuse. Polymorphism is also another technique to solve code reuse Puts implicit constraints on the generic types that are to be fulfilled by concrete types. template T adder(T LHS, T RHS) { return LHS + RHS; } struct Foo { inv Val = 0; } Foo f = adder(Foo{}, Foo{}): In this code snippet, we assume that Foo meets the requirement tha...
| | www.foonathan.net
3.6 parsecs away

Travel
| | You probably know that C++20 adds ranges. Finally we can write copy(container, dest) instead of copy(container.begin(), container.end(), dest)! Ranges also do a lot more. Among other things, they add a new way of specifying an iterator to the end - sentinels.
| | quuxplusone.github.io
5.1 parsecs away

Travel
| | Back in early March, Lukas Böger asked on StackOverflow: "Where do standard library or compilers leverage noexcept move semantics (other than vector growth)?" So I got nerdsniped into looking at all the places libc++ tests the noexceptness of any user-defined operation. This circuitously led to my finding an absolutely massive number of corner-case bugs in libc++'s string::append member function.
| | hookrace.net
23.0 parsecs away

Travel
| [AI summary] The article explains Nim's metaprogramming capabilities by demonstrating the use of procs, templates, and macros to create optimizations like faster enum parsing and custom HTML DSLs.