Beispiel #1
0
 void Graph<Node, Edge>::NodeContainer::printEdges() const {
     std::vector<std::pair<Node, Edge>> order = generateOrder();
     std::cout << "Edges attached to Node " << getNode() << std::endl;
     for(auto e = order.cbegin(); e != order.cend(); ++e) {
         std::cout << e->first << " " << e->second << std::endl;
     }
     if(order.size() == 0) {
         std::cout << "(null)" << std::endl;
     }
 }
Beispiel #2
0
    typename std::vector<std::pair<Node, Edge>>::const_iterator Graph<Node, Edge>::edgeIteratorBegin(const Node &node) const {
        if(!isNode(node)) {
            throw std::runtime_error("could not find node in graph");
        }
        auto nc = std::find_if(nodes.begin(), nodes.end(), [&node] (const NodeContainer nc) {
            return nc.getNode() == node;
        });

        this->ordered_edges = nc->generateOrder();
        return this->ordered_edges.cbegin();
    }
Beispiel #3
0
	void feed(const layer<lt>& p){
		neurons[0]=p;
		if(neurons[1].len()!=p.len()) neurons[1]=layer<lt>(p.len());
		hopstep=0;
		generateOrder();
	}