24 #ifndef PXR_USD_SDF_CHANGE_LIST_H
25 #define PXR_USD_SDF_CHANGE_LIST_H
37 #include <unordered_map>
44 std::pair<SdfLayerHandle, SdfChangeList>
60 SdfChangeList &
operator=(SdfChangeList &&) =
default;
131 iter !=
end; ++iter) {
132 if (iter->first == key) {
157 memset(
this, 0,
sizeof(*
this));
220 return _entries.
begin();
228 return _entries.
end();
232 return _entries.
cend();
236 friend void swap(SdfChangeList &
a, SdfChangeList &
b) {
237 a._entries.
swap(b._entries);
238 a._entriesAccel.swap(b._entriesAccel);
241 Entry &_GetEntry(
SdfPath const &);
246 Entry &_MoveEntry(
SdfPath const &oldPath,
SdfPath const &newPath);
252 void _EraseEntry(
SdfPath const &);
254 void _RebuildAccel();
257 using _AccelTable = std::unordered_map<SdfPath, size_t, SdfPath::Hash>;
258 std::unique_ptr<_AccelTable> _entriesAccel;
259 static constexpr
size_t _AccelThreshold = 64;
267 #endif // PXR_USD_SDF_CHANGE_LIST_H
SDF_API Entry const & GetEntry(const SdfPath &) const
void DidMovePrim(const SdfPath &oldPath, const SdfPath &newPath)
void DidReorderProperties(const SdfPath &propPath)
const_iterator cend() const
std::pair< VtValue, VtValue > InfoChange
TfSmallVector< std::pair< SdfPath, Entry >, 1 > EntryList
void DidChangePrimInheritPaths(const SdfPath &primPath)
const_iterator cbegin() const
bool didRemovePropertyWithOnlyRequiredFields
void DidAddPrim(const SdfPath &primPath, bool inert)
GLsizei const GLchar *const * string
void DidReloadLayerContent()
GLsizei const GLchar *const * path
InfoChangeVec infoChanged
SDF_API const_iterator FindEntry(SdfPath const &) const
TfSmallVector< std::pair< TfToken, InfoChange >, 3 > InfoChangeVec
bool didRemoveNonInertPrim
GLboolean GLboolean GLboolean GLboolean a
void DidChangeRelationshipTargets(const SdfPath &relPath)
std::vector< SubLayerChange > subLayerChanges
std::string oldIdentifier
std::pair< std::string, SubLayerChangeType > SubLayerChange
bool didReorderProperties
void DidChangeAttributeConnection(const SdfPath &attrPath)
friend void swap(SdfChangeList &a, SdfChangeList &b)
bool didChangeRelationshipTargets
void DidChangePrimReferences(const SdfPath &primPath)
bool didAddPropertyWithOnlyRequiredFields
void DidRemoveProperty(const SdfPath &propPath, bool hasOnlyRequiredFields)
void DidRemovePrim(const SdfPath &primPath, bool inert)
bool didChangeAttributeTimeSamples
bool didChangeResolvedPath
void DidChangeInfo(const SdfPath &path, const TfToken &key, VtValue &&oldValue, const VtValue &newValue)
void DidChangeLayerResolvedPath()
bool didChangePrimReferences
void DidChangeSublayerPaths(const std::string &subLayerPath, SubLayerChangeType changeType)
void DidReorderPrims(const SdfPath &parentPath)
bool didChangePrimSpecializes
SDF_API SdfChangeList & operator=(SdfChangeList const &)
GLboolean GLboolean GLboolean b
void DidAddTarget(const SdfPath &targetPath)
EntryList::const_iterator const_iterator
std::vector< std::pair< SdfLayerHandle, SdfChangeList > > SdfLayerChangeListVec
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
void DidAddProperty(const SdfPath &propPath, bool hasOnlyRequiredFields)
const_iterator begin() const
const EntryList & GetEntryList() const
SDF_API std::ostream & operator<<(std::ostream &, const SdfChangeList &)
#define PXR_NAMESPACE_CLOSE_SCOPE
bool didChangePrimInheritPaths
std::pair< SdfPath, Entry > * iterator
bool didChangeAttributeConnection
const_iterator cend() const
const_iterator end() const
void DidReplaceLayerContent()
void DidChangePrimName(const SdfPath &oldPath, const SdfPath &newPath)
const std::pair< TfToken, InfoChange > * const_iterator
bool didChangePrimVariantSets
void DidChangePrimVariantSets(const SdfPath &primPath)
const_iterator cbegin() const
void DidChangeAttributeTimeSamples(const SdfPath &attrPath)
bool HasInfoChange(TfToken const &key) const
void DidChangePrimSpecializes(const SdfPath &primPath)
void DidChangeLayerIdentifier(const std::string &oldIdentifier)
void DidChangePropertyName(const SdfPath &oldPath, const SdfPath &newPath)
void swap(TfSmallVector &rhs)
void DidRemoveTarget(const SdfPath &targetPath)
InfoChangeVec::const_iterator FindInfoChange(TfToken const &key) const