EsfAttribute Class Reference

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

+ Inheritance diagram for EsfAttribute:

Public Member Functions

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

Additional Inherited Members

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

Detailed Description

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

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

Definition at line 68 of file attribute.h.

Member Function Documentation

◆ EsfFixedSizePolymorphicHolder() [1/4]

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

◆ EsfFixedSizePolymorphicHolder() [2/4]

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.

◆ EsfFixedSizePolymorphicHolder() [3/4]

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

Definition at line 105 of file fixedSizePolymorphicHolder.h.

◆ EsfFixedSizePolymorphicHolder() [4/4]

EsfFixedSizePolymorphicHolder ( class Derived  ,
class...  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 244 of file fixedSizePolymorphicHolder.h.


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