graph-tools-php

Форк
0
/
TraverseInterface.php 
28 строк · 852.0 Байт
1
<?php
2

3
namespace Smoren\GraphTools\Traverse\Interfaces;
4

5
use Generator;
6
use Smoren\GraphTools\Filters\Interfaces\TraverseFilterInterface;
7
use Smoren\GraphTools\Models\Interfaces\VertexInterface;
8
use Smoren\GraphTools\Structs\Interfaces\TraverseContextInterface;
9

10
/**
11
 * Interface for graph traversing
12
 * @author Smoren <ofigate@gmail.com>
13
 */
14
interface TraverseInterface
15
{
16
    /**
17
     * Generator to iterate graph vertexes as edge|null => vertex (null for start vertex)
18
     * @param VertexInterface $start start vertex
19
     * @param TraverseFilterInterface $filter traverse filter
20
     * @param int $traverseMode traverse mode (wide or deep)
21
     * @return Generator<TraverseContextInterface>
22
     */
23
    public function generate(
24
        VertexInterface $start,
25
        TraverseFilterInterface $filter,
26
        int $traverseMode
27
    ): Generator;
28
}
29

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.