Skip to content

scram::core::Terminal

Representation of terminal vertices in BDD graphs. More...

#include <bdd.h>

Inherits from scram::core::Vertex< T >, scram::core::IntrusivePtrCast< T, Terminal< T > >, boost::noncopyable

Public Functions

Name
Terminal(bool value)
boolvalue() const

Additional inherited members

Public Functions inherited from scram::core::Vertex< T >

Name
Vertex(int id)
intid() const
boolterminal() const
intuse_count() const
boolunique() const

Protected Functions inherited from scram::core::Vertex< T >

Name
~Vertex()<br>Communicates the destruction via the pointer to the unique table entry if there's any.

Friends inherited from scram::core::Vertex< T >

Name
classWeakIntrusivePtr< T >
voidintrusive_ptr_add_ref(Vertex< T > * ptr) <br>Increases the reference count for new intrusive pointers.
voidintrusive_ptr_release(Vertex< T > * ptr) <br>Decrements the reference count for removed intrusive pointers.

Public Functions inherited from scram::core::IntrusivePtrCast< T, Terminal< T > >

Name
IntrusivePtr< W >Ptr(const IntrusivePtr< Vertex< T > > & vertex)
W &Ref(const IntrusivePtr< Vertex< T > > & vertex)

Detailed Description

cpp
template <class T >
class scram::core::Terminal;

Representation of terminal vertices in BDD graphs.

Template Parameters:

  • T The type of the main functional BDD vertex.

It is expected that in reduced BDD graphs, there are at most two terminal vertices of value 1 or 0. If the BDD graph has attributed edges, only single terminal vertex is expected with value 1.

Public Functions Documentation

function Terminal

cpp
inline explicit Terminal(
    bool value
)

Parameters:

  • value True or False (1 or 0) terminal.

function value

cpp
inline bool value() const

Return: The value of the terminal vertex.

Note: The value serves as an id for this terminal vertex. Non-terminal if-then-else vertices should never have identifications of value 0 or 1.


Updated on 2025-11-11 at 16:51:08 +0000