7 #ifndef PXR_USD_SDF_CHANGE_LIST_H
8 #define PXR_USD_SDF_CHANGE_LIST_H
20 #include <unordered_map>
27 std::pair<SdfLayerHandle, SdfChangeList>
43 SdfChangeList &
operator=(SdfChangeList &&) =
default;
114 iter !=
end; ++iter) {
115 if (iter->first == key) {
140 memset(
this, 0,
sizeof(*
this));
203 return _entries.
begin();
211 return _entries.
end();
215 return _entries.
cend();
219 friend void swap(SdfChangeList &
a, SdfChangeList &
b) {
220 a._entries.
swap(b._entries);
221 a._entriesAccel.swap(b._entriesAccel);
224 Entry &_GetEntry(
SdfPath const &);
229 Entry &_MoveEntry(
SdfPath const &oldPath,
SdfPath const &newPath);
235 void _EraseEntry(
SdfPath const &);
237 void _RebuildAccel();
240 using _AccelTable = std::unordered_map<SdfPath, size_t, SdfPath::Hash>;
241 std::unique_ptr<_AccelTable> _entriesAccel;
242 static constexpr
size_t _AccelThreshold = 64;
250 #endif // PXR_USD_SDF_CHANGE_LIST_H
SDF_API void DidAddPrim(const SdfPath &primPath, bool inert)
SDF_API Entry const & GetEntry(const SdfPath &) const
const_iterator cend() const
SDF_API void DidChangeRelationshipTargets(const SdfPath &relPath)
SDF_API void DidChangePrimSpecializes(const SdfPath &primPath)
std::pair< VtValue, VtValue > InfoChange
SDF_API void DidChangeInfo(const SdfPath &path, const TfToken &key, VtValue &&oldValue, const VtValue &newValue)
SDF_API void DidRemoveProperty(const SdfPath &propPath, bool hasOnlyRequiredFields)
SDF_API void DidChangePrimName(const SdfPath &oldPath, const SdfPath &newPath)
TfSmallVector< std::pair< SdfPath, Entry >, 1 > EntryList
const_iterator cbegin() const
bool didRemovePropertyWithOnlyRequiredFields
GLsizei const GLchar *const * path
InfoChangeVec infoChanged
SDF_API const_iterator FindEntry(SdfPath const &) const
TfSmallVector< std::pair< TfToken, InfoChange >, 3 > InfoChangeVec
SDF_API void DidChangeAttributeConnection(const SdfPath &attrPath)
bool didRemoveNonInertPrim
GLboolean GLboolean GLboolean GLboolean a
SDF_API void DidAddProperty(const SdfPath &propPath, bool hasOnlyRequiredFields)
SDF_API void DidAddTarget(const SdfPath &targetPath)
std::vector< SubLayerChange > subLayerChanges
std::string oldIdentifier
std::pair< std::string, SubLayerChangeType > SubLayerChange
bool didReorderProperties
friend void swap(SdfChangeList &a, SdfChangeList &b)
SDF_API void DidReplaceLayerContent()
SDF_API void DidReorderProperties(const SdfPath &propPath)
bool didChangeRelationshipTargets
bool didAddPropertyWithOnlyRequiredFields
SDF_API void DidRemoveTarget(const SdfPath &targetPath)
SDF_API void DidReorderPrims(const SdfPath &parentPath)
bool didChangeAttributeTimeSamples
bool didChangeResolvedPath
SDF_API void DidReloadLayerContent()
bool didChangePrimReferences
SDF_API void DidChangePropertyName(const SdfPath &oldPath, const SdfPath &newPath)
SDF_API void DidRemovePrim(const SdfPath &primPath, bool inert)
SDF_API void DidChangePrimVariantSets(const SdfPath &primPath)
bool didChangePrimSpecializes
SDF_API void DidChangeAttributeTimeSamples(const SdfPath &attrPath)
SDF_API SdfChangeList & operator=(SdfChangeList const &)
GLboolean GLboolean GLboolean b
EntryList::const_iterator const_iterator
std::vector< std::pair< SdfLayerHandle, SdfChangeList > > SdfLayerChangeListVec
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
SDF_API void DidChangePrimInheritPaths(const SdfPath &primPath)
const_iterator begin() const
const EntryList & GetEntryList() const
SDF_API std::ostream & operator<<(std::ostream &, const SdfChangeList &)
SDF_API void DidChangeLayerIdentifier(const std::string &oldIdentifier)
#define PXR_NAMESPACE_CLOSE_SCOPE
bool didChangePrimInheritPaths
std::pair< SdfPath, Entry > * iterator
SDF_API void DidChangePrimReferences(const SdfPath &primPath)
bool didChangeAttributeConnection
const_iterator cend() const
const_iterator end() const
SDF_API void DidChangeLayerResolvedPath()
const std::pair< TfToken, InfoChange > * const_iterator
bool didChangePrimVariantSets
SDF_API void DidMovePrim(const SdfPath &oldPath, const SdfPath &newPath)
const_iterator cbegin() const
bool HasInfoChange(TfToken const &key) const
SDF_API void DidChangeSublayerPaths(const std::string &subLayerPath, SubLayerChangeType changeType)
void swap(TfSmallVector &rhs)
InfoChangeVec::const_iterator FindInfoChange(TfToken const &key) const