24requires(
const GraphImpl & g,GraphImpl & g_mut, N n, std::vector<N> nodes, E e, std::vector<E> edges, std::vector<std::pair<N,N>> nodePairs){
25 {g.getAdjacencyContainer()} -> std::same_as<const A &>;
26 {g_mut.addNode(n)} -> std::same_as<bool>;
27 {g_mut.addNodes(nodes)} -> std::same_as<bool>;
28 {g.containsNode(n)} -> std::same_as<bool>;
29 {g_mut.removeNode(n)} -> std::same_as<void>;
30 {g_mut.addEdge(n,n)} -> std::same_as<bool>;
31 {g_mut.addEdge(e)} -> std::same_as<bool>;
32 {g_mut.addEdges(edges)} -> std::same_as<void>;
33 {g_mut.addEdges(nodePairs)} -> std::same_as<void>;
34 {g.containsEdge(n,n)} -> std::same_as<bool>;
35 {g.containsEdge(e)} -> std::same_as<bool>;
36 {g_mut.removeEdge(n,n)} -> std::same_as<void>;
37 {g_mut.removeEdge(e)} -> std::same_as<void>;
38 {g.makeEdge(n,n)} -> std::same_as<E>;
45 {g_mut.clear()} -> std::same_as<void>;
46 typename GraphImpl::node_type;
47 typename GraphImpl::edge_type;
48 typename GraphImpl::adj_container_type;