Implementing a State Machine in C++17 – part 3 – compile time strings

In the previous series of articles (part1, part2) we’ve played with a simple state machine with some basic functionality. As the machine grows bigger, the need for debugging utilities becomes more important. To implement such utilities we need to do some groundwork first. All state, event, and action names are known at compile-time and for most of them, we could easily generate a string with the name during compilation. What’s problematic is that some of the types could be parametrized and would require some form of compile-time string concatenation. That’s exactly what we are going to explore in this article 🙂



Implementing a State Machine in C++17

Finite State Machines are a very useful concept that allows modeling complex behavior. The basic idea is quite simple. We have a set of possible states and we define rules that govern transitions between the current state and some other state upon receiving an event. So how to implement one in C++17? Of course, there is a multitude of ways to do it. In this article, we try to explore another possibility based on several newer additions to the C++ standard. (więcej…)


Customowe akcje wyszukanego elementu

SharePoint dostarcza nam kilka domyślnych akcji, których możemy użyć na każdym z elementów dostarczonych nam przez wyszukiwarkę. Znajdziemy tu możliwość otwarcia elementu, śledzenia go czy też udostępnienia. Co jednak w sytuacji, gdy chcemy dać użytkownikowi możliwość podjęcia stworzonej przez nas akcji? (więcej…)