Loading...
Searching...
No Matches
array.h File Reference
+ Include dependency graph for array.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  VtArray< ELEM >
 Represents an arbitrary dimensional rectangular container class. More...
 

Macros

#define VT_ARRAY_EXTERN_TMPL(unused, elem)
 
#define VTOPERATOR_CPPARRAY(op, Functor)
 
#define VTOPERATOR_CPPSCALAR(op, Functor)
 
#define VTOPERATOR_CPPSCALAR_DOUBLE(op, opName)
 

Functions

template<class HashState , class ELEM >
std::enable_if_t< VtIsHashable< ELEM >()> TfHashAppend (HashState &h, VtArray< ELEM > const &array)
 
template<class ELEM >
std::enable_if< VtIsHashable< ELEM >(), size_t >::type hash_value (VtArray< ELEM > const &array)
 
template<class T >
ARCH_PRAGMA_PUSH ARCH_PRAGMA_FORCING_TO_BOOL ARCH_PRAGMA_UNSAFE_USE_OF_BOOL ARCH_PRAGMA_UNARY_MINUS_ON_UNSIGNED VtArray< T > operator- (VtArray< T > const &a)
 

Macro Definition Documentation

◆ VT_ARRAY_EXTERN_TMPL

#define VT_ARRAY_EXTERN_TMPL ( unused,
elem )
Value:
VT_API_TEMPLATE_CLASS(VtArray< VT_TYPE(elem) >);
Represents an arbitrary dimensional rectangular container class.
Definition array.h:213

Definition at line 1101 of file array.h.

◆ VTOPERATOR_CPPARRAY

#define VTOPERATOR_CPPARRAY ( op,
Functor )

Definition at line 1241 of file array.h.

◆ VTOPERATOR_CPPSCALAR

#define VTOPERATOR_CPPSCALAR ( op,
Functor )

Definition at line 1313 of file array.h.

◆ VTOPERATOR_CPPSCALAR_DOUBLE

#define VTOPERATOR_CPPSCALAR_DOUBLE ( op,
opName )
Value:
template<typename T> \
std::enable_if_t<!std::is_same<T, double>::value, VtArray<T>> \
operator op (double const &scalar, VtArray<T> const &arr) { \
using Op = Vt_ArrayOpHelpScalar<T>; \
VtArray<T> ret(arr.size()); \
std::transform(arr.begin(), arr.end(), ret.begin(), \
[&scalar](T const &aObj) { \
return Op:: opName (scalar, aObj); \
}); \
return ret; \
} \
template<typename T> \
std::enable_if_t<!std::is_same<T, double>::value, VtArray<T>> \
operator op (VtArray<T> const &arr, double const &scalar) { \
using Op = Vt_ArrayOpHelpScalar<T>; \
VtArray<T> ret(arr.size()); \
std::transform(arr.begin(), arr.end(), ret.begin(), \
[&scalar](T const &aObj) { \
return Op:: opName (aObj, scalar); \
}); \
return ret; \
}
size_t size() const
Return the total number of elements in this array.
Definition array.h:474
iterator end()
Returns a non-const iterator to the end of the array.
Definition array.h:368
iterator begin()
Return a non-const iterator to the start of the array.
Definition array.h:365

Definition at line 1354 of file array.h.

Function Documentation

◆ hash_value()

template<class ELEM >
std::enable_if< VtIsHashable< ELEM >(), size_t >::type hash_value ( VtArray< ELEM > const & array)

Definition at line 1115 of file array.h.

◆ operator-()

template<class T >
ARCH_PRAGMA_PUSH ARCH_PRAGMA_FORCING_TO_BOOL ARCH_PRAGMA_UNSAFE_USE_OF_BOOL ARCH_PRAGMA_UNARY_MINUS_ON_UNSIGNED VtArray< T > operator- ( VtArray< T > const & a)

Definition at line 1298 of file array.h.

◆ TfHashAppend()

template<class HashState , class ELEM >
std::enable_if_t< VtIsHashable< ELEM >()> TfHashAppend ( HashState & h,
VtArray< ELEM > const & array )
inline

Definition at line 1107 of file array.h.