Promotion classes which provide an interface for elevating and demoting a scalar or VDB type to a higher or lower precision. Integer types preserve their sign. Types promotion are only valid between 8 to 64 bits (long doubles are not supported).  
 More...
#include <openvdb/Types.h>
 | 
| template<size_t Shift = ~0UL>  | 
| using  | Promote = typename TypeT< std::max(size_t(8), std::min(size_t(64),(true?size_t(8)*(sizeof(T)<< Shift):size_t(8)*(sizeof(T)>> Shift))))>::type | 
|   | 
| template<size_t Shift = ~0UL>  | 
| using  | Demote = typename TypeT< std::max(size_t(8), std::min(size_t(64),(false?size_t(8)*(sizeof(T)<< Shift):size_t(8)*(sizeof(T)>> Shift))))>::type | 
|   | 
| using  | Highest = typename TypeT< 64ul >::type | 
|   | 
| using  | Lowest = typename TypeT< 8ul >::type | 
|   | 
| using  | Next = Promote< 1 > | 
|   | 
| using  | Previous = Demote< 1 > | 
|   | 
template<typename T>
struct openvdb::v13_0::PromoteType< T >
Promotion classes which provide an interface for elevating and demoting a scalar or VDB type to a higher or lower precision. Integer types preserve their sign. Types promotion are only valid between 8 to 64 bits (long doubles are not supported). 
 
      
        
          | using Demote =  typename TypeT<std::max(size_t(8), std::min(size_t(64), ( false ? size_t(8)*(sizeof(T)<< Shift ) : size_t(8)*(sizeof(T)>> Shift ))))>::type | 
        
      
 
 
      
        
          | using Highest =  typename TypeT<64ul>::type | 
        
      
 
 
      
        
          | using Lowest =  typename TypeT<8ul>::type | 
        
      
 
 
      
        
          | using Promote =  typename TypeT<std::max(size_t(8), std::min(size_t(64), ( true ? size_t(8)*(sizeof(T)<< Shift ) : size_t(8)*(sizeof(T)>> Shift ))))>::type |