# STL Algorithms, part 3

[386 words]

In the previous posts of this series, we have had a glance at non-modifying sequence algorithms, i.e., the algorithms that are supposed not to modify the elements of a sequence (or at least, the structure of the sequence; see the observations about `for_each`.

In this installment, as anticipated, we will start looking at the algorithms for searching.

# STL Algorithms, part 2

[845 words]

### Previously on this blog

In the previous installment, we have introduced three algorithms, `all_of`, `any_of`, and `none_of`, very useful to determine whether a range of elements satisfy some predicate, expressed as a lambda.

In this second episode, we will explore more algorithms offered by the STL. My objective, in the long run, is to cover all of them with examples, and maybe grasp the ideas that might come to my mind during the process. As usual, if you have any doubt or just spot a plain error, I’d greatly appreciate if you let me know.

# STL Algorithms, part 1

[506 words]

### Why algorithms

Standard algorithms have a prominent value in the C++ standard template library (STL). They present the great advantage of expressing an operation applied on a range of elements in a container. In this series, I am going to review all the algorithms introduced in the C++11 standard, presenting it in digestible chunks, and will provide at least an example of application for each one.

# Lambdas in C++11, part 2

[780 words]

Part 1

In the previous post, I have shown the syntax of lambda expressions in C++11, also known as closures, that are basically unnamed function objects that can be passed around for convenience, enhancing correctness through readability.

# Lambdas in C++11

[769 words]

Lambda expressions have been introduced to C++ with the most recent standard, presented in Section [`expr.prim.lambda`]. They allow the creation of simple functions without giving them a name. What are they good for? Being simple is not really the point here; the most useful case that I have found in my limited experience has been as a convenient replacement for Functors (also known as Function objects).

In this post, I’ll give a quick introduction to how to use lambdas in your code. In the next installment, I will discuss a small example of functor, and will show side by side a piece of code with functors and its substitution with a clean lambda.

# Write an Interface between your Program and a Shared Object

[676 words]

I wanted to share something I’ve been doing for some hours today, in the hope to understand it better. I also hope to receive criticism on this, because there might be a better way to do the same thing, only more elegantly. This is no research problem, as I am sure it has been solved time and again in different contexts; but the whole example, comprising all the pieces put together in this post, is something I have not seen around, and I think it can be of some service if I explain it.

# Exploring the Boost Graph Library, part 2

[781 words]

This is the second episode of my series on the Boost Graph Library. You might want to read part 1 before going on. As before, our primary source is the Quick Tutorial that you can find on the BGL web page.

# Exploring the Boost Graph Library

[567 words]

Part 2

With this post I’m starting a series about the Boost Graph Library (BGL). My objective is to present the material in small, easy-to-digest chunks, in order to build an understanding of this library and of the C++ concepts that it uses.

# Welcome!

[175 words]

Hi guest! My name is Gianluca and this blog is part of gergel.im, my project of documenting my experiences with the C++ programming language. My objective is to consistently improve my C++ skills.