Program Listing for File EdgeSwitchingMarkovChainGenerator.hpp

Return to documentation for file (include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp)

#ifndef NETWORKIT_GENERATORS_EDGE_SWITCHING_MARKOV_CHAIN_GENERATOR_HPP_
#define NETWORKIT_GENERATORS_EDGE_SWITCHING_MARKOV_CHAIN_GENERATOR_HPP_

#include <networkit/generators/StaticDegreeSequenceGenerator.hpp>

namespace NetworKit {

class EdgeSwitchingMarkovChainGenerator final : public StaticDegreeSequenceGenerator {
public:
    EdgeSwitchingMarkovChainGenerator(const std::vector<count> &sequence,
                                      bool ignoreIfNotRealizable = false,
                                      count numSwitchesPerEdge = 10);

    Graph generate() override;

private:
    bool ignoreIfNotRealizable;
    count numSwitchesPerEdge;
};

} // namespace NetworKit

#endif // NETWORKIT_GENERATORS_EDGE_SWITCHING_MARKOV_CHAIN_GENERATOR_HPP_