Rumba C++ SDK
maquina::PlugModificationTracker Class Reference

#include <PlugModificationTracker.h>

Public Member Functions

MAQUINA_EXPORT PlugModificationTracker (std::initializer_list< const Plug > plugs)
 
MAQUINA_EXPORT PlugModificationTracker ()
 
 PlugModificationTracker (const PlugModificationTracker &)=delete
 
PlugModificationTrackeroperator= (const PlugModificationTracker &)=delete
 
 PlugModificationTracker (PlugModificationTracker &&other)
 
PlugModificationTrackeroperator= (PlugModificationTracker &&other)
 
 ~PlugModificationTracker ()=default
 
MAQUINA_EXPORT bool is_modified () const
 
MAQUINA_EXPORT PartialInvalidationPtr partial_invalidation () const
 
MAQUINA_EXPORT void reset ()
 

Detailed Description

Track plug modifications.

This class monitors plug modifications, in order to track changes in the evaluation graph. Contrary to PlugListener, the effects of a modification are immediately seen by an instance of this class.

Constructor & Destructor Documentation

◆ PlugModificationTracker() [1/4]

MAQUINA_EXPORT maquina::PlugModificationTracker::PlugModificationTracker ( std::initializer_list< const Plug plugs)

Create a modification tracker.

Parameters
plugscollection of plugs to monitor.

◆ PlugModificationTracker() [2/4]

MAQUINA_EXPORT maquina::PlugModificationTracker::PlugModificationTracker ( )
inline

Create an empty modification tracker, that does nothing.

This constructor is useful if you want to have a PlugModificationTracker in your node plugin. Indeed, in your node plugin constructor, you do not have access to all plugs yet and have to wait for on_add_to_document() for example.

◆ PlugModificationTracker() [3/4]

maquina::PlugModificationTracker::PlugModificationTracker ( const PlugModificationTracker )
delete

◆ PlugModificationTracker() [4/4]

maquina::PlugModificationTracker::PlugModificationTracker ( PlugModificationTracker &&  other)
inline

◆ ~PlugModificationTracker()

maquina::PlugModificationTracker::~PlugModificationTracker ( )
default

Member Function Documentation

◆ is_modified()

MAQUINA_EXPORT bool maquina::PlugModificationTracker::is_modified ( ) const

Check if the monitored plugs has been modified since the last call to reset().

◆ operator=() [1/2]

PlugModificationTracker& maquina::PlugModificationTracker::operator= ( const PlugModificationTracker )
delete

◆ operator=() [2/2]

PlugModificationTracker& maquina::PlugModificationTracker::operator= ( PlugModificationTracker &&  other)
inline

◆ partial_invalidation()

MAQUINA_EXPORT PartialInvalidationPtr maquina::PlugModificationTracker::partial_invalidation ( ) const

If modified, returns the current PartialInvalidation object. If the value has been fully invalidated, the returned pointer is null. If the pointer is valid, the object is the union of all the partial invalidations that happend since the last reset. If the tracker is not modified, returns null.

◆ reset()

MAQUINA_EXPORT void maquina::PlugModificationTracker::reset ( )

Reset the modification flag. Immediately after a call to this method, is_modified() returns false.


The documentation for this class was generated from the following file: