[mrpt-graphs]

// namespaces

namespace mrpt::graphs::detail;
namespace mrpt::graphs;
    namespace mrpt::graphs::detail;

// structs

struct mrpt::graphs::TGraphvizExportParams;

template <class GRAPH_T>
struct mrpt::graphs::detail::THypothesis;

struct mrpt::graphs::detail::TMRSlamEdgeAnnotations;
struct mrpt::graphs::detail::TMRSlamNodeAnnotations;
struct mrpt::graphs::detail::TNodeAnnotations;
struct mrpt::graphs::detail::TNodeAnnotationsEmpty;

// classes

template <typename T>
class mrpt::graphs::CAStarAlgorithm;

template <
    class TYPE_GRAPH,
    class MAPS_IMPLEMENTATION = mrpt::containers::map_traits_stdmap
    >
class mrpt::graphs::CDijkstra;

template <
    class TYPE_EDGES,
    class EDGE_ANNOTATIONS = detail::edge_annotations_empty
    >
class mrpt::graphs::CDirectedGraph;

template <class TYPE_EDGES = uint8_t>
class mrpt::graphs::CDirectedTree;

template <
    class CPOSE,
    class MAPS_IMPLEMENTATION = mrpt::containers::map_traits_stdmap,
    class NODE_ANNOTATIONS = mrpt::graphs::detail::TNodeAnnotationsEmpty,
    class EDGE_ANNOTATIONS = mrpt::graphs::detail::edge_annotations_empty
    >
class mrpt::graphs::CNetworkOfPoses;