Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

28 строки
694 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. ERL_NIF_TERM termstack_save(ErlNifEnv* env, TermStack* stack);
  14. int termstack_restore(ErlNifEnv* env, ERL_NIF_TERM from, TermStack* stack);
  15. void termstack_destroy(TermStack* stack);
  16. void termstack_push(TermStack* stack, ERL_NIF_TERM term);
  17. ERL_NIF_TERM termstack_pop(TermStack* stack);
  18. int termstack_is_empty(TermStack* stack);
  19. #endif