7#ifndef PXR_EXEC_VDF_CONNECTOR_SPECS_H
8#define PXR_EXEC_VDF_CONNECTOR_SPECS_H
18#include "pxr/base/tf/type.h"
21PXR_NAMESPACE_OPEN_SCOPE
49template <
typename T >
71 : _specs(
std::move(rhs._specs)) {
86 _specs = std::move(rhs._specs);
93 for (
const T *spec : specs._specs) {
170 const TfToken &outName = VdfTokens->empty,
171 bool prerequisite =
false)
174 inName, outName, VdfInputSpec::READ, prerequisite));
185 inName, outName, VdfInputSpec::READWRITE,
false));
202 const TfToken &outName = VdfTokens->empty,
203 bool prerequisite =
false)
207 type, inName, outName, VdfInputSpec::READ, prerequisite));
221 type, inName, outName, VdfInputSpec::READWRITE,
231 return !(*
this == rhs);
273 return !(*
this == rhs);
279PXR_NAMESPACE_CLOSE_SCOPE
void push_back(const value_type &v)
Copy an entry to the back of the vector,.
void reserve(size_type newCapacity)
Reserve storage for newCapacity entries.
size_type size() const
Returns the current size of the vector.
void clear()
Clear the entries in the vector.
Token for efficient comparison, assignment, and hashing of known strings.
TfType represents a dynamic runtime type.
The classes contained in this file are the containers for input and output specs.
size_t GetSize() const
Returns number of connectors in this spec.
~VdfConnectorSpecs()
Destructor.
VdfConnectorSpecs< T > & operator=(VdfConnectorSpecs< T > &&rhs)
Move assignment operator.
const_iterator begin() const
Returns a const_iterator to the beginning of the connectors.
const T * _GetConnectorSpec(int idx) const
Returns connector spec at index idx.
VdfConnectorSpecs< T > & operator=(const VdfConnectorSpecs< T > &rhs)
Copy assignment operator.
VdfConnectorSpecs()
Constructor.
void _AddConnector(T *cs)
Adds a connector to our list.
void Append(const VdfConnectorSpecs< T > &specs)
Appends a set of specs to this one.
VdfConnectorSpecs(const VdfConnectorSpecs< T > &rhs)
Copy constructor.
VdfConnectorSpecs(VdfConnectorSpecs< T > &&rhs)
Move constructor.
void Reserve(size_t numSpecs)
Allocates space for numSpecs connector specs, to avoid re-allocation when adding specs,...
const_iterator end() const
Returns a const_iterator to the end of the connectors.
typename _VectorType::const_iterator const_iterator
Iterator type.
void _ClearSpecs()
Clears list of specs.
A VdfOuptutSpec describes an output connector.
VdfOutputSpecs is a container for VdfOutputSpec objects.
VDF_API bool operator==(const VdfOutputSpecs &rhs) const
Returns true if two OutputSpecs are equal.
VdfOutputSpecs & Connector(const TfType &type, const TfToken &name)
Non-templated version of Connector(), the given type must be registered for runtime type dispatching.
const VdfOutputSpec * GetOutputSpec(int idx) const
Returns connector spec at index idx.
VdfOutputSpecs & Connector(const TfToken &name)
Create an "Out" connector with the given name.