7#ifndef PXR_EXEC_VDF_VECTOR_SUBRANGE_ACCESSOR_H
8#define PXR_EXEC_VDF_VECTOR_SUBRANGE_ACCESSOR_H
12#include "pxr/exec/vdf/api.h"
13#include "pxr/exec/vdf/boxedContainer.h"
14#include "pxr/exec/vdf/vectorData.h"
18PXR_NAMESPACE_OPEN_SCOPE
29Vdf_VectorSubrangeAccessorPostFatalError(
30 const std::type_info &haveType,
31 const std::type_info &wantType);
49 const Vdf_VectorData::Info &info)
50 : _boxedRanges(nullptr)
52 const std::type_info &haveType = data->GetTypeInfo();
53 const std::type_info &wantType =
typeid(T);
55 Vdf_VectorSubrangeAccessorPostFatalError(haveType, wantType);
58 if (info.layout == Vdf_VectorData::Info::Layout::Boxed) {
61 _boxedRanges = &boxedContainer->
GetRanges();
70 bool IsBoxed()
const {
87PXR_NAMESPACE_CLOSE_SCOPE
This simple container stores multiple values that flow through the network as a single data flow elem...
const Vdf_BoxedRanges & GetRanges() const
Returns the subranges of boxed data.
Each range represents a logical group of elements stored in a Vdf_BoxedContainer.
Abstract base class for storing data in a VdfVector.
Specialized vector accessor for read access to boxed containers.
Vdf_VectorSubrangeAccessor(Vdf_VectorData *data, const Vdf_VectorData::Info &info)
Constructor.
This class allows for construction of iterable ranges.
An iterator that provides read access to input values using a context.
This class enables iteration over subranges of input values, where each subrange contains values orig...
Safely compare C++ RTTI type structures.
bool TfSafeTypeCompare(const std::type_info &t1, const std::type_info &t2)
Safely compare std::type_info structures.