Adjacency ========= :cpp:include:`#include` .. cpp:namespace:: hysj::graphs In namespace :cpp:any:`graphs`: .. cpp:function:: template auto semiadjacent(constant_t t,auto d0,auto d1,const auto &g,auto i) | Hook to compute the semiadjacent ids of :cpp:var:`i`. These are computed by first computing the incident ids in direction :cpp:var:`d0`, and from each of those, computing the incident ids in the direction :cpp:var:`d1`. | .. cpp:function:: auto exclusive_semiadjacent(auto t,auto d0,auto d1,const auto &g,auto i) | The semiadjacent of :cpp:var:`i`, modulo :cpp:var:`i` itself. | .. cpp:function:: template auto adjacent(constant_t t,auto d,const auto &g,auto i)const | Hook for computing the adjacent elements of :cpp:var:`i`. The default behaviour computes them via :cpp:expr:`semiadjacent(t,d,d,g,i)`. *Traits* .. cpp:type:: template traits::adjacent_t | The deduced retur-type of :cpp:expr:`adjacent` invoked with these types parameters. *Concepts* .. cpp:concept:: template concepts::adjacency_graph | A graph that supports the adjacency relation for elements of type :cpp:expr:`T`, identified by :cpp:expr:`I`, in the direction-specifier of :cpp:type:`D`. |