Skip to content

gitPeregrin/bits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

bits

for flags

This header file released for helps use 8 flags in one char variable instead of 8 bool variables.

  • You can use 1+ byte decimal types.
  • You can use _nt_macro to avoid type casts.

Do not use bool to save flags inside!

[EXAMPLE] [NO TYPE CASTS]

...
char flags;
_nt_setbit(&flags, 0, 0b1);
if(_nt_getbit(f,0)) doSomething;
...

[EXAMPLE] [NO TYPE CASTS]

...
long long flags;
#define setFlag(a) _nt_setbit(&flags,3,a)
#define isFlag     _nt_getbit(f,3)
setFlag(1);
if(isFlag) doSomething;
...

[EXAMPLE] [TYPE CASTS]

...
char flags;
setbit( (lint*) &flags, 0, 0b1);
if(getbit( (lint) flags, 0)) doSomething;
...

[EXAMPLE] [TYPE CASTS]

...
int flags;
#define setFlag(a) setbit( (lint*) &flags,3,a)
#define isFlag     getbit( (lint) f,3)
setFlag(1);
if(isFlag) doSomething;
...

About

for flags

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages