Commit bf0e2475 authored by Tiago Peixoto's avatar Tiago Peixoto
Browse files

Switch to C++ syntax for function attributes

parent 161d5214
...@@ -132,6 +132,7 @@ public: ...@@ -132,6 +132,7 @@ public:
} }
public: public:
[[gnu::always_inline]]
reference operator[](const key_type& v) const { reference operator[](const key_type& v) const {
auto i = get(_index, v); auto i = get(_index, v);
auto& store = *_store; auto& store = *_store;
...@@ -180,7 +181,7 @@ public: ...@@ -180,7 +181,7 @@ public:
void shrink_to_fit() const { _checked.shrink_to_fit(); } void shrink_to_fit() const { _checked.shrink_to_fit(); }
__attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]]
reference operator[](const key_type& v) const reference operator[](const key_type& v) const
{ {
return (*_checked._store)[get(_checked._index, v)]; return (*_checked._store)[get(_checked._index, v)];
......
...@@ -124,7 +124,7 @@ struct graph_traits< const undirected_adaptor<Graph> >: ...@@ -124,7 +124,7 @@ struct graph_traits< const undirected_adaptor<Graph> >:
// source(e,g) // source(e,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] [[gnu::pure]] inline
auto auto
source(const typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor& e, source(const typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor& e,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -136,7 +136,7 @@ source(const typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor& ...@@ -136,7 +136,7 @@ source(const typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor&
// target(e,g) // target(e,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] [[gnu::pure]] inline
auto auto
target(const typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor& e, target(const typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor& e,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -148,7 +148,7 @@ target(const typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor& ...@@ -148,7 +148,7 @@ target(const typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor&
// vertex(n,g) // vertex(n,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] [[gnu::pure]] inline
auto auto
vertex(typename graph_traits<undirected_adaptor<Graph> >::vertices_size_type n, vertex(typename graph_traits<undirected_adaptor<Graph> >::vertices_size_type n,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -160,7 +160,7 @@ vertex(typename graph_traits<undirected_adaptor<Graph> >::vertices_size_type n, ...@@ -160,7 +160,7 @@ vertex(typename graph_traits<undirected_adaptor<Graph> >::vertices_size_type n,
// vertices(g) // vertices(g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
vertices(const undirected_adaptor<Graph>& g) vertices(const undirected_adaptor<Graph>& g)
{ {
...@@ -171,7 +171,7 @@ vertices(const undirected_adaptor<Graph>& g) ...@@ -171,7 +171,7 @@ vertices(const undirected_adaptor<Graph>& g)
// edges(g) // edges(g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
edges(const undirected_adaptor<Graph>& g) edges(const undirected_adaptor<Graph>& g)
{ {
...@@ -182,7 +182,7 @@ edges(const undirected_adaptor<Graph>& g) ...@@ -182,7 +182,7 @@ edges(const undirected_adaptor<Graph>& g)
// edge(u, v, g) // edge(u, v, g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
auto auto
edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor v, typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor v,
...@@ -203,7 +203,7 @@ edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, ...@@ -203,7 +203,7 @@ edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
// out_edges(u,g) // out_edges(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
out_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u, out_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -212,7 +212,7 @@ out_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u, ...@@ -212,7 +212,7 @@ out_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u,
} }
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
_all_edges_out(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u, _all_edges_out(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -224,7 +224,7 @@ _all_edges_out(typename graph_traits<undirected_adaptor<Graph>>::vertex_descript ...@@ -224,7 +224,7 @@ _all_edges_out(typename graph_traits<undirected_adaptor<Graph>>::vertex_descript
// in_edges(u,g) // in_edges(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
in_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor, in_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor,
const undirected_adaptor<Graph>&) const undirected_adaptor<Graph>&)
...@@ -235,7 +235,7 @@ in_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor, ...@@ -235,7 +235,7 @@ in_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor,
} }
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
_all_edges_in(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u, _all_edges_in(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -244,7 +244,7 @@ _all_edges_in(typename graph_traits<undirected_adaptor<Graph>>::vertex_descripto ...@@ -244,7 +244,7 @@ _all_edges_in(typename graph_traits<undirected_adaptor<Graph>>::vertex_descripto
} }
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
all_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u, all_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -256,7 +256,7 @@ all_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u, ...@@ -256,7 +256,7 @@ all_edges(typename graph_traits<undirected_adaptor<Graph>>::vertex_descriptor u,
// out_neighbors(u, g) // out_neighbors(u, g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
out_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, out_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -268,7 +268,7 @@ out_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descript ...@@ -268,7 +268,7 @@ out_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descript
// in_neighbors(u, g) // in_neighbors(u, g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
in_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, in_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -280,7 +280,7 @@ in_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descripto ...@@ -280,7 +280,7 @@ in_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descripto
// all_neighbors(u, g) // all_neighbors(u, g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
all_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, all_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -292,7 +292,7 @@ all_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descript ...@@ -292,7 +292,7 @@ all_neighbors(typename graph_traits<undirected_adaptor<Graph> >::vertex_descript
// adjacent_vertices(u,g) // adjacent_vertices(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
adjacent_vertices adjacent_vertices
(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, (typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
...@@ -305,7 +305,7 @@ adjacent_vertices ...@@ -305,7 +305,7 @@ adjacent_vertices
// num_vertices(g) // num_vertices(g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
num_vertices(const undirected_adaptor<Graph>& g) num_vertices(const undirected_adaptor<Graph>& g)
{ {
...@@ -316,7 +316,7 @@ num_vertices(const undirected_adaptor<Graph>& g) ...@@ -316,7 +316,7 @@ num_vertices(const undirected_adaptor<Graph>& g)
// num_edges(g) // num_edges(g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
num_edges(const undirected_adaptor<Graph>& g) num_edges(const undirected_adaptor<Graph>& g)
{ {
...@@ -327,7 +327,7 @@ num_edges(const undirected_adaptor<Graph>& g) ...@@ -327,7 +327,7 @@ num_edges(const undirected_adaptor<Graph>& g)
// out_degree(u,g) // out_degree(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
out_degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, out_degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -339,7 +339,7 @@ out_degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor ...@@ -339,7 +339,7 @@ out_degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor
// in_degree(u,g) // in_degree(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
in_degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor, in_degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor,
const undirected_adaptor<Graph>&) const undirected_adaptor<Graph>&)
...@@ -351,7 +351,7 @@ in_degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor, ...@@ -351,7 +351,7 @@ in_degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor,
// degree(u,g) // degree(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
auto auto
degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
const undirected_adaptor<Graph>& g) const undirected_adaptor<Graph>& g)
...@@ -364,7 +364,7 @@ degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, ...@@ -364,7 +364,7 @@ degree(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
// add_vertex(g) // add_vertex(g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
auto auto
add_vertex(undirected_adaptor<Graph>& g) add_vertex(undirected_adaptor<Graph>& g)
{ {
...@@ -375,7 +375,7 @@ add_vertex(undirected_adaptor<Graph>& g) ...@@ -375,7 +375,7 @@ add_vertex(undirected_adaptor<Graph>& g)
// add_vertex(vp,g) // add_vertex(vp,g)
//============================================================================== //==============================================================================
template <class Graph, class VertexProperties> template <class Graph, class VertexProperties>
inline __attribute__((flatten)) [[gnu::flatten]] inline
auto auto
add_vertex(const VertexProperties& p, undirected_adaptor<Graph>& g) add_vertex(const VertexProperties& p, undirected_adaptor<Graph>& g)
{ {
...@@ -386,7 +386,7 @@ add_vertex(const VertexProperties& p, undirected_adaptor<Graph>& g) ...@@ -386,7 +386,7 @@ add_vertex(const VertexProperties& p, undirected_adaptor<Graph>& g)
// clear_vertex(u,g) // clear_vertex(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
void clear_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, void clear_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
undirected_adaptor<Graph>& g) undirected_adaptor<Graph>& g)
{ {
...@@ -397,7 +397,7 @@ void clear_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_desc ...@@ -397,7 +397,7 @@ void clear_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_desc
// clear_vertex(u,g,pred) // clear_vertex(u,g,pred)
//============================================================================== //==============================================================================
template <class Graph, class Pred> template <class Graph, class Pred>
inline __attribute__((flatten)) [[gnu::flatten]] inline
void clear_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, void clear_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
undirected_adaptor<Graph>& g, Pred&& pred) undirected_adaptor<Graph>& g, Pred&& pred)
{ {
...@@ -408,7 +408,7 @@ void clear_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_desc ...@@ -408,7 +408,7 @@ void clear_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_desc
// remove_vertex(u,g) // remove_vertex(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
void remove_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, void remove_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
undirected_adaptor<Graph>& g) undirected_adaptor<Graph>& g)
{ {
...@@ -419,7 +419,7 @@ void remove_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_des ...@@ -419,7 +419,7 @@ void remove_vertex(typename graph_traits<undirected_adaptor<Graph> >::vertex_des
// remove_vertex_fast(u,g) // remove_vertex_fast(u,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
void remove_vertex_fast(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, void remove_vertex_fast(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
undirected_adaptor<Graph>& g) undirected_adaptor<Graph>& g)
{ {
...@@ -430,7 +430,7 @@ void remove_vertex_fast(typename graph_traits<undirected_adaptor<Graph> >::verte ...@@ -430,7 +430,7 @@ void remove_vertex_fast(typename graph_traits<undirected_adaptor<Graph> >::verte
// add_edge(u,v,g) // add_edge(u,v,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
std::pair<typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor, std::pair<typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor,
bool> bool>
add_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, add_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
...@@ -444,7 +444,7 @@ add_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, ...@@ -444,7 +444,7 @@ add_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
// add_edge(u,v,ep,g) // add_edge(u,v,ep,g)
//============================================================================== //==============================================================================
template <class Graph, class EdgeProperties> template <class Graph, class EdgeProperties>
inline __attribute__((flatten)) [[gnu::flatten]] inline
auto auto
add_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, add_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor v, typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor v,
...@@ -457,7 +457,7 @@ add_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, ...@@ -457,7 +457,7 @@ add_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
// remove_edge(u,v,g) // remove_edge(u,v,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
void remove_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u, void remove_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor u,
typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor v, typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor v,
undirected_adaptor<Graph>& g) undirected_adaptor<Graph>& g)
...@@ -471,7 +471,7 @@ void remove_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descr ...@@ -471,7 +471,7 @@ void remove_edge(typename graph_traits<undirected_adaptor<Graph> >::vertex_descr
// remove_edge(e,g) // remove_edge(e,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
void remove_edge(typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor e, void remove_edge(typename graph_traits<undirected_adaptor<Graph> >::edge_descriptor e,
undirected_adaptor<Graph>& g) undirected_adaptor<Graph>& g)
{ {
...@@ -484,7 +484,7 @@ void remove_edge(typename graph_traits<undirected_adaptor<Graph> >::edge_descrip ...@@ -484,7 +484,7 @@ void remove_edge(typename graph_traits<undirected_adaptor<Graph> >::edge_descrip
// remove_edge(e_iter,g) // remove_edge(e_iter,g)
//============================================================================== //==============================================================================
template <class Graph> template <class Graph>
inline __attribute__((flatten)) [[gnu::flatten]] inline
void remove_edge(const typename graph_traits<undirected_adaptor<Graph> >::out_edge_iterator& iter, void remove_edge(const typename graph_traits<undirected_adaptor<Graph> >::out_edge_iterator& iter,
undirected_adaptor<Graph>& g) undirected_adaptor<Graph>& g)
{ {
...@@ -512,7 +512,6 @@ void remove_out_edge_if(typename graph_traits<undirected_adaptor<Graph> >::verte ...@@ -512,7 +512,6 @@ void remove_out_edge_if(typename graph_traits<undirected_adaptor<Graph> >::verte
// remove_in_edge_if(v,predicate,g) // remove_in_edge_if(v,predicate,g)
//============================================================================== //==============================================================================
template <class Graph, class Predicate> template <class Graph, class Predicate>
inline
void remove_in_edge_if(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor v, void remove_in_edge_if(typename graph_traits<undirected_adaptor<Graph> >::vertex_descriptor v,
Predicate predicate, undirected_adaptor<Graph>& g) Predicate predicate, undirected_adaptor<Graph>& g)
{ {
......
...@@ -222,7 +222,7 @@ public: ...@@ -222,7 +222,7 @@ public:
{ {
get_vertex() {} get_vertex() {}
typedef Vertex result_type; typedef Vertex result_type;
__attribute__((always_inline)) [[gnu::always_inline]]
Vertex operator()(const std::pair<vertex_t, vertex_t>& v) const Vertex operator()(const std::pair<vertex_t, vertex_t>& v) const
{ return v.first; } { return v.first; }
}; };
...@@ -261,7 +261,7 @@ public: ...@@ -261,7 +261,7 @@ public:
return _iter == other._iter; return _iter == other._iter;
} }
__attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]]
edge_descriptor dereference() const edge_descriptor dereference() const
{ {
return Deference::def(_v, *_iter, *this); return Deference::def(_v, *_iter, *this);
...@@ -480,7 +480,7 @@ public: ...@@ -480,7 +480,7 @@ public:
_epos.shrink_to_fit(); _epos.shrink_to_fit();
} }
__attribute__((always_inline)) [[gnu::always_inline]]
void reverse_edge(edge_descriptor& e) const void reverse_edge(edge_descriptor& e) const
{ {
auto& elist = _edges[e.s]; auto& elist = _edges[e.s];
...@@ -698,7 +698,7 @@ struct graph_property_type<adj_list<Vertex> > ...@@ -698,7 +698,7 @@ struct graph_property_type<adj_list<Vertex> >
//======================================================================== //========================================================================
template <class Vertex> template <class Vertex>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
std::pair<typename adj_list<Vertex>::vertex_iterator, std::pair<typename adj_list<Vertex>::vertex_iterator,
typename adj_list<Vertex>::vertex_iterator> typename adj_list<Vertex>::vertex_iterator>
vertices(const adj_list<Vertex>& g) vertices(const adj_list<Vertex>& g)
...@@ -709,7 +709,7 @@ vertices(const adj_list<Vertex>& g) ...@@ -709,7 +709,7 @@ vertices(const adj_list<Vertex>& g)
template <class Vertex> template <class Vertex>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
std::pair<typename adj_list<Vertex>::edge_iterator, std::pair<typename adj_list<Vertex>::edge_iterator,
typename adj_list<Vertex>::edge_iterator> typename adj_list<Vertex>::edge_iterator>
edges(const adj_list<Vertex>& g) edges(const adj_list<Vertex>& g)
...@@ -740,7 +740,7 @@ edges(const adj_list<Vertex>& g) ...@@ -740,7 +740,7 @@ edges(const adj_list<Vertex>& g)
} }
template <class Vertex> template <class Vertex>
inline __attribute__((always_inline)) [[gnu::always_inline]] inline
Vertex vertex(size_t i, const adj_list<Vertex>&) Vertex vertex(size_t i, const adj_list<Vertex>&)
{ {
return i; return i;
...@@ -764,7 +764,7 @@ edge(Vertex s, Vertex t, const adj_list<Vertex>& g) ...@@ -764,7 +764,7 @@ edge(Vertex s, Vertex t, const adj_list<Vertex>& g)
} }
template <class Vertex> template <class Vertex>
inline __attribute__((always_inline)) [[gnu::always_inline]] inline
size_t out_degree(Vertex v, const adj_list<Vertex>& g) size_t out_degree(Vertex v, const adj_list<Vertex>& g)
{ {
const auto& pes = g._edges[v]; const auto& pes = g._edges[v];
...@@ -772,7 +772,7 @@ size_t out_degree(Vertex v, const adj_list<Vertex>& g) ...@@ -772,7 +772,7 @@ size_t out_degree(Vertex v, const adj_list<Vertex>& g)
} }
template <class Vertex> template <class Vertex>
inline __attribute__((always_inline)) [[gnu::always_inline]] inline
size_t in_degree(Vertex v, const adj_list<Vertex>& g) size_t in_degree(Vertex v, const adj_list<Vertex>& g)
{ {
const auto& pes = g._edges[v]; const auto& pes = g._edges[v];
...@@ -782,14 +782,14 @@ size_t in_degree(Vertex v, const adj_list<Vertex>& g) ...@@ -782,14 +782,14 @@ size_t in_degree(Vertex v, const adj_list<Vertex>& g)
} }
template <class Vertex> template <class Vertex>
inline __attribute__((always_inline)) [[gnu::always_inline]] inline
size_t degree(Vertex v, const adj_list<Vertex>& g) size_t degree(Vertex v, const adj_list<Vertex>& g)
{ {
return g._edges[v].second.size(); return g._edges[v].second.size();
} }
template <class Vertex> template <class Vertex>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline
std::pair<typename adj_list<Vertex>::out_edge_iterator, std::pair<typename adj_list<Vertex>::out_edge_iterator,
typename adj_list<Vertex>::out_edge_iterator> typename adj_list<Vertex>::out_edge_iterator>
out_edges(Vertex v, const adj_list<Vertex>& g) out_edges(Vertex v, const adj_list<Vertex>& g)
...@@ -802,7 +802,7 @@ out_edges(Vertex v, const adj_list<Vertex>& g) ...@@ -802,7 +802,7 @@ out_edges(Vertex v, const adj_list<Vertex>& g)
} }
template <class Vertex> template <class Vertex>
inline __attribute__((always_inline)) __attribute__((flatten)) [[gnu::always_inline]] [[gnu::flatten]] inline