|
You are here |
www.think-cell.com | ||
| | | | |
mpark.github.io
|
|
| | | | | Can we work around the limitations of non-type template parameters? | |
| | | | |
eyakubovich.github.io
|
|
| | | | | In the previous post, we developed a logarithmic depth accumulate() function that can be used to emulate a for-loop. In this post, we'll look at how to construct a function that emulates a while-loop with the recursive depth of O(lg(n)) where n is the number of iterations of the while-loop.... | |
| | | | |
www.foonathan.net
|
|
| | | | | The size of std::array is known at compile-time given the type. Yet it only provides a regular .size() member function: template struct array { constexpr std::size_t size() const { return N; } }; This is annoying if you're writing generic code that expects some sort of compile-time sized range. | |
| | | | |
purplesyringa.moe
|
|
| | | A few days ago, I stumbled upon a Hacker News discussion about the expression problem - a conundrum that occasionally arises in software design. Some of the commenters noted that Rust completely avoids this problem thanks to trait objects, and initially I agreed with them, but I'm now realizing it's not at all as straightforward as it looks. The goal of this post is to explain what the expression problem is, how Rust seemingly avoids it, why this solution doesn't actually work, and what a Rusty solution might look like. | ||