Loading...
Searching...
No Matches
EsfRelationship Class Reference

Holds an implementation of EsfRelationshipInterface in a fixed-size buffer. More...

#include <relationship.h>

+ Inheritance diagram for EsfRelationship:

Public Member Functions

 EsfFixedSizePolymorphicHolder ()=delete
 The default constructor is deleted because instances must always contain a derived object.
 
template<class Derived , class... Args>
 EsfFixedSizePolymorphicHolder (std::in_place_type_t< Derived > derivedTypeHint, Args &&...args)
 Construct a holder emplaced with a new Derived instance.
 
 EsfFixedSizePolymorphicHolder (const This &other)
 Construct a holder containing a derived type instance that is copy- constructed from another holder.
 
 EsfFixedSizePolymorphicHolder (This &&other)
 Construct a holder containing a derived type that is move-constructed from another holder.
 
- Public Member Functions inherited from EsfFixedSizePolymorphicHolder< EsfRelationshipInterface, 48 >
 EsfFixedSizePolymorphicHolder ()=delete
 The default constructor is deleted because instances must always contain a derived object.
 
 EsfFixedSizePolymorphicHolder (std::in_place_type_t< Derived > derivedTypeHint, Args &&...args)
 Construct a holder emplaced with a new Derived instance.
 
 EsfFixedSizePolymorphicHolder (const This &other)
 Construct a holder containing a derived type instance that is copy- constructed from another holder.
 
 EsfFixedSizePolymorphicHolder (This &&other)
 Construct a holder containing a derived type that is move-constructed from another holder.
 
 ~EsfFixedSizePolymorphicHolder ()
 Destroys the derived instance held by this object.
 
Thisoperator= (const This &other)
 Construct a new instance that is copy-constructed from the instance in another holder.
 
Thisoperator= (This &&other)
 Construct a new instance that is move-constructed from the instance in another holder.
 
EsfRelationshipInterfaceGet ()
 
const EsfRelationshipInterfaceGet () const
 
EsfRelationshipInterfaceoperator-> ()
 
const EsfRelationshipInterfaceoperator-> () const
 
EsfRelationshipInterfaceoperator* ()
 
const EsfRelationshipInterfaceoperator* () const
 

Additional Inherited Members

- Public Types inherited from EsfFixedSizePolymorphicHolder< EsfRelationshipInterface, 48 >
using This = EsfFixedSizePolymorphicHolder< EsfRelationshipInterface, BufferSize >
 

Detailed Description

Holds an implementation of EsfRelationshipInterface in a fixed-size buffer.

The buffer is large enough to fit an implementation that wraps a UsdRelationship. The size is specified as an integer literal to prevent introducing Usd as a dependency.

Definition at line 59 of file relationship.h.

Member Function Documentation

◆ EsfFixedSizePolymorphicHolder() [1/4]

The default constructor is deleted because instances must always contain a derived object.

◆ EsfFixedSizePolymorphicHolder() [2/4]

EsfFixedSizePolymorphicHolder ( const This other)
inline

Construct a holder containing a derived type instance that is copy- constructed from another holder.

Definition at line 105 of file fixedSizePolymorphicHolder.h.

◆ EsfFixedSizePolymorphicHolder() [3/4]

EsfFixedSizePolymorphicHolder ( std::in_place_type_t< Derived >  derivedTypeHint,
Args &&...  args 
)

Construct a holder emplaced with a new Derived instance.

The Derived type is deduced from the derivedTypeHint parameter, usually passed as std::in_place_type<Derived>. This is necessary because constructors cannot be invoked with explicit template arguments.

The Args are forwarded to the Derived instance's constructor.

Definition at line 99 of file fixedSizePolymorphicHolder.h.

◆ EsfFixedSizePolymorphicHolder() [4/4]

EsfFixedSizePolymorphicHolder ( This &&  other)
inline

Construct a holder containing a derived type that is move-constructed from another holder.

The moved-from holder continues to hold an object, but that object is moved-from.

Definition at line 115 of file fixedSizePolymorphicHolder.h.


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