Blender V4.3
blender::fixed_width_int::IntF< T, S > Struct Template Reference

#include <BLI_fixed_width_int.hh>

Public Member Functions

 IntF ()=default
 
 IntF (int64_t value)
 
 IntF (const UIntF< T, S > &value)
 
 IntF (StringRefNull str, int base=10)
 
 operator int64_t () const
 
 operator double () const
 
 operator float () const
 
 operator UIntF< T, S > () const
 

Public Attributes

std::array< T, S > v
 

Detailed Description

template<typename T, int S>
struct blender::fixed_width_int::IntF< T, S >

A signed fixed width integer. It's mostly the same as #UIntF, but signed.

Definition at line 62 of file BLI_fixed_width_int.hh.

Constructor & Destructor Documentation

◆ IntF() [1/4]

template<typename T , int S>
blender::fixed_width_int::IntF< T, S >::IntF ( )
default

Allow default construction. Note that the value is not initialized in this case.

◆ IntF() [2/4]

template<typename T , int S>
blender::fixed_width_int::IntF< T, S >::IntF ( int64_t value)
inlineexplicit

Construct from a specific integer.

Definition at line 178 of file BLI_fixed_width_int.hh.

References T, and v.

◆ IntF() [3/4]

template<typename T , int S>
blender::fixed_width_int::IntF< T, S >::IntF ( const UIntF< T, S > & value)
inlineexplicit

Support casting unsigned to signed fixed-width-int.

Definition at line 192 of file BLI_fixed_width_int.hh.

◆ IntF() [4/4]

template<typename T , int S>
blender::fixed_width_int::IntF< T, S >::IntF ( StringRefNull str,
int base = 10 )
explicit

Construct from a string.

Definition at line 199 of file BLI_fixed_width_int.hh.

References str.

Member Function Documentation

◆ operator double()

template<typename T , int S>
blender::fixed_width_int::IntF< T, S >::operator double ( ) const
inlineexplicit

Convert to floating point. This may lose precision.

Definition at line 239 of file BLI_fixed_width_int.hh.

References double(), blender::fixed_width_int::is_negative(), result, and v.

◆ operator float()

template<typename T , int S>
blender::fixed_width_int::IntF< T, S >::operator float ( ) const
inlineexplicit

Definition at line 255 of file BLI_fixed_width_int.hh.

References float.

◆ operator int64_t()

template<typename T , int S>
blender::fixed_width_int::IntF< T, S >::operator int64_t ( ) const
inlineexplicit

Convert to a normal integer. Note that this may lose digits.

Definition at line 234 of file BLI_fixed_width_int.hh.

◆ operator UIntF< T, S >()

template<typename T , int S>
blender::fixed_width_int::IntF< T, S >::operator UIntF< T, S > ( ) const
inlineexplicit

Support casting from signed to unsigned fixed-width-int.

Definition at line 260 of file BLI_fixed_width_int.hh.

References result, blender::fixed_width_int::UIntF< T, S >::v, and v.

Member Data Documentation

◆ v

template<typename T , int S>
std::array<T, S> blender::fixed_width_int::IntF< T, S >::v

Array of smaller integers that make up the bigger integer. The first element is the least significant digit.

Definition at line 70 of file BLI_fixed_width_int.hh.

Referenced by blender::fixed_width_int::operator-().


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