OpenVDB  4.0.1
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Tuple< SIZE, T > Class Template Reference

#include <Tuple.h>

Public Types

typedef T value_type
 
typedef T ValueType
 

Public Member Functions

 Tuple ()
 Default ctor. Does nothing. More...
 
 Tuple (Tuple const &src)
 Copy constructor. Used when the class signature matches exactly. More...
 
Tupleoperator= (Tuple const &src)
 Assignment operator. More...
 
template<int src_size, typename src_valtype >
 Tuple (Tuple< src_size, src_valtype > const &src)
 Conversion constructor. More...
 
operator[] (int i) const
 
T & operator[] (int i)
 
std::string str () const
 
void write (std::ostream &os) const
 
void read (std::istream &is)
 
Compatibility

These are mostly for backwards compability with functions that take old-style Vs (which are just arrays).

template<typename S >
void toV (S *v) const
 Copies this tuple into an array of a compatible type. More...
 
value_typeasV ()
 Exposes the internal array. Be careful when using this function. More...
 
value_type const * asV () const
 Exposes the internal array. Be careful when using this function. More...
 

Static Public Attributes

static const int size = SIZE
 

Protected Attributes

mm [SIZE]
 

Detailed Description

template<int SIZE, typename T>
class openvdb::v4_0_1::math::Tuple< SIZE, T >

A base class for homogenous tuple types

Member Typedef Documentation

◆ value_type

typedef T value_type

◆ ValueType

typedef T ValueType

Constructor & Destructor Documentation

◆ Tuple() [1/3]

Tuple ( )
inline

Default ctor. Does nothing.

This is required because declaring a copy (or other) constructor prevents the compiler from synthesizing a default constructor.

◆ Tuple() [2/3]

Tuple ( Tuple< SIZE, T > const &  src)
inline

Copy constructor. Used when the class signature matches exactly.

◆ Tuple() [3/3]

Tuple ( Tuple< src_size, src_valtype > const &  src)
inlineexplicit

Conversion constructor.

Tuples with different value types and different sizes can be interconverted using this member. Converting from a larger tuple results in truncation; converting from a smaller tuple results in the extra data members being zeroed out. This function assumes that the integer 0 is convertible to the tuple's value type.

Member Function Documentation

◆ asV() [1/2]

value_type* asV ( )
inline

Exposes the internal array. Be careful when using this function.

◆ asV() [2/2]

value_type const* asV ( ) const
inline

Exposes the internal array. Be careful when using this function.

◆ operator=()

Tuple& operator= ( Tuple< SIZE, T > const &  src)
inline

Assignment operator.

This is required because declaring a copy (or other) constructor prevents the compiler from synthesizing a default assignment operator.

◆ operator[]() [1/2]

T operator[] ( int  i) const
inline

◆ operator[]() [2/2]

T& operator[] ( int  i)
inline

◆ read()

void read ( std::istream &  is)
inline

◆ str()

std::string str ( ) const
inline
Returns
string representation of Classname

◆ toV()

void toV ( S *  v) const
inline

Copies this tuple into an array of a compatible type.

◆ write()

void write ( std::ostream &  os) const
inline

Member Data Documentation

◆ mm

T mm[SIZE]
protected

◆ size

const int size = SIZE
static

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