Simbody
|
This Array_ helper class is the base class for Array_, extending ArrayViewConst_ to add the ability to modify elements, but not the ability to change size or reallocate. More...
#include <Array.h>
Public Types | |
Typedefs | |
Types required of STL containers, plus index_type which is an extension, and packed_size_type which is an implementation detail. | |
typedef T | value_type |
The type of object stored in this container. | |
typedef X | index_type |
The index type (an extension). | |
typedef T * | pointer |
A writable pointer to a value_type. | |
typedef const T * | const_pointer |
A const pointer to a value_type. | |
typedef T & | reference |
A writable value_type reference. | |
typedef const T & | const_reference |
A const value_type reference. | |
typedef T * | iterator |
A writable iterator for this container (same as pointer here). | |
typedef const T * | const_iterator |
A const iterator for this container (same as const_pointer here). | |
typedef std::reverse_iterator < iterator > | reverse_iterator |
A writable reverse iterator for this container. | |
typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
A const reverse iterator for this container. | |
typedef ArrayIndexTraits< X > ::size_type | size_type |
An integral type suitable for all indices and sizes for this array. | |
typedef ArrayIndexTraits< X > ::difference_type | difference_type |
A signed integral type that can represent the difference between any two legitimate index values for this array. | |
typedef ArrayIndexPackType < size_type > ::packed_size_type | packed_size_type |
The integral type we actually use internally to store size_type values. | |
Public Member Functions | |
Construction, conversion, and destruction | |
Constructors here are limited to those that don't allocate new data, however they can reference writable data. | |
ArrayView_ () | |
Default constructor allocates no heap space and is very fast. | |
ArrayView_ (const ArrayView_ &src) | |
Copy constructor is shallow. | |
ArrayView_ (T *first, const T *last1) | |
Construct from a range of writable memory. | |
template<class A > | |
ArrayView_ (std::vector< T, A > &v) | |
Construct to reference memory owned by a writable std::vector. | |
operator const Array_< T, X > & () const | |
Implicit conversion of const ArrayView_ to const Array_& (zero cost). | |
operator Array_< T, X > & () | |
Implicit conversion of non-const ArrayView_ to Array_& (zero cost). | |
void | disconnect () |
Forward to base class disconnect() method -- clears the handle without doing anything to the data. | |
~ArrayView_ () | |
The destructor just disconnects the array view handle from its data; see ArrayViewConst_<T,X>::disconnect() for more information. | |
Assignment | |
Assignment is permitted only if the source and destination are the same size. The semantics here are different than for a resizeable Array_ object: here the meaning is elementwise assignment rather than destruction followed by copy construction. That is, if our elements are of type T, and the source elements are of type T2, we will use the operator of T that best matches the signature T::operator=(const T2&) to perform the assignments. When the source also has type T, this is just T's copy assignment operator. We never perform any element destruction or construction here. | |
ArrayView_ & | operator= (const ArrayView_ &src) |
Copy assignment; source must be the same size as this array. | |
template<class T2 , class X2 > | |
ArrayView_ & | operator= (const ArrayViewConst_< T2, X2 > &src) |
Assignment from any other array object is allowed as long as the number of elements matches and the types are assignment compatible. | |
template<class T2 , class X2 > | |
ArrayView_ & | operator= (const ArrayView_< T2, X2 > &src) |
Assignment from any other array object is allowed as long as the number of elements matches and the types are assignment compatible. | |
template<class T2 , class X2 > | |
ArrayView_ & | operator= (const Array_< T2, X2 > &src) |
Assignment from any other array object is allowed as long as the number of elements matches and the types are assignment compatible. | |
template<class T2 , class A2 > | |
ArrayView_ & | operator= (const std::vector< T2, A2 > &src) |
Assignment from any std::vector object is allowed as long as the number of elements matches and the types are assignment compatible. | |
ArrayView_ & | operator= (const T &fillValue) |
Fill assignment -- all elements are set to fillValue. | |
ArrayView_ & | fill (const T &fillValue) |
Assign the supplied fill value to each element of this array, using T's copy assignment operator for each element. | |
void | assign (size_type n, const T &fillValue) |
This is the same as fill() but has the usual std::vector signature for compatibility; it will only work if the given number of elements is the same as this array's (fixed) size. | |
template<class T2 > | |
void | assign (const T2 *first, const T2 *last1) |
Assign to this array to make it a copy of the elements in range [first,last1) given by ordinary pointers, provided that the range is the same size as the array. | |
template<class Iter > | |
void | assign (const Iter &first, const Iter &last1) |
Assign to this array to make it a copy of the elements in range [first,last1) given by non-pointer iterators (the pointer case is handled with a specialized assign() variant). | |
Element access | |
These methods provide read and write access to individual elements that are currently present in the array; the ArrayViewConst_<T,X> base class provides the read-only (const) methods. | |
const T & | operator[] (index_type i) const |
Select an element by its index, returning a const reference. | |
T & | operator[] (index_type i) |
Select an element by its index, returning a writable (lvalue) reference. | |
const T & | at (index_type i) const |
Same as operator[] but always range-checked, even in a Release build. | |
T & | at (index_type i) |
Same as operator[] but always range-checked, even in a Release build. | |
const T & | getElt (index_type i) const |
Same as the const form of operator[]; exists to provide a non-operator method for element access in case that's needed. | |
T & | updElt (index_type i) |
Same as the non-const form of operator[]; exists to provide a non-operator method for element access in case that's needed. | |
const T & | front () const |
Return a const reference to the first element in this array, which must not be empty. | |
T & | front () |
Return a writable reference to the first element in this array, which must not be empty. | |
const T & | back () const |
Return a const reference to the last element in this array, which must not be empty. | |
T & | back () |
Return a writable reference to the last element in this array, which must not be empty. | |
ArrayView_ | operator() (index_type index, size_type length) |
Select a contiguous subarray of the elements of this array and create another ArrayView_ that refers only to those element (without copying). | |
ArrayView_ | updSubArray (index_type index, size_type length) |
Same as non-const operator()(index,length); exists to provide non-operator access to that functionality in case it is needed. | |
Iterators | |
These methods deal in iterators, which are STL generalized pointers. For this class, iterators are just ordinary pointers to T, and you may depend on that. By necessity, reverse iterators can't be just pointers; however, they contain an ordinary iterator (i.e. a pointer) that can be obtained by calling the reverse iterator's base() method. | |
const T * | cbegin () const |
Return a const pointer to the first element of this array if any, otherwise end(), which may be null (0) in that case but does not have to be. | |
const T * | begin () const |
The const version of begin() is the same as cbegin(). | |
T * | begin () |
Return a writable pointer to the first element of this array if any, otherwise end(). | |
const T * | cend () const |
Return a const pointer to what would be the element just after the last one in the array; this may be null (0) if there are no elements but doesn't have to be. | |
const T * | end () const |
The const version of end() is the same as cend(). | |
T * | end () |
Return a writable pointer to what would be the element just after the last one in this array. | |
const_reverse_iterator | crbegin () const |
Return a const reverse iterator pointing to the last element in the array or crend() if the array is empty. | |
const_reverse_iterator | rbegin () const |
The const version of rbegin() is the same as crbegin(). | |
reverse_iterator | rbegin () |
Return a writable reverse iterator pointing to the last element in the array or rend() if the array is empty. | |
const_reverse_iterator | crend () const |
Return the past-the-end reverse iterator that tests equal to a reverse iterator that has been incremented past the front of the array. | |
const_reverse_iterator | rend () const |
The const version of rend() is the same as crend(). | |
reverse_iterator | rend () |
Return a writable past-the-end reverse iterator that tests equal to a reverse iterator that has been incremented past the front of the array. | |
const T * | cdata () const |
Return a const pointer to the first element of the array, or possibly (but not necessarily) null (0) if the array is empty. | |
const T * | data () const |
The const version of the data() method is identical to cdata(). | |
T * | data () |
Return a writable pointer to the first allocated element of the array, or a null pointer if no space is associated with the array. | |
Size and capacity | |
These methods report the number of elements (size) or the amount of allocated heap space (capacity) or both but cannot be used to change size. | |
size_type | size () const |
Return the current number of elements stored in this array. | |
size_type | max_size () const |
Return the maximum allowable size for this array. | |
bool | empty () const |
Return true if there are no elements currently stored in this array. | |
size_type | capacity () const |
Return the number of elements this array can currently hold without requiring reallocation. | |
size_type | allocated () const |
Return the amount of heap space owned by this array; this is the same as capacity() for owner arrays but is zero for non-owners. | |
bool | isOwner () const |
Does this array own the data to which it refers? If not, it can't be resized, and the destructor will not free any heap space nor call any element destructors. | |
Related Functions | |
(Note that these are not member functions.) | |
Array_<T> serialization and I/O | |
These methods are at namespace scope but are logically part of the Array classes. These deal with reading and writing Arrays from and to streams, which places an additional requirement on the element type T: the element must support the same operation you are trying to do on the Array as a whole. | |
template<class T , class X > | |
static std::istream & | fillArrayViewFromStream (std::istream &in, ArrayView_< T, X > &out) |
Read in a fixed number of elements from a stream into an ArrayView. | |
template<class T , class X > | |
std::istream & | operator>> (std::istream &in, ArrayView_< T, X > &out) |
Read a (fixed size n) ArrayView_<T> from a stream as a sequence of space- or comma-separated values of type T, optionally delimited by parentheses, square brackets, or curly braces. |
This Array_ helper class is the base class for Array_, extending ArrayViewConst_ to add the ability to modify elements, but not the ability to change size or reallocate.
T | The type of object to be stored in this container. |
X | The type to be used for indexing this container, with default unsigned (not size_t). Any integral type may be used, as well as user types that satisfy the requirements discussed with class ArrayIndexTraits. |
typedef T SimTK::ArrayView_< T, X >::value_type |
The type of object stored in this container.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef X SimTK::ArrayView_< T, X >::index_type |
The index type (an extension).
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef T* SimTK::ArrayView_< T, X >::pointer |
A writable pointer to a value_type.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef const T* SimTK::ArrayView_< T, X >::const_pointer |
A const pointer to a value_type.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef T& SimTK::ArrayView_< T, X >::reference |
A writable value_type reference.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef const T& SimTK::ArrayView_< T, X >::const_reference |
A const value_type reference.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef T* SimTK::ArrayView_< T, X >::iterator |
A writable iterator for this container (same as pointer here).
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef const T* SimTK::ArrayView_< T, X >::const_iterator |
A const iterator for this container (same as const_pointer here).
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef std::reverse_iterator<iterator> SimTK::ArrayView_< T, X >::reverse_iterator |
A writable reverse iterator for this container.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef std::reverse_iterator<const_iterator> SimTK::ArrayView_< T, X >::const_reverse_iterator |
A const reverse iterator for this container.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef ArrayIndexTraits<X>::size_type SimTK::ArrayView_< T, X >::size_type |
An integral type suitable for all indices and sizes for this array.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef ArrayIndexTraits<X>::difference_type SimTK::ArrayView_< T, X >::difference_type |
A signed integral type that can represent the difference between any two legitimate index values for this array.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
typedef ArrayIndexPackType<size_type>::packed_size_type SimTK::ArrayView_< T, X >::packed_size_type |
The integral type we actually use internally to store size_type values.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
SimTK::ArrayView_< T, X >::ArrayView_ | ( | ) | [inline] |
Default constructor allocates no heap space and is very fast.
SimTK::ArrayView_< T, X >::ArrayView_ | ( | const ArrayView_< T, X > & | src | ) | [inline] |
Copy constructor is shallow.
SimTK::ArrayView_< T, X >::ArrayView_ | ( | T * | first, |
const T * | last1 | ||
) | [inline] |
Construct from a range of writable memory.
SimTK::ArrayView_< T, X >::ArrayView_ | ( | std::vector< T, A > & | v | ) | [inline] |
Construct to reference memory owned by a writable std::vector.
SimTK::ArrayView_< T, X >::~ArrayView_ | ( | ) | [inline] |
The destructor just disconnects the array view handle from its data; see ArrayViewConst_<T,X>::disconnect() for more information.
SimTK::ArrayView_< T, X >::operator const Array_< T, X > & | ( | ) | const [inline] |
Implicit conversion of const ArrayView_ to const Array_& (zero cost).
Reimplemented from SimTK::ArrayViewConst_< T, X >.
SimTK::ArrayView_< T, X >::operator Array_< T, X > & | ( | ) | [inline] |
Implicit conversion of non-const ArrayView_ to Array_& (zero cost).
void SimTK::ArrayView_< T, X >::disconnect | ( | ) | [inline] |
Forward to base class disconnect() method -- clears the handle without doing anything to the data.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
ArrayView_& SimTK::ArrayView_< T, X >::operator= | ( | const ArrayView_< T, X > & | src | ) | [inline] |
Copy assignment; source must be the same size as this array.
ArrayView_& SimTK::ArrayView_< T, X >::operator= | ( | const ArrayViewConst_< T2, X2 > & | src | ) | [inline] |
Assignment from any other array object is allowed as long as the number of elements matches and the types are assignment compatible.
ArrayView_& SimTK::ArrayView_< T, X >::operator= | ( | const ArrayView_< T2, X2 > & | src | ) | [inline] |
Assignment from any other array object is allowed as long as the number of elements matches and the types are assignment compatible.
ArrayView_& SimTK::ArrayView_< T, X >::operator= | ( | const Array_< T2, X2 > & | src | ) | [inline] |
Assignment from any other array object is allowed as long as the number of elements matches and the types are assignment compatible.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
ArrayView_& SimTK::ArrayView_< T, X >::operator= | ( | const std::vector< T2, A2 > & | src | ) | [inline] |
Assignment from any std::vector object is allowed as long as the number of elements matches and the types are assignment compatible.
ArrayView_& SimTK::ArrayView_< T, X >::operator= | ( | const T & | fillValue | ) | [inline] |
Fill assignment -- all elements are set to fillValue.
ArrayView_& SimTK::ArrayView_< T, X >::fill | ( | const T & | fillValue | ) | [inline] |
Assign the supplied fill value to each element of this array, using T's copy assignment operator for each element.
Note that this also serves to allow fill from an object whose type T2 is different from T, as long as there is a constructor T(T2) that works since that can be invoked (implicitly or explicitly) to convert the T2 object to type T prior to the call.
Reimplemented in SimTK::Array_< T, X >.
void SimTK::ArrayView_< T, X >::assign | ( | size_type | n, |
const T & | fillValue | ||
) | [inline] |
This is the same as fill() but has the usual std::vector signature for compatibility; it will only work if the given number of elements is the same as this array's (fixed) size.
Reimplemented in SimTK::Array_< T, X >.
void SimTK::ArrayView_< T, X >::assign | ( | const T2 * | first, |
const T2 * | last1 | ||
) | [inline] |
Assign to this array to make it a copy of the elements in range [first,last1) given by ordinary pointers, provided that the range is the same size as the array.
It is not allowed for the source range to include any of the elements currently in the array. The source elements can be of a type T2 that may be the same or different than this array's element type T as long as there is a T=T2 assignment operator that works. Note that although the source arguments are pointers, those may be iterators for some container depending on implementation details of the container. Specifically, any ArrayViewConst_, ArrayView_, or Array_ iterator is an ordinary pointer.
[in] | first | A pointer to the first element to be copied. |
[in] | last1 | A pointer to the element one past the last element to be copied. |
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
void SimTK::ArrayView_< T, X >::assign | ( | const Iter & | first, |
const Iter & | last1 | ||
) | [inline] |
Assign to this array to make it a copy of the elements in range [first,last1) given by non-pointer iterators (the pointer case is handled with a specialized assign() variant).
It is not allowed for this range to include any of the elements currently in the array. The source elements can be of a type T2 that may be the same or different than this array's element type T as long as there is a T=T2 operator that works.
The source must have the same number of elements as the current (fixed) size of this ArrayView. For input_iterators we'll be happy if we get enough elements and won't insist that the input stream is empty after that. For forward_ and bidirectional_iterators we'll copy the elements and complain at the end if there are too few or too many. For random_access_iterators we'll check in advance since we can do that fast.
[in] | first | An iterator pointing to the first element to be copied. |
[in] | last1 | An iterator pointing to the element one past the last element to be copied. |
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T& SimTK::ArrayView_< T, X >::operator[] | ( | index_type | i | ) | const [inline] |
Select an element by its index, returning a const reference.
Note that only a value of the array's templatized index type is allowed (default is unsigned). This will be range-checked in a Debug build but not in Release.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
T& SimTK::ArrayView_< T, X >::operator[] | ( | index_type | i | ) | [inline] |
Select an element by its index, returning a writable (lvalue) reference.
Note that only a value of the Array's templatized index type is allowed (default is unsigned). This will be range-checked in a Debug build but not in Release.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T& SimTK::ArrayView_< T, X >::at | ( | index_type | i | ) | const [inline] |
Same as operator[] but always range-checked, even in a Release build.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
T& SimTK::ArrayView_< T, X >::at | ( | index_type | i | ) | [inline] |
Same as operator[] but always range-checked, even in a Release build.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T& SimTK::ArrayView_< T, X >::getElt | ( | index_type | i | ) | const [inline] |
Same as the const form of operator[]; exists to provide a non-operator method for element access in case that's needed.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
T& SimTK::ArrayView_< T, X >::updElt | ( | index_type | i | ) | [inline] |
Same as the non-const form of operator[]; exists to provide a non-operator method for element access in case that's needed.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T& SimTK::ArrayView_< T, X >::front | ( | ) | const [inline] |
Return a const reference to the first element in this array, which must not be empty.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
T& SimTK::ArrayView_< T, X >::front | ( | ) | [inline] |
Return a writable reference to the first element in this array, which must not be empty.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T& SimTK::ArrayView_< T, X >::back | ( | ) | const [inline] |
Return a const reference to the last element in this array, which must not be empty.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
T& SimTK::ArrayView_< T, X >::back | ( | ) | [inline] |
Return a writable reference to the last element in this array, which must not be empty.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
ArrayView_ SimTK::ArrayView_< T, X >::operator() | ( | index_type | index, |
size_type | length | ||
) | [inline] |
Select a contiguous subarray of the elements of this array and create another ArrayView_ that refers only to those element (without copying).
[in] | index | The index of the first element to be included in the subarray; this can be one past the end of the array if length is zero. |
[in] | length | The length of the subarray to be produced. |
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
ArrayView_ SimTK::ArrayView_< T, X >::updSubArray | ( | index_type | index, |
size_type | length | ||
) | [inline] |
Same as non-const operator()(index,length); exists to provide non-operator access to that functionality in case it is needed.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T* SimTK::ArrayView_< T, X >::cbegin | ( | ) | const [inline] |
Return a const pointer to the first element of this array if any, otherwise end(), which may be null (0) in that case but does not have to be.
This method is from the proposed C++0x standard; there is also an overloaded begin() from the original standard that returns a const pointer.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T* SimTK::ArrayView_< T, X >::begin | ( | ) | const [inline] |
The const version of begin() is the same as cbegin().
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
T* SimTK::ArrayView_< T, X >::begin | ( | ) | [inline] |
Return a writable pointer to the first element of this array if any, otherwise end().
If the array is empty, this may return null (0) but does not have to -- the only thing you can be sure of is that begin() == end() for an empty array.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T* SimTK::ArrayView_< T, X >::cend | ( | ) | const [inline] |
Return a const pointer to what would be the element just after the last one in the array; this may be null (0) if there are no elements but doesn't have to be.
This method is from the proposed C++0x standard; there is also an overloaded end() from the original standard that returns a const pointer.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T* SimTK::ArrayView_< T, X >::end | ( | ) | const [inline] |
The const version of end() is the same as cend().
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
T* SimTK::ArrayView_< T, X >::end | ( | ) | [inline] |
Return a writable pointer to what would be the element just after the last one in this array.
If the array is empty, this may return null (0) but does not have to -- the only thing you can be sure of is that begin()==end() for an empty array.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const_reverse_iterator SimTK::ArrayView_< T, X >::crbegin | ( | ) | const [inline] |
Return a const reverse iterator pointing to the last element in the array or crend() if the array is empty.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const_reverse_iterator SimTK::ArrayView_< T, X >::rbegin | ( | ) | const [inline] |
The const version of rbegin() is the same as crbegin().
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
reverse_iterator SimTK::ArrayView_< T, X >::rbegin | ( | ) | [inline] |
Return a writable reverse iterator pointing to the last element in the array or rend() if the array is empty.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const_reverse_iterator SimTK::ArrayView_< T, X >::crend | ( | ) | const [inline] |
Return the past-the-end reverse iterator that tests equal to a reverse iterator that has been incremented past the front of the array.
You cannot dereference this iterator.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const_reverse_iterator SimTK::ArrayView_< T, X >::rend | ( | ) | const [inline] |
The const version of rend() is the same as crend().
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
reverse_iterator SimTK::ArrayView_< T, X >::rend | ( | ) | [inline] |
Return a writable past-the-end reverse iterator that tests equal to a reverse iterator that has been incremented past the front of the array.
You cannot dereference this iterator.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T* SimTK::ArrayView_< T, X >::cdata | ( | ) | const [inline] |
Return a const pointer to the first element of the array, or possibly (but not necessarily) null (0) if the array is empty.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
const T* SimTK::ArrayView_< T, X >::data | ( | ) | const [inline] |
The const version of the data() method is identical to cdata().
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
T* SimTK::ArrayView_< T, X >::data | ( | ) | [inline] |
Return a writable pointer to the first allocated element of the array, or a null pointer if no space is associated with the array.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
size_type SimTK::ArrayView_< T, X >::size | ( | ) | const [inline] |
Return the current number of elements stored in this array.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
size_type SimTK::ArrayView_< T, X >::max_size | ( | ) | const [inline] |
Return the maximum allowable size for this array.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
bool SimTK::ArrayView_< T, X >::empty | ( | ) | const [inline] |
Return true if there are no elements currently stored in this array.
This is equivalent to the tests begin()==end() or size()==0.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
size_type SimTK::ArrayView_< T, X >::capacity | ( | ) | const [inline] |
Return the number of elements this array can currently hold without requiring reallocation.
The value returned by capacity() is always greater than or equal to size(), even if the data is not owned by this array in which case we have capacity()==size() and the array is not reallocatable.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
size_type SimTK::ArrayView_< T, X >::allocated | ( | ) | const [inline] |
Return the amount of heap space owned by this array; this is the same as capacity() for owner arrays but is zero for non-owners.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
bool SimTK::ArrayView_< T, X >::isOwner | ( | ) | const [inline] |
Does this array own the data to which it refers? If not, it can't be resized, and the destructor will not free any heap space nor call any element destructors.
If the array does not refer to any data it is considered to be an owner since it is resizeable.
Reimplemented from SimTK::ArrayViewConst_< T, X >.
Reimplemented in SimTK::Array_< T, X >, SimTK::Array_< ObservationIx, MarkerIx >, SimTK::Array_< const EventReporter * >, SimTK::Array_< ContactCliqueId, short >, SimTK::Array_< QIndex, FreeQIndex >, SimTK::Array_< Real, AssemblyConditionIndex >, SimTK::Array_< std::string >, SimTK::Array_< int >, SimTK::Array_< AssemblyConditionIndex >, SimTK::Array_< Marker, MarkerIx >, SimTK::Array_< Vertex >, SimTK::Array_< Contact, int >, SimTK::Array_< QIndex >, SimTK::Array_< MarkerIx, ObservationIx >, SimTK::Array_< Face >, SimTK::Array_< Edge >, SimTK::Array_< ContactDetail >, SimTK::Array_< FreeQIndex, QIndex >, SimTK::Array_< Vec3, ObservationIx >, SimTK::Array_< CacheEntryIndex >, SimTK::Array_< AssemblyCondition *, AssemblyConditionIndex >, and SimTK::Array_< T *, size_t >.
static std::istream & fillArrayViewFromStream | ( | std::istream & | in, |
ArrayView_< T, X > & | out | ||
) | [related] |
Read in a fixed number of elements from a stream into an ArrayView.
See fillArrayFromStream() for more information; this works the same way.
std::istream & operator>> | ( | std::istream & | in, |
ArrayView_< T, X > & | out | ||
) | [related] |
Read a (fixed size n) ArrayView_<T> from a stream as a sequence of space- or comma-separated values of type T, optionally delimited by parentheses, square brackets, or curly braces.
If there are no delimiters then we will read size() values and then stop. Otherwise, there must be exactly size() values within the brackets. Each element is read in with its own operator ">>" so this won't work if no such operator is defined for type T.