Utopia  2
Framework for studying models of complex & adaptive systems.
Namespaces | Enumerations | Functions
graph_utils.hh File Reference
#include <tuple>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/adjacency_matrix.hpp>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/properties.hpp>
#include <boost/hana/all_of.hpp>
#include <boost/hana/ext/std/tuple.hpp>
#include <boost/hana/for_each.hpp>
#include <hdf5.h>
#include "../core/logging.hh"
#include "../core/type_traits.hh"
#include "../core/graph/iterator.hh"
#include "hdfdataset.hh"
#include "hdfgroup.hh"
Include dependency graph for graph_utils.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Utopia
 
 Utopia::DataIO
 
 Utopia::DataIO::GraphUtilsHelper
 

Enumerations

enum class  Utopia::DataIO::GraphUtilsHelper::EntityKind { Utopia::DataIO::GraphUtilsHelper::vertex , Utopia::DataIO::GraphUtilsHelper::edge }
 Kinds of Entities to get properties from. More...
 

Functions

template<typename Graph >
std::pair< std::shared_ptr< HDFDataset >, std::shared_ptr< HDFDataset > > Utopia::DataIO::GraphUtilsHelper::setup_graph_containers (const Graph &g, const std::shared_ptr< HDFGroup > &grp)
 
template<typename First , typename Second , typename... Tail>
constexpr std::tuple< Tail... > Utopia::DataIO::GraphUtilsHelper::tuple_tail (const std::tuple< First, Second, Tail... > &t)
 Builds new tuple containing all elements but the first two. More...
 
template<typename CoordT >
auto Utopia::DataIO::GraphUtilsHelper::coords_container ()
 
template<EntityKind entity_kind, typename Graph , typename NWGroup , typename ItPair >
auto Utopia::DataIO::GraphUtilsHelper::generate_write_function (const Graph &g, NWGroup &&nw_grp, std::string label, ItPair &&it_pair, std::size_t num_entities)
 
template<typename Graph >
std::shared_ptr< HDFGroup > Utopia::DataIO::create_graph_group (const Graph &g, const std::shared_ptr< HDFGroup > &parent_grp, const std::string &name)
 
template<typename Graph >
void Utopia::DataIO::save_graph (const Graph &g, const std::shared_ptr< HDFGroup > &grp)
 Write function for a boost::Graph. More...
 
template<typename Graph , typename PropertyMap >
void Utopia::DataIO::save_graph (const Graph &g, const std::shared_ptr< HDFGroup > &grp, const PropertyMap vertex_ids)
 Write function for a boost::Graph. More...
 
template<IterateOver iterate_over, typename Graph , typename... Adaptors>
void Utopia::DataIO::save_graph_entity_properties (const Graph &g, const std::shared_ptr< HDFGroup > &nw_grp, const std::string &label, const std::tuple< Adaptors... > &adaptor_tuple)
 
template<typename Graph , typename... Adaptors>
void Utopia::DataIO::save_vertex_properties (Graph &&g, const std::shared_ptr< HDFGroup > &nw_grp, const std::string &label, const std::tuple< Adaptors... > &adaptor_tuple)
 
template<typename Graph , typename... Adaptors>
void Utopia::DataIO::save_edge_properties (Graph &&g, const std::shared_ptr< HDFGroup > &nw_grp, const std::string &label, const std::tuple< Adaptors... > &adaptor_tuple)