SdfChildrenView< _ChildPolicy, _Predicate, _Adapter > Class Template Reference

Provides a view onto an object's children. More...

Public Types

typedef SdfChildrenView< _ChildPolicy, _Predicate, _Adapter > This
 
typedef _Adapter Adapter
 
typedef _Predicate Predicate
 
typedef _ChildPolicy ChildPolicy
 
typedef ChildPolicy::KeyPolicy KeyPolicy
 
typedef Sdf_Children< ChildPolicy > ChildrenType
 
typedef ChildPolicy::KeyType key_type
 
typedef Adapter::PublicType value_type
 
typedef Sdf_ChildrenViewTraits< This, _InnerIterator, Predicate > _Traits
 
typedef _Traits::const_iterator const_iterator
 
typedef boost::reverse_iterator< const_iterator > const_reverse_iterator
 
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 

Public Member Functions

 SdfChildrenView (const SdfLayerHandle &layer, const SdfPath &path, const TfToken &childrenKey, const KeyPolicy &keyPolicy=KeyPolicy())
 
 SdfChildrenView (const SdfLayerHandle &layer, const SdfPath &path, const TfToken &childrenKey, const Predicate &predicate, const KeyPolicy &keyPolicy=KeyPolicy())
 
 SdfChildrenView (const SdfChildrenView &other)
 
template<class OtherAdapter >
 SdfChildrenView (const SdfChildrenView< ChildPolicy, Predicate, OtherAdapter > &other)
 
SdfChildrenViewoperator= (const SdfChildrenView &other)
 
const_iterator begin () const
 Returns an const_iterator pointing to the beginning of the vector. More...
 
const_iterator end () const
 Returns an const_iterator pointing to the end of the vector. More...
 
const_reverse_iterator rbegin () const
 Returns an const_reverse_iterator pointing to the beginning of the reversed vector. More...
 
const_reverse_iterator rend () const
 Returns an const_reverse_iterator pointing to the end of the reversed vector. More...
 
size_type size () const
 Returns the size of the vector. More...
 
bool empty () const
 Returns true if the vector is empty. More...
 
value_type operator[] (size_type n) const
 Returns the n'th element. More...
 
value_type front () const
 Returns the first element. More...
 
value_type back () const
 Returns the last element. More...
 
const_iterator find (const key_type &x) const
 Finds the element with key x. More...
 
const_iterator find (const value_type &x) const
 Finds element x, if present in this view. More...
 
key_type key (const const_iterator &x) const
 Returns the key for an element. More...
 
key_type key (const value_type &x) const
 Returns the key for a value. More...
 
std::vector< value_type > values () const
 Returns the elements, in order. More...
 
template<typename V >
values_as () const
 Returns the elements, in order. More...
 
std::vector< key_type > keys () const
 Returns the keys for all elements, in order. More...
 
template<typename V >
keys_as () const
 Returns the keys for all elements, in order. More...
 
template<typename Dict >
Dict items_as () const
 Returns the elements as a dictionary. More...
 
bool has (const key_type &x) const
 Returns true if an element with key x is in the container. More...
 
bool has (const value_type &x) const
 Returns true if an element with the same key as x is in the container. More...
 
size_type count (const key_type &x) const
 Returns the number of elements with key x in the container. More...
 
value_type get (const key_type &x) const
 Returns the element with key x or a default constructed value if no such element exists. More...
 
value_type get (const key_type &x, const value_type &fallback) const
 Returns the element with key x or the fallback if no such element exists. More...
 
value_type operator[] (const key_type &x) const
 Returns the element with key x or a default constructed value if no such element exists. More...
 
bool operator== (const This &other) const
 Compares children for equality. More...
 
bool operator!= (const This &other) const
 Compares children for inequality. More...
 
bool IsValid () const
 
ChildrenType & GetChildren ()
 
const Predicate & GetPredicate () const
 

Friends

template<class V , class P , class A >
class SdfChildrenView
 

Detailed Description

template<typename _ChildPolicy, typename _Predicate = SdfChildrenViewTrivialPredicate< typename _ChildPolicy::ValueType>, typename _Adapter = SdfChildrenViewTrivialAdapter< typename _ChildPolicy::ValueType>>
class SdfChildrenView< _ChildPolicy, _Predicate, _Adapter >

Provides a view onto an object's children.

The _ChildPolicy dictates the type of children being viewed by this object. This policy defines the key type by which children are referenced (e.g. a TfToken, or an SdfPath) and the value type of the children objects.

The _Predicate takes a value type argument and returns true if the object should be included in the view and false otherwise.

The _Adapter allows the view to present the children objects as a different type. The _Adapter class must provide functions to convert the children object type defined by _ChildPolicy to the desired public type and vice-versa. See SdfChildrenViewTrivialAdapter for an example. By default, the view presents children objects as the value type defined in _ChildPolicy.

Note that all methods are const, i.e. the children cannot be changed through a view.

Definition at line 171 of file childrenView.h.

Member Function Documentation

◆ back()

value_type back ( ) const
inline

Returns the last element.

Definition at line 339 of file childrenView.h.

◆ begin()

const_iterator begin ( ) const
inline

Returns an const_iterator pointing to the beginning of the vector.

Definition at line 293 of file childrenView.h.

◆ count()

size_type count ( const key_type &  x) const
inline

Returns the number of elements with key x in the container.

Definition at line 424 of file childrenView.h.

◆ empty()

bool empty ( ) const
inline

Returns true if the vector is empty.

Definition at line 322 of file childrenView.h.

◆ end()

const_iterator end ( ) const
inline

Returns an const_iterator pointing to the end of the vector.

Definition at line 299 of file childrenView.h.

◆ find() [1/2]

const_iterator find ( const key_type &  x) const
inline

Finds the element with key x.

Definition at line 344 of file childrenView.h.

◆ find() [2/2]

const_iterator find ( const value_type &  x) const
inline

Finds element x, if present in this view.

Definition at line 357 of file childrenView.h.

◆ front()

value_type front ( ) const
inline

Returns the first element.

Definition at line 334 of file childrenView.h.

◆ get() [1/2]

value_type get ( const key_type &  x) const
inline

Returns the element with key x or a default constructed value if no such element exists.

Definition at line 430 of file childrenView.h.

◆ get() [2/2]

value_type get ( const key_type &  x,
const value_type &  fallback 
) const
inline

Returns the element with key x or the fallback if no such element exists.

Definition at line 440 of file childrenView.h.

◆ has() [1/2]

bool has ( const key_type &  x) const
inline

Returns true if an element with key x is in the container.

Definition at line 413 of file childrenView.h.

◆ has() [2/2]

bool has ( const value_type &  x) const
inline

Returns true if an element with the same key as x is in the container.

Definition at line 419 of file childrenView.h.

◆ items_as()

Dict items_as ( ) const
inline

Returns the elements as a dictionary.

Definition at line 404 of file childrenView.h.

◆ key() [1/2]

key_type key ( const const_iterator &  x) const
inline

Returns the key for an element.

Definition at line 363 of file childrenView.h.

◆ key() [2/2]

key_type key ( const value_type &  x) const
inline

Returns the key for a value.

Definition at line 368 of file childrenView.h.

◆ keys()

std::vector<key_type> keys ( ) const
inline

Returns the keys for all elements, in order.

Definition at line 386 of file childrenView.h.

◆ keys_as()

V keys_as ( ) const
inline

Returns the keys for all elements, in order.

Definition at line 397 of file childrenView.h.

◆ operator!=()

bool operator!= ( const This other) const
inline

Compares children for inequality.

Children are not equal if list edits are not identical or the keys don't contain the same elements.

Definition at line 463 of file childrenView.h.

◆ operator==()

bool operator== ( const This other) const
inline

Compares children for equality.

Children are equal if the list edits are identical and the keys contain the same elements.

Definition at line 456 of file childrenView.h.

◆ operator[]() [1/2]

value_type operator[] ( size_type  n) const
inline

Returns the n'th element.

Definition at line 327 of file childrenView.h.

◆ operator[]() [2/2]

value_type operator[] ( const key_type &  x) const
inline

Returns the element with key x or a default constructed value if no such element exists.

Definition at line 450 of file childrenView.h.

◆ rbegin()

const_reverse_iterator rbegin ( ) const
inline

Returns an const_reverse_iterator pointing to the beginning of the reversed vector.

Definition at line 306 of file childrenView.h.

◆ rend()

const_reverse_iterator rend ( ) const
inline

Returns an const_reverse_iterator pointing to the end of the reversed vector.

Definition at line 312 of file childrenView.h.

◆ size()

size_type size ( ) const
inline

Returns the size of the vector.

Definition at line 317 of file childrenView.h.

◆ values()

std::vector<value_type> values ( ) const
inline

Returns the elements, in order.

Definition at line 373 of file childrenView.h.

◆ values_as()

V values_as ( ) const
inline

Returns the elements, in order.

Definition at line 379 of file childrenView.h.


The documentation for this class was generated from the following file: