6 private links
Silicon is a high performance, middleware oriented, C++14 http web framework. It brings to C++ the high expressive power of other web frameworks based on dynamic languages without introducing run-time overhead. Its compile-time static metaprogramming paradigm allows to match the performances of servers written in C.
In languages such as python, there is an in operator that is used to check if element is in a range:
if 5 in [1, 2, 3, 4, 5]: print("There is a 5")
What’s nice about this, is the almost english type readability of it. Let’s look at how we can implement such an operator in C++14.
Named operator made easy:
https://github.com/klmr/named-operator
This is an advanced blog post more geared to library writers who want to improve error messages due to substitution failure. It discuss how substitution failures can be transported so the correct information can be presented to the user. Lets first look at the problem.
A high performance, middleware oriented C++14 http web framework.
Pipable functions allow us to write extension methods in C++. This overloads the pipe | operator to allow chaining several functions together, like the example below:
C++11 and 14 provide a tool that expresses single ownership of a resource, unique_ptr. When the unique_ptr is deleted, such as when its parent container is destroyed or when it goes out of scope, a custom deleter can be called instead of the delete operator. This behavior is exactly the right mix for managing a resource created by a C library.
An example of a typefree printf with variadic templates: http://en.cppreference.com/w/cpp/language/parameter_pack#Example