22template<
class PROGRAM_CLASS>
class ETeXMemoryHandlerImpl :
23 public TeXMemoryHandlerImpl<PROGRAM_CLASS>
28 ETeXMemoryHandlerImpl(PROGRAM_CLASS& program,
TeXMFApp& texmfapp) :
29 TeXMemoryHandlerImpl<PROGRAM_CLASS>(program, texmfapp)
33 void Allocate(
const std::unordered_map<std::string, int>& userParams)
override
35 TeXMemoryHandlerImpl<PROGRAM_CLASS>::Allocate(userParams);
36 this->AllocateArray(
"eofseen", this->program.eofseen, this->program.maxinopen);
37 this->AllocateArray(
"grpstack", this->program.grpstack, this->program.maxinopen);
38 this->AllocateArray(
"ifstack", this->program.ifstack, this->program.maxinopen);
43 TeXMemoryHandlerImpl<PROGRAM_CLASS>::Free();
44 this->FreeArray(
"eofseen", this->program.eofseen);
45 this->FreeArray(
"grpstack", this->program.grpstack);
46 this->FreeArray(
"ifstack", this->program.ifstack);
51 TeXMemoryHandlerImpl<PROGRAM_CLASS>::Check();
52 MIKTEX_ASSERT_VALID_HEAP_POINTER_OR_NIL(this->program.eofseen);
53 MIKTEX_ASSERT_VALID_HEAP_POINTER_OR_NIL(this->program.grpstack);
54 MIKTEX_ASSERT_VALID_HEAP_POINTER_OR_NIL(this->program.ifstack);