7#ifndef PXR_USD_SDF_CHILDREN_H
8#define PXR_USD_SDF_CHILDREN_H
11#include "pxr/usd/sdf/api.h"
13#include "pxr/usd/sdf/path.h"
17PXR_NAMESPACE_OPEN_SCOPE
32template<
class ChildPolicy>
36 typedef typename ChildPolicy::KeyPolicy KeyPolicy;
37 typedef typename ChildPolicy::KeyType KeyType;
38 typedef typename ChildPolicy::ValueType ValueType;
39 typedef typename ChildPolicy::FieldType FieldType;
40 typedef Sdf_Children<ChildPolicy> This;
46 Sdf_Children(
const Sdf_Children<ChildPolicy> &other);
49 Sdf_Children(
const SdfLayerHandle &layer,
51 const KeyPolicy& keyPolicy = KeyPolicy());
59 size_t GetSize()
const;
63 ValueType GetChild(
size_t index)
const;
67 size_t Find(
const KeyType &key)
const;
72 KeyType FindKey(
const ValueType &value)
const;
76 bool IsEqualTo(
const This &other)
const;
80 bool Copy(
const std::vector<ValueType> & values,
const std::string &type);
84 bool Insert(
const ValueType& value,
size_t index,
const std::string &type);
88 bool Erase(
const KeyType& key,
const std::string &type);
91 void _UpdateChildNames()
const;
94 SdfLayerHandle _layer;
99 mutable std::vector<FieldType> _childNames;
100 mutable bool _childNamesValid;
103PXR_NAMESPACE_CLOSE_SCOPE
A scene description container that can combine with other such containers to form simple component as...
A path value used to locate objects in layers or scenegraphs.
Base class for all Sdf spec classes.
Token for efficient comparison, assignment, and hashing of known strings.