Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
shammath::DiscontinuousIterator< T > Class Template Reference

Discontinuous Iterator will iterate over every values in an integer set in the most discontinuous way possible. More...

#include <shammath/include/shammath/DiscontinuousIterator.hpp>

+ Collaboration diagram for shammath::DiscontinuousIterator< T >:

Public Member Functions

 DiscontinuousIterator (T tmin, T tmax)
 
bool is_done ()
 
next ()
 
get ()
 
void advance_it ()
 

Public Attributes

offset
 
std::bitset< bitcount > max
 
tmax
 
std::bitset< bitcount > current
 
int firstbit
 
bool done
 

Static Public Attributes

static constexpr u32 bitcount = sizeof(T) * 8
 

Detailed Description

template<class T>
class shammath::DiscontinuousIterator< T >

Discontinuous Iterator will iterate over every values in an integer set in the most discontinuous way possible.

Usage :

i32 min = 0;
i32 max = 100;
while (!it.is_done()) {
i32 tmp = it.next();
// do something with the value
}
std::int32_t i32
32 bit integer
Discontinuous Iterator will iterate over every values in an integer set in the most discontinuous way...
Template Parameters
T

Definition at line 45 of file DiscontinuousIterator.hpp.

Constructor & Destructor Documentation

◆ DiscontinuousIterator()

template<class T >
shammath::DiscontinuousIterator< T >::DiscontinuousIterator ( tmin,
tmax 
)
inline

Definition at line 57 of file DiscontinuousIterator.hpp.

Member Function Documentation

◆ advance_it()

template<class T >
void shammath::DiscontinuousIterator< T >::advance_it ( )
inline

Definition at line 79 of file DiscontinuousIterator.hpp.

◆ get()

template<class T >
T shammath::DiscontinuousIterator< T >::get ( )
inline

Definition at line 77 of file DiscontinuousIterator.hpp.

◆ is_done()

template<class T >
bool shammath::DiscontinuousIterator< T >::is_done ( )
inline

Definition at line 69 of file DiscontinuousIterator.hpp.

◆ next()

template<class T >
T shammath::DiscontinuousIterator< T >::next ( )
inline

Definition at line 71 of file DiscontinuousIterator.hpp.

Member Data Documentation

◆ bitcount

template<class T >
constexpr u32 shammath::DiscontinuousIterator< T >::bitcount = sizeof(T) * 8
staticconstexpr

Definition at line 47 of file DiscontinuousIterator.hpp.

◆ current

template<class T >
std::bitset<bitcount> shammath::DiscontinuousIterator< T >::current

Definition at line 53 of file DiscontinuousIterator.hpp.

◆ done

template<class T >
bool shammath::DiscontinuousIterator< T >::done

Definition at line 55 of file DiscontinuousIterator.hpp.

◆ firstbit

template<class T >
int shammath::DiscontinuousIterator< T >::firstbit

Definition at line 54 of file DiscontinuousIterator.hpp.

◆ max

template<class T >
std::bitset<bitcount> shammath::DiscontinuousIterator< T >::max

Definition at line 51 of file DiscontinuousIterator.hpp.

◆ offset

template<class T >
T shammath::DiscontinuousIterator< T >::offset

Definition at line 49 of file DiscontinuousIterator.hpp.

◆ tmax

template<class T >
T shammath::DiscontinuousIterator< T >::tmax

Definition at line 52 of file DiscontinuousIterator.hpp.


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