29#include <boost/variant.hpp>
33 template <
int N,
class... Ts>
34 using NthTypeOf =
typename std::tuple_element<N, std::tuple<Ts...>>::type;
36 template <
int N,
class... Ts>
41 return boost::get<target>(v);
44 template <
int N,
class... Ts>
49 return boost::get<target>(v);
55 template <
int N,
class... Ts>
56 using NthTypeOf =
typename std::tuple_element<N, std::tuple<Ts...>>::type;
58 template <
int N,
class... Ts>
63 return boost::get<target>(&v);
66 template <
int N,
class... Ts>
71 return boost::get<const target>(&v);
74 template <
int N,
class... Ts>
79 return std::holds_alternative<target>(v) ? &std::get<target>(v) :
nullptr;
82 template <
int N,
class... Ts>
87 return std::holds_alternative<const target>(v) ? &std::get<const target>(v) :
nullptr;
This file offers overloads of toIce() and fromIce() functions for STL container types.
auto * get_index_ptr(boost::variant< Ts... > &v)
typename std::tuple_element< N, std::tuple< Ts... > >::type NthTypeOf
typename std::tuple_element< N, std::tuple< Ts... > >::type NthTypeOf
Vertex target(const detail::edge_base< Directed, Vertex > &e, const PCG &)
auto & get_index(boost::variant< Ts... > &v)