fn next(&mut self) -> Option<CacheParameter> {
        let res = cpuid!(EAX_CACHE_PARAMETERS, self.current);
        let cp = CacheParameter {
            eax: res.eax,
            ebx: res.ebx,
            ecx: res.ecx,
            edx: res.edx,
        };

        match cp.cache_type() {
            CacheType::Null => None,
            CacheType::Reserved => None,
            _ => {
                self.current += 1;
                Some(cp)
            }
        }
    }
/// Iterate over all caches for this CPU.
/// Note: cpuid is called every-time we this function to get information
/// about next cache.
Iterate over all caches for this CPU.
Note: cpuid is called every-time we this function to get information
about next cache.
Iterate over all caches for this CPU . Note : cpuid is called every - time we this function to get information about next cache .
fn next(&mut self) -> Option<CacheParameter> {
        let res = cpuid!(EAX_CACHE_PARAMETERS, self.current);
        let cp = CacheParameter {
            eax: res.eax,
            ebx: res.ebx,
            ecx: res.ecx,
            edx: res.edx,
        };
        match cp.cache_type() {
            CacheType::Null => None,
            CacheType::Reserved => None,
            _ => {
                self.current += 1;
                Some(cp)
            }
        }
    }
fn next ( & mut self ) -> Option < CacheParameter > { let res = cpuid ! ( EAX_CACHE_PARAMETERS self current ) ; let cp = CacheParameter { eax : res . eax , ebx : res . ebx , ecx : res . ecx , edx : res . edx , } ; match cp . cache_type ( ) { CacheType :: Null => None , CacheType :: Reserved => None , _ => { self . current += 1 ; Some ( cp ) } } }
Iterate over all caches for this CPU.
Iterate over all caches for this CPU .
&mut self
&mut self