SdfListProxy< _TypePolicy > Class Template Reference

Represents a single list of list editing operations. More...

Inherits totally_ordered< SdfListProxy< _TypePolicy >, std::vector< _TypePolicy::value_type > >.

Public Types

typedef _TypePolicy TypePolicy
 
typedef SdfListProxy< TypePolicy > This
 
typedef TypePolicy::value_type value_type
 
typedef std::vector< value_type > value_vector_type
 
typedef _ItemProxy reference
 
typedef _Iterator< This *, _GetHelper > iterator
 
typedef _Iterator< const This *, _ConstGetHelper > const_iterator
 
typedef boost::reverse_iterator< iterator > reverse_iterator
 
typedef boost::reverse_iterator< const_iterator > const_reverse_iterator
 

Public Member Functions

 SdfListProxy (SdfListOpType op)
 Creates a default list proxy object for list operation vector specified op. More...
 
 SdfListProxy (const std::shared_ptr< Sdf_ListEditor< TypePolicy > > &editor, SdfListOpType op)
 Create a new proxy wrapping the list operation vector specified by op in the underlying listEditor. More...
 
iterator begin ()
 Return an iterator to the start of the sequence. More...
 
iterator end ()
 Return an iterator to the end of the sequence. More...
 
reverse_iterator rbegin ()
 Return a reverse iterator to the last item of the sequence. More...
 
reverse_iterator rend ()
 Return a reverse iterator past the start item of the sequence. More...
 
const_iterator begin () const
 Return a const iterator to the start of the sequence. More...
 
const_iterator end () const
 Return a const iterator to the end of the sequence. More...
 
const_reverse_iterator rbegin () const
 Return a const reverse iterator to the last item of the sequence. More...
 
const_reverse_iterator rend () const
 Return a const reverse iterator past the start item of the sequence. More...
 
size_t size () const
 Return the size of the sequence. More...
 
bool empty () const
 Return true if size() == 0. More...
 
reference operator[] (size_t n)
 Return a reference to the item at index n. More...
 
value_type operator[] (size_t n) const
 Return a copy of the item at index n. More...
 
reference front ()
 Return a reference to the item at the front of the sequence. More...
 
reference back ()
 Return a reference to the item at the back of the sequence. More...
 
value_type front () const
 Return a copy of the item at the front of the sequence. More...
 
value_type back () const
 Return a copy of the item at the back of the sequence. More...
 
void push_back (const value_type &elem)
 Append elem to this sequence. More...
 
void pop_back ()
 Remove the last element from this sequence. More...
 
iterator insert (iterator pos, const value_type &x)
 Insert x into this sequence at position pos. More...
 
template<class InputIterator >
void insert (iterator pos, InputIterator f, InputIterator l)
 Insert copies of the elements in [f, l) into this sequence starting at position pos. More...
 
void erase (iterator pos)
 Erase the element at pos. More...
 
void erase (iterator f, iterator l)
 Erase all the elements in the range [f, l). More...
 
void clear ()
 Clear the contents of the sequence. More...
 
void resize (size_t n, const value_type &t=value_type())
 Resize the contents of the sequence. More...
 
 operator value_vector_type () const
 Produce a copy of the contents of this sequence into a vector. More...
 
template<class T2 >
Thisoperator= (const SdfListProxy< T2 > &other)
 Replace all elements in this sequence with the elements in the other sequence. More...
 
Thisoperator= (const value_vector_type &other)
 Replace all elements in this sequence with the given vector. More...
 
template<class Y >
Thisoperator= (const std::vector< Y > &v)
 Replace all elements in this sequence with the given vector. More...
 
template<class T2 >
bool operator== (const SdfListProxy< T2 > &y) const
 Equality comparison. More...
 
template<class T2 >
bool operator!= (const SdfListProxy< T2 > &y) const
 Inequality comparison. More...
 
template<class T2 >
bool operator< (const SdfListProxy< T2 > &y) const
 Less-than comparison. More...
 
template<class T2 >
bool operator<= (const SdfListProxy< T2 > &y) const
 Less-than-or-equal comparison. More...
 
template<class T2 >
bool operator> (const SdfListProxy< T2 > &y) const
 Greater-than comparison. More...
 
template<class T2 >
bool operator>= (const SdfListProxy< T2 > &y) const
 Greater-than-or-equal comparison. More...
 
bool operator== (const value_vector_type &y) const
 Equality comparison. More...
 
bool operator< (const value_vector_type &y) const
 Less-than comparison. More...
 
bool operator> (const value_vector_type &y) const
 Greater-than comparison. More...
 
 operator bool () const
 Explicit bool conversion operator. More...
 
SdfLayerHandle GetLayer () const
 Returns the layer that this list editor belongs to. More...
 
SdfPath GetPath () const
 Returns the path to this list editor's value. More...
 
bool IsExpired () const
 Returns true if the list editor is expired. More...
 
size_t Count (const value_type &value) const
 
size_t Find (const value_type &value) const
 
void Insert (int index, const value_type &value)
 
void Remove (const value_type &value)
 
void Replace (const value_type &oldValue, const value_type &newValue)
 
void Erase (size_t index)
 
void ApplyList (const SdfListProxy &list)
 Applies the edits in the given list to this one. More...
 
void ApplyEditsToList (value_vector_type *vec)
 Apply the edits in this list to the given vec. More...
 
template<class CB >
void ModifyItemEdits (CB callback)
 Modify all edits in this list. More...
 

Friends

class _ItemProxy
 
class _GetHelper
 
class _ConstGetHelper
 
template<class >
class SdfPyWrapListProxy
 

Detailed Description

template<class _TypePolicy>
class SdfListProxy< _TypePolicy >

Represents a single list of list editing operations.

An SdfListProxy represents a single list of list editing operations, making it look like an STL vector (modeling a random access container and back insertion sequence).

Definition at line 59 of file listProxy.h.

Constructor & Destructor Documentation

◆ SdfListProxy() [1/2]

SdfListProxy ( SdfListOpType  op)
inline

Creates a default list proxy object for list operation vector specified op.

This object evaluates to false in a boolean context and all operations on this object have no effect.

Definition at line 209 of file listProxy.h.

◆ SdfListProxy() [2/2]

SdfListProxy ( const std::shared_ptr< Sdf_ListEditor< TypePolicy > > &  editor,
SdfListOpType  op 
)
inline

Create a new proxy wrapping the list operation vector specified by op in the underlying listEditor.

Definition at line 216 of file listProxy.h.

Member Function Documentation

◆ ApplyEditsToList()

void ApplyEditsToList ( value_vector_type *  vec)
inline

Apply the edits in this list to the given vec.

Definition at line 514 of file listProxy.h.

◆ ApplyList()

void ApplyList ( const SdfListProxy< _TypePolicy > &  list)
inline

Applies the edits in the given list to this one.

Definition at line 506 of file listProxy.h.

◆ back() [1/2]

reference back ( )
inline

Return a reference to the item at the back of the sequence.

Definition at line 286 of file listProxy.h.

◆ back() [2/2]

value_type back ( ) const
inline

Return a copy of the item at the back of the sequence.

Definition at line 296 of file listProxy.h.

◆ begin() [1/2]

iterator begin ( )
inline

Return an iterator to the start of the sequence.

Definition at line 224 of file listProxy.h.

◆ begin() [2/2]

const_iterator begin ( ) const
inline

Return a const iterator to the start of the sequence.

Definition at line 242 of file listProxy.h.

◆ clear()

void clear ( )
inline

Clear the contents of the sequence.

Definition at line 334 of file listProxy.h.

◆ empty()

bool empty ( ) const
inline

Return true if size() == 0.

Definition at line 266 of file listProxy.h.

◆ end() [1/2]

iterator end ( )
inline

Return an iterator to the end of the sequence.

Definition at line 228 of file listProxy.h.

◆ end() [2/2]

const_iterator end ( ) const
inline

Return a const iterator to the end of the sequence.

Definition at line 246 of file listProxy.h.

◆ erase() [1/2]

void erase ( iterator  pos)
inline

Erase the element at pos.

Definition at line 324 of file listProxy.h.

◆ erase() [2/2]

void erase ( iterator  f,
iterator  l 
)
inline

Erase all the elements in the range [f, l).

Definition at line 329 of file listProxy.h.

◆ front() [1/2]

reference front ( )
inline

Return a reference to the item at the front of the sequence.

Definition at line 281 of file listProxy.h.

◆ front() [2/2]

value_type front ( ) const
inline

Return a copy of the item at the front of the sequence.

Definition at line 291 of file listProxy.h.

◆ GetLayer()

SdfLayerHandle GetLayer ( ) const
inline

Returns the layer that this list editor belongs to.

Definition at line 439 of file listProxy.h.

◆ GetPath()

SdfPath GetPath ( ) const
inline

Returns the path to this list editor's value.

Definition at line 445 of file listProxy.h.

◆ insert() [1/2]

iterator insert ( iterator  pos,
const value_type &  x 
)
inline

Insert x into this sequence at position pos.

Definition at line 311 of file listProxy.h.

◆ insert() [2/2]

void insert ( iterator  pos,
InputIterator  f,
InputIterator  l 
)
inline

Insert copies of the elements in [f, l) into this sequence starting at position pos.

Definition at line 319 of file listProxy.h.

◆ IsExpired()

bool IsExpired ( ) const
inline

Returns true if the list editor is expired.

Definition at line 451 of file listProxy.h.

◆ ModifyItemEdits()

void ModifyItemEdits ( CB  callback)
inline

Modify all edits in this list.

callback must be a callable that accepts an argument of type value_type and returns a boost::optional<value_type>.

callback is called with every item in the list. If an invalid boost::optional is returned, the item is removed. Otherwise it's replaced with the returned item. If a returned item matches an item that was previously returned, the returned item will be removed.

Definition at line 532 of file listProxy.h.

◆ operator bool()

operator bool ( ) const
inlineexplicit

Explicit bool conversion operator.

The list proxy object converts to true if the list editor is valid, false otherwise.

Definition at line 431 of file listProxy.h.

◆ operator value_vector_type()

operator value_vector_type ( ) const
inline

Produce a copy of the contents of this sequence into a vector.

Definition at line 353 of file listProxy.h.

◆ operator!=()

bool operator!= ( const SdfListProxy< T2 > &  y) const
inline

Inequality comparison.

Definition at line 386 of file listProxy.h.

◆ operator<() [1/2]

bool operator< ( const SdfListProxy< T2 > &  y) const
inline

Less-than comparison.

Definition at line 392 of file listProxy.h.

◆ operator<() [2/2]

bool operator< ( const value_vector_type &  y) const
inline

Less-than comparison.

Definition at line 420 of file listProxy.h.

◆ operator<=()

bool operator<= ( const SdfListProxy< T2 > &  y) const
inline

Less-than-or-equal comparison.

Definition at line 398 of file listProxy.h.

◆ operator=() [1/3]

This& operator= ( const SdfListProxy< T2 > &  other)
inline

Replace all elements in this sequence with the elements in the other sequence.

Definition at line 360 of file listProxy.h.

◆ operator=() [2/3]

This& operator= ( const value_vector_type &  other)
inline

Replace all elements in this sequence with the given vector.

Definition at line 366 of file listProxy.h.

◆ operator=() [3/3]

This& operator= ( const std::vector< Y > &  v)
inline

Replace all elements in this sequence with the given vector.

Definition at line 373 of file listProxy.h.

◆ operator==() [1/2]

bool operator== ( const SdfListProxy< T2 > &  y) const
inline

Equality comparison.

Definition at line 380 of file listProxy.h.

◆ operator==() [2/2]

bool operator== ( const value_vector_type &  y) const
inline

Equality comparison.

Definition at line 415 of file listProxy.h.

◆ operator>() [1/2]

bool operator> ( const SdfListProxy< T2 > &  y) const
inline

Greater-than comparison.

Definition at line 404 of file listProxy.h.

◆ operator>() [2/2]

bool operator> ( const value_vector_type &  y) const
inline

Greater-than comparison.

Definition at line 425 of file listProxy.h.

◆ operator>=()

bool operator>= ( const SdfListProxy< T2 > &  y) const
inline

Greater-than-or-equal comparison.

Definition at line 410 of file listProxy.h.

◆ operator[]() [1/2]

reference operator[] ( size_t  n)
inline

Return a reference to the item at index n.

Definition at line 271 of file listProxy.h.

◆ operator[]() [2/2]

value_type operator[] ( size_t  n) const
inline

Return a copy of the item at index n.

Definition at line 276 of file listProxy.h.

◆ pop_back()

void pop_back ( )
inline

Remove the last element from this sequence.

Definition at line 306 of file listProxy.h.

◆ push_back()

void push_back ( const value_type &  elem)
inline

Append elem to this sequence.

Definition at line 301 of file listProxy.h.

◆ rbegin() [1/2]

reverse_iterator rbegin ( )
inline

Return a reverse iterator to the last item of the sequence.

Definition at line 233 of file listProxy.h.

◆ rbegin() [2/2]

const_reverse_iterator rbegin ( ) const
inline

Return a const reverse iterator to the last item of the sequence.

Definition at line 251 of file listProxy.h.

◆ rend() [1/2]

reverse_iterator rend ( )
inline

Return a reverse iterator past the start item of the sequence.

Definition at line 237 of file listProxy.h.

◆ rend() [2/2]

const_reverse_iterator rend ( ) const
inline

Return a const reverse iterator past the start item of the sequence.

Definition at line 256 of file listProxy.h.

◆ resize()

void resize ( size_t  n,
const value_type &  t = value_type() 
)
inline

Resize the contents of the sequence.

Inserts or erases copies of t at the end such that the size becomes n.

Definition at line 342 of file listProxy.h.

◆ size()

size_t size ( ) const
inline

Return the size of the sequence.

Definition at line 261 of file listProxy.h.


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