Skip to content

Nikita-str/Generic-Stack-On-C

Repository files navigation

Generic-Stack-On-C

tests_[n].[c|h] files, possibly, may help you understand how to use GenericStack.h header.
also check started comment in GenericStack.h file for understand some restriction.

GenericStackSetEmptyConfig.h - help to reset all Config params(just include it)
GenericStackConfigEnum.h - help to see bit flags for GS_CONFIG macro

macros:

  • GENERIC_STACK_TYPE : set stack type
  • GENERIC_STACK_POSTFIX : set struct postfix, need when you use twice struct with the same type
    (or when you use GS.h header in different files q.v. {NOTE:3})
  • GENERIC_STACK_LOG_FILE : set name of log file :|
  • WITHOUT_AUTO_CHECK_VALID : remove all validation functions
  • CANARY_FOR_[STRUCT | DATA] : turn on canary
  • HASH_[STRUCT | DATA] : turn on hash
  • CAPACITY_IS_POW2 : aligns capacity by 2^n
  • NOT_REAL_EMPTY_STACK : it must be uint, set stack capacity when you use new_empty_generic_stack(type)
  • ELEM_DUMPABLE : allow to log stack elems, but for use it you should realise appropriate function
  • COMPARABLE : allow to compare two stack, but for it you should realise appropriate function
  • CANARY_FS_USE_PTR : use struct ptr in struct canaries
  • CANARY_FD_USE_PTR : use data ptr in data canaries | i think it it is pointless i.e. [LEFT_|RIGHT_]CANARIES already has good bits and xor with ptr make many zeros but you can think differently, so do what you want
  • GS_WITH_ERROR_VALIDATE : allow not fall by assert, but use error param for error tracking

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published