bpp-phyl3  3.0.0
DataFlow.cpp File Reference
#include <Bpp/Exceptions.h>
#include <algorithm>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <ostream>
#include <regex>
#include <stack>
#include <type_traits>
#include <typeinfo>
#include <unordered_set>
#include <set>
#include "DataFlow.h"
#include "DataFlowNumeric.h"
+ Include dependency graph for DataFlow.cpp:

Go to the source code of this file.

Namespaces

 bpp
 Defines the basic types of data flow nodes.
 

Functions

static std::string demangle (const char *name)
 
std::string bpp::prettyTypeName (const std::type_info &type_info)
 Debug: return a readable name for a C++ type descriptor (from typeid operator). More...
 
bool bpp::isTransitivelyDependentOn (const Node_DF &searchedDependency, const Node_DF &node)
 Check if searchedDependency if a transitive dependency of node. More...
 
NodeRef bpp::recreateWithSubstitution (Context &c, const NodeRef &node, const std::unordered_map< const Node_DF *, NodeRef > &substitutions)
 Recreate node by transitively replacing dependencies according to substitutions mapping. More...
 
DotOptions bpp::operator| (DotOptions a, DotOptions b)
 
bool bpp::operator& (DotOptions a, DotOptions b)
 
static std::string bpp::dotLabelEscape (const std::string &s)
 
static std::string bpp::dotIdentifier (const Node_DF &node)
 
static void bpp::writeDotNode (std::ostream &os, const Node_DF &node, DotOptions opt)
 
static void bpp::writeDotEdge (std::ostream &os, const Node_DF &from, std::size_t depIndex, DotOptions opt)
 
static void bpp::writeGraphStructure (std::ostream &os, const std::vector< const Node_DF * > &entryPoints, DotOptions opt)
 
void bpp::writeGraphToDot (std::ostream &os, const std::vector< const Node_DF * > &nodes, DotOptions opt=DotOptions::None)
 Write dataflow graph starting at nodes to output stream. More...
 
void bpp::writeGraphToDot (const std::string &filename, const std::vector< const Node_DF * > &nodes, DotOptions opt=DotOptions::None)
 Write dataflow graph starting at nodes to file at filename, overwriting it. More...
 
Error functions (generate a message and throw exceptions).
void bpp::failureComputeWasCalled (const std::type_info &nodeType)
 
void bpp::failureNodeConversion (const std::type_info &handleType, const Node_DF &node)
 
void bpp::failureDependencyNumberMismatch (const std::type_info &contextNodeType, std::size_t expectedSize, std::size_t givenSize)
 
void bpp::failureEmptyDependency (const std::type_info &contextNodeType, std::size_t depIndex)
 
void bpp::failureDependencyTypeMismatch (const std::type_info &contextNodeType, std::size_t depIndex, const std::type_info &expectedType, const std::type_info &givenNodeType)
 
Basic dependency check primitives

Checks the size of a dependency vector, throws if mismatch.

void bpp::checkDependencyVectorSize (const std::type_info &contextNodeType, const NodeRefVec &deps, std::size_t expectedSize)
 
void bpp::checkDependencyVectorMinSize (const std::type_info &contextNodeType, const NodeRefVec &deps, std::size_t expectedMinSize)
 Checks the minimum size of a dependency vector, throws if mismatch. More...
 
void bpp::checkDependenciesNotNull (const std::type_info &contextNodeType, const NodeRefVec &deps)
 Checks that all dependencies are not null, throws if not. More...
 
void bpp::checkNthDependencyNotNull (const std::type_info &contextNodeType, const NodeRefVec &deps, std::size_t index)
 

Function Documentation

◆ demangle()

static std::string demangle ( const char *  name)
static

Definition at line 38 of file DataFlow.cpp.

Referenced by bpp::prettyTypeName().