graph.h File Reference

CPP API: graph.h File Reference
graph.h File Reference
#include "memilio/epidemiology/age_group.h"
#include "memilio/epidemiology/damping.h"
#include "memilio/geography/regions.h"
#include "memilio/utils/date.h"
#include "memilio/utils/parameter_distributions.h"
#include "memilio/utils/stl_util.h"
#include "memilio/utils/uncertain_value.h"
#include <algorithm>
#include <iostream>
#include <concepts>
#include "boost/filesystem.hpp"
Include dependency graph for graph.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mio::Edge< EdgePropertyT >
 represents an edge of the graph More...
 
struct  mio::EdgeBase
 
class  mio::Graph< NodePropertyT, EdgePropertyT >
 generic graph structure More...
 
struct  mio::InEdgeBase
 
struct  mio::Node< NodePropertyT >
 represents a node of the graph More...
 
struct  mio::OutEdgeBase
 

Namespaces

 mio
 A collection of classes to simplify handling of matrix shapes in meta programming.
 

Functions

template<std::equality_comparable T>
bool mio::operator!= (const Edge< T > &e1, const Edge< T > &e2)
 
template<std::equality_comparable T>
bool mio::operator!= (const Node< T > &n1, const Node< T > &n2)
 
template<class T >
requires HasOstreamOperator< T > std::ostream & mio::operator<< (std::ostream &os, const Edge< T > &e)
 out stream operator for edges if edge property type has stream operator defined More...
 
template<std::equality_comparable T>
bool mio::operator== (const Edge< T > &e1, const Edge< T > &e2)
 comparison operator if edge property type is equality comparable More...
 
template<std::equality_comparable T>
bool mio::operator== (const Node< T > &n1, const Node< T > &n2)
 comparison operator if node property type is equality comparable More...
 
template<class Graph >
void mio::print_graph (std::ostream &os, const Graph &g)
 
template<class T >
requires HasOstreamOperator< T > void mio::print_graph_object (std::ostream &os, size_t idx, const T &o)
 
template<class T >
 mio::requires (!HasOstreamOperator< T >) std
 out stream operator for edges if edge property type does not have stream operator defined More...
 
template<typename FP , class ContactLocation , class Model , class MobilityParams , class MobilityCoefficientGroup , class InfectionState , class ReadFunction >
IOResult< void > mio::set_edges (const fs::path &mobility_data_file, Graph< Model, MobilityParams > &params_graph, std::initializer_list< InfectionState > &mobile_compartments, size_t contact_locations_size, ReadFunction &&read_func, std::vector< FP > commuting_weights, std::vector< std::vector< size_t >> indices_of_saved_edges={})
 Sets the graph edges. More...
 
template<typename FP , class TestAndTrace , class ContactPattern , class Model , class MobilityParams , class Parameters , class ReadFunction , class NodeIdFunction >
IOResult< void > mio::set_nodes (const Parameters &params, Date start_date, Date end_date, const fs::path &data_dir, const std::string &population_data_path, bool is_node_for_county, Graph< Model, MobilityParams > &params_graph, ReadFunction &&read_func, NodeIdFunction &&node_func, const std::vector< FP > &scaling_factor_inf, FP scaling_factor_icu, FP tnt_capacity_factor, int num_days=0, bool export_time_series=false, bool rki_age_groups=true)
 Sets the graph nodes for counties or districts. More...