Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

29 řádky
695 B

  1. // This file is part of Jiffy released under the MIT license.
  2. // See the LICENSE file for more information.
  3. #ifndef TERMSTACK_H
  4. #define TERMSTACK_H
  5. #include "erl_nif.h"
  6. #define SMALL_TERMSTACK_SIZE 16
  7. typedef struct {
  8. ERL_NIF_TERM *elements;
  9. size_t size;
  10. size_t top;
  11. ERL_NIF_TERM __default_elements[SMALL_TERMSTACK_SIZE];
  12. } TermStack;
  13. void termstack_push(TermStack *stack, ERL_NIF_TERM term);
  14. ERL_NIF_TERM termstack_pop(TermStack *stack);
  15. int termstack_is_empty(TermStack *stack);
  16. ERL_NIF_TERM termstack_save(ErlNifEnv *env, TermStack *stack);
  17. int termstack_restore(ErlNifEnv *env, ERL_NIF_TERM from, TermStack *stack);
  18. void termstack_destroy(TermStack *stack);
  19. #endif