VTK  9.4.20241121
Public Types | List of all members
vtkMatrixUtilities::ScalarTypeExtractor< ContainerT > Struct Template Reference

This class extract the underlying value type of containers. More...

#include <vtkMatrixUtilities.h>

Public Types

using value_type = typename detail::ScalarTypeExtractor< std::is_array< DerefContainer >::value||std::is_pointer< DerefContainer >::value, ContainerT >::value_type
 value_type is the underlying arithmetic type held in ContainerT
 
using RawComponentType = typename detail::ExtractRawComponentType< ContainerT >::Type
 RawComponentType is the type given by operator[] for 1D containers, or operator[][] for 2D containers.
 
using ComponentType = typename std::conditional< std::is_rvalue_reference< RawComponentType >::value, typename std::remove_reference< RawComponentType >::type, RawComponentType >::type
 ComponentType is the RawComponentType dereferenced if it was an rvalue reference.
 

Detailed Description

template<class ContainerT>
struct vtkMatrixUtilities::ScalarTypeExtractor< ContainerT >

This class extract the underlying value type of containers.

It works on multi-dimensional C++ arrays as well as with STL container like that have a value_type typedef.

One can access the value type by fetching ScalarTypeExtractor<ContainerT>::value_type.

Definition at line 153 of file vtkMatrixUtilities.h.

Member Typedef Documentation

◆ value_type

template<class ContainerT >
using vtkMatrixUtilities::ScalarTypeExtractor< ContainerT >::value_type = typename detail::ScalarTypeExtractor< std::is_array<DerefContainer>::value || std::is_pointer<DerefContainer>::value, ContainerT>::value_type

value_type is the underlying arithmetic type held in ContainerT

Definition at line 162 of file vtkMatrixUtilities.h.

◆ RawComponentType

template<class ContainerT >
using vtkMatrixUtilities::ScalarTypeExtractor< ContainerT >::RawComponentType = typename detail::ExtractRawComponentType<ContainerT>::Type

RawComponentType is the type given by operator[] for 1D containers, or operator[][] for 2D containers.

Definition at line 173 of file vtkMatrixUtilities.h.

◆ ComponentType

template<class ContainerT >
using vtkMatrixUtilities::ScalarTypeExtractor< ContainerT >::ComponentType = typename std::conditional<std::is_rvalue_reference<RawComponentType>::value, typename std::remove_reference<RawComponentType>::type, RawComponentType>::type

ComponentType is the RawComponentType dereferenced if it was an rvalue reference.

Definition at line 178 of file vtkMatrixUtilities.h.


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