What is required for a custom BGL graph to work with topological sort?

As you correctly surmised, the error novel is telling you that there is no index map. That is required for the default color map: UTIL/OUT: color_map(ColorMap color) This is used by the algorithm to keep track of its progress through the graph. The type ColorMap must be a model of Read/Write Property Map and its … Read more

In which access control context are concepts evaluated?

First, let’s start with requires expressions. The section on the behavior of a requires expression has nothing special to say about the access controls of its component expressions. Similarly, the section on access controls says nothing in particular about requires expressions. In particular, there is [class.access]/4, which says: Access control is applied uniformly to all … Read more

Why do we require requires requires?

It is because the grammar requires it. It does. A requires constraint does not have to use a requires expression. It can use any more-or-less arbitrary boolean constant expression. Therefore, requires (foo) must be a legitimate requires constraint. A requires expression (that thing that tests whether certain things follow certain constraints) is a distinct construct; … Read more

void_t “can implement concepts”?

Yes, concepts lite basically dresses up SFINAE. Plus it allows deeper introspection to allow for better overloading. However that only works if the concept predicates are defined as concept bool. The improved overloading does not work with the current concept predicates, but conditional overloading can be used. Lets look how we can define predicates, constrain … Read more