Public Types | Public Member Functions | List of all members
cyclus::ExchangeGraph Class Reference

Detailed Description

An ExchangeGraph is a resource-neutral representation of a ResourceExchange.

In general, it is produced via translation by an ExchangeTranslator. It is comprised of ExchangeNodes that are collected into ExchangeNodeGroups. Arcs are defined, connecting ExchangeNodes to each other. An ExchangeSolver can solve a given instance of an ExchangeGraph, and the solution is stored on the Graph in the form of Matches.

Definition at line 207 of file exchange_graph.h.

#include <exchange_graph.h>

Public Types

typedef boost::shared_ptr< ExchangeGraphPtr

Public Member Functions

void AddArc (const Arc &a)
void AddMatch (const Arc &a, double qty)
void AddRequestGroup (RequestGroup::Ptr prs)
void AddSupplyGroup (ExchangeNodeGroup::Ptr prs)
const std::map< int, Arc > & arc_by_id () const
std::map< int, Arc > & arc_by_id ()
const std::map< Arc, int > & arc_ids () const
std::map< Arc, int > & arc_ids ()
const std::vector< Arc > & arcs () const
std::vector< Arc > & arcs ()
void ClearMatches ()
 ExchangeGraph ()
const std::vector< Match > & matches ()
const std::map< ExchangeNode::Ptr, std::vector< Arc > > & node_arc_map () const
std::map< ExchangeNode::Ptr, std::vector< Arc > > & node_arc_map ()
const std::vector< RequestGroup::Ptr > & request_groups () const
std::vector< RequestGroup::Ptr > & request_groups ()
const std::vector< ExchangeNodeGroup::Ptr > & supply_groups () const
std::vector< ExchangeNodeGroup::Ptr > & supply_groups ()

Member Typedef Documentation

typedef boost::shared_ptr<ExchangeGraph> cyclus::ExchangeGraph::Ptr

Definition at line 209 of file exchange_graph.h.

Constructor & Destructor Documentation

cyclus::ExchangeGraph::ExchangeGraph ( )

Definition at line 114 of file

Member Function Documentation

void cyclus::ExchangeGraph::AddArc ( const Arc a)

adds an arc to the graph

Definition at line 127 of file

void cyclus::ExchangeGraph::AddMatch ( const Arc a,
double  qty 

adds a match for a quanity of flow along an arc

pathe arc corresponding to a match
qtythe amount of flow corresponding to a match

Definition at line 137 of file

void cyclus::ExchangeGraph::AddRequestGroup ( RequestGroup::Ptr  prs)

adds a request group to the graph

Definition at line 117 of file

void cyclus::ExchangeGraph::AddSupplyGroup ( ExchangeNodeGroup::Ptr  prs)

adds a supply group to the graph

Definition at line 122 of file

const std::map<int, Arc>& cyclus::ExchangeGraph::arc_by_id ( ) const

Definition at line 261 of file exchange_graph.h.

std::map<int, Arc>& cyclus::ExchangeGraph::arc_by_id ( )

Definition at line 262 of file exchange_graph.h.

const std::map<Arc, int>& cyclus::ExchangeGraph::arc_ids ( ) const

Definition at line 258 of file exchange_graph.h.

std::map<Arc, int>& cyclus::ExchangeGraph::arc_ids ( )

Definition at line 259 of file exchange_graph.h.

const std::vector<Arc>& cyclus::ExchangeGraph::arcs ( ) const

Definition at line 255 of file exchange_graph.h.

std::vector<Arc>& cyclus::ExchangeGraph::arcs ( )

Definition at line 256 of file exchange_graph.h.

void cyclus::ExchangeGraph::ClearMatches ( )

clears all matches

Definition at line 229 of file exchange_graph.h.

const std::vector<Match>& cyclus::ExchangeGraph::matches ( )

Definition at line 253 of file exchange_graph.h.

const std::map<ExchangeNode::Ptr, std::vector<Arc> >& cyclus::ExchangeGraph::node_arc_map ( ) const

Definition at line 246 of file exchange_graph.h.

std::map<ExchangeNode::Ptr, std::vector<Arc> >& cyclus::ExchangeGraph::node_arc_map ( )

Definition at line 249 of file exchange_graph.h.

const std::vector<RequestGroup::Ptr>& cyclus::ExchangeGraph::request_groups ( ) const

Definition at line 231 of file exchange_graph.h.

std::vector<RequestGroup::Ptr>& cyclus::ExchangeGraph::request_groups ( )

Definition at line 234 of file exchange_graph.h.

const std::vector<ExchangeNodeGroup::Ptr>& cyclus::ExchangeGraph::supply_groups ( ) const

Definition at line 238 of file exchange_graph.h.

std::vector<ExchangeNodeGroup::Ptr>& cyclus::ExchangeGraph::supply_groups ( )

Definition at line 241 of file exchange_graph.h.

The documentation for this class was generated from the following files: