Usd Notice Framework  0.7.0
unf::UnfNotice::StageNoticeImpl< Self > Class Template Reference

Intermediate interface using the CRTP idiom to provide factory and default merging logic. More...

#include <notice.h>

Inheritance diagram for unf::UnfNotice::StageNoticeImpl< Self >:
unf::UnfNotice::StageNotice PXR_NS::TfNotice PXR_NS::TfRefBase

Public Member Functions

PXR_NS::TfRefPtr< Self > Clone () const
 Return a copy of the notice.
 
virtual void Merge (StageNotice &&notice) override
 Interface method for merging StageNotice. More...
 
virtual void Merge (Self &&)
 Base method for merging notice with similar type. More...
 
virtual std::string GetTypeId () const override
 Base method for returing unique type identifier. More...
 
- Public Member Functions inherited from unf::UnfNotice::StageNotice
virtual UNF_API bool IsMergeable () const
 Indicate whether notice from the same type can be consolidated during a transaction. More...
 
virtual void PostProcess ()
 Base method for adding post process after merging data within a transaction. More...
 
PXR_NS::TfRefPtr< StageNoticeClone () const
 Interface method to return a copy of the notice. More...
 

Static Public Member Functions

template<class... Args>
static PXR_NS::TfRefPtr< Self > Create (Args &&... args)
 Create a notice with variadic arguments.
 

Detailed Description

template<class Self>
class unf::UnfNotice::StageNoticeImpl< Self >

Intermediate interface using the CRTP idiom to provide factory and default merging logic.

Typical usage is as follows:

class MyNotice
: public unf::UnfNotice::StageNoticeImpl<MyNotice> {
public:
virtual ~MyNotice() = default;
};
Intermediate interface using the CRTP idiom to provide factory and default merging logic.
Definition: notice.h:146

Member Function Documentation

◆ Merge() [1/2]

template<class Self >
virtual void unf::UnfNotice::StageNoticeImpl< Self >::Merge ( StageNotice &&  )
inlineoverridevirtual

Interface method for merging StageNotice.

Warning
This method should be considered as pure virtual.

Reimplemented from unf::UnfNotice::StageNotice.

◆ Merge() [2/2]

template<class Self >
virtual void unf::UnfNotice::StageNoticeImpl< Self >::Merge ( Self &&  )
inlinevirtual

Base method for merging notice with similar type.

By default, no data is moved.

Reimplemented in unf::UnfNotice::ObjectsChanged, and unf::UnfNotice::LayerMutingChanged.

◆ GetTypeId()

template<class Self >
virtual std::string unf::UnfNotice::StageNoticeImpl< Self >::GetTypeId ( ) const
inlineoverridevirtual

Base method for returing unique type identifier.

By default, the full type name of the notice is returned.

Reimplemented from unf::UnfNotice::StageNotice.


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