Class RootManager

Nested Relationships

Nested Types

Class Documentation

class RootManager

Public Types

using Vertex = uint32_t

Public Functions

inline void initialize_roots(const std::vector<Vertex> &roots)
inline auto size(Vertex root) -> SizeProxy
inline auto size(Vertex root) const -> uint32_t
inline auto parity(Vertex root) const -> uint32_t
inline auto is_root(Vertex v) const -> bool
inline auto is_odd_root(Vertex v) const -> bool
inline void merge(Vertex root1, Vertex root2)
inline void remove(Vertex root)
inline auto isempty_odd_root() const -> bool
inline void clear()
inline auto odd_roots() const & -> const tsl::robin_set<Vertex>&
inline auto odd_roots() && -> tsl::robin_set<Vertex>
inline void print(std::ostream &os) const

Friends

friend class SizeProxy
class SizeProxy

Public Functions

inline SizeProxy(RootManager &mgr, Vertex root)
inline operator uint32_t() const
inline auto operator=(int new_size) -> SizeProxy&
inline auto operator++() -> SizeProxy&