graph-v2
graph-v2 copied to clipboard
Hidden and exposed concepts
File graph/graph.hpp contains a lot of concepts, all of which are marked "For exposition only".
The following concepts:
basic_targeted_edgebasic_sourced_edgebasic_sourced_targeted_edgetargeted_edgesourced_edgesourced_targeted_edge_common_vertex_range
Are never referencend in any other file. They are only used as building blocks of other concepts. They should be put in a separate namespace, say graph::detail, which will make it abudantly clear that they are just implementaiton details, and will never be proposed for standardization.
The other ones are apparently exposed to the users, so no "For exposition only" remark is appropriate.
I also enclose a diagram of all the concepts and CPOs involved in defining the high-level concepts.