\doxysection{vset.\+h}
\label{a00032_source}\index{vset.h@{vset.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{38 \textcolor{preprocessor}{\#ifndef \_VSET\_H\_}}
\DoxyCodeLine{39 \textcolor{preprocessor}{\#define \_VSET\_H\_}}
\DoxyCodeLine{40 }
\DoxyCodeLine{41 \textcolor{preprocessor}{\#include <maloc/maloc\_base.h>}}
\DoxyCodeLine{42 }
\DoxyCodeLine{43 \textcolor{preprocessor}{\#include <maloc/vnm.h>}}
\DoxyCodeLine{44 \textcolor{preprocessor}{\#include <maloc/vmem.h>}}
\DoxyCodeLine{45 }
\DoxyCodeLine{46 \textcolor{comment}{/*}}
\DoxyCodeLine{47 \textcolor{comment}{ * ***************************************************************************}}
\DoxyCodeLine{48 \textcolor{comment}{ * Class Vset: Parameters and datatypes}}
\DoxyCodeLine{49 \textcolor{comment}{ * ***************************************************************************}}
\DoxyCodeLine{50 \textcolor{comment}{ */}}
\DoxyCodeLine{51 }
\DoxyCodeLine{57 \textcolor{keyword}{struct }sVset \{}
\DoxyCodeLine{58 }
\DoxyCodeLine{60     Vmem *vmem;      }
\DoxyCodeLine{62     \textcolor{keywordtype}{int}  iMadeVmem;  }
\DoxyCodeLine{63 }
\DoxyCodeLine{65     \textcolor{keywordtype}{int} curT;}
\DoxyCodeLine{66 }
\DoxyCodeLine{68     \textcolor{keywordtype}{char} nameT[VMAX\_ARGLEN];}
\DoxyCodeLine{70     \textcolor{keywordtype}{int} sizeT;     }
\DoxyCodeLine{71 }
\DoxyCodeLine{73     \textcolor{keywordtype}{int} numBlocks;  }
\DoxyCodeLine{75     \textcolor{keywordtype}{int} numT;       }
\DoxyCodeLine{77     \textcolor{keywordtype}{int} prtT;        }
\DoxyCodeLine{78 }
\DoxyCodeLine{80     \textcolor{keywordtype}{int} maxObjects;   }
\DoxyCodeLine{82     \textcolor{keywordtype}{int} blockPower;  }
\DoxyCodeLine{84     \textcolor{keywordtype}{int} blockSize; }
\DoxyCodeLine{86     \textcolor{keywordtype}{int} blockMax;  }
\DoxyCodeLine{88     \textcolor{keywordtype}{int} blockModulo;  }
\DoxyCodeLine{89 }
\DoxyCodeLine{91     \textcolor{keywordtype}{char} **table;    }
\DoxyCodeLine{92 }
\DoxyCodeLine{93 \};}
\DoxyCodeLine{94 }
\DoxyCodeLine{100 \textcolor{keyword}{typedef} \textcolor{keyword}{struct }sVset Vset;}
\DoxyCodeLine{101 }
\DoxyCodeLine{102 \textcolor{comment}{/****************************************************************/}}
\DoxyCodeLine{103 \textcolor{comment}{/* Class Vset: Inlineable method (vset.c)                       */}}
\DoxyCodeLine{104 \textcolor{comment}{/****************************************************************/}}
\DoxyCodeLine{105 }
\DoxyCodeLine{106 \textcolor{preprocessor}{\#if !defined(VINLINE\_MALOC)}}
\DoxyCodeLine{115     \textcolor{keywordtype}{int} Vset\_num(Vset *thee);}
\DoxyCodeLine{116 }
\DoxyCodeLine{126     \textcolor{keywordtype}{char} *Vset\_access(Vset *thee, \textcolor{keywordtype}{int} i);}
\DoxyCodeLine{127 }
\DoxyCodeLine{136     \textcolor{keywordtype}{char} *Vset\_create(Vset *thee);}
\DoxyCodeLine{137 }
\DoxyCodeLine{146     \textcolor{keywordtype}{char} *Vset\_first(Vset *thee);}
\DoxyCodeLine{147 }
\DoxyCodeLine{156     \textcolor{keywordtype}{char} *Vset\_last(Vset *thee);}
\DoxyCodeLine{157 }
\DoxyCodeLine{166     \textcolor{keywordtype}{char} *Vset\_next(Vset *thee);}
\DoxyCodeLine{167 }
\DoxyCodeLine{176     \textcolor{keywordtype}{char} *Vset\_prev(Vset *thee);}
\DoxyCodeLine{177 }
\DoxyCodeLine{186     \textcolor{keywordtype}{char} *Vset\_peekFirst(Vset *thee);}
\DoxyCodeLine{187 }
\DoxyCodeLine{196     \textcolor{keywordtype}{char} *Vset\_peekLast(Vset *thee);}
\DoxyCodeLine{197 }
\DoxyCodeLine{206     \textcolor{keywordtype}{void} Vset\_destroy(Vset *thee);}
\DoxyCodeLine{207 \textcolor{preprocessor}{\#else }\textcolor{comment}{/* if defined(VINLINE\_MALOC) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{216 \textcolor{preprocessor}{\#   define Vset\_num(thee) ((thee)-\/>numT)}}
\DoxyCodeLine{217 }
\DoxyCodeLine{227 \textcolor{preprocessor}{\#   define Vset\_access(thee,i) ( \(\backslash\)}}
\DoxyCodeLine{228 \textcolor{preprocessor}{        ((i >= 0) \&\& (i < thee-\/>numT)) \(\backslash\)}}
\DoxyCodeLine{229 \textcolor{preprocessor}{        ? \&((thee)-\/>table[ (i)>>(thee)-\/>blockPower                 ] \(\backslash\)}}
\DoxyCodeLine{230 \textcolor{preprocessor}{                         [ (thee)-\/>sizeT*((i)\&(thee)-\/>blockModulo) ]) \(\backslash\)}}
\DoxyCodeLine{231 \textcolor{preprocessor}{        : VNULL \(\backslash\)}}
\DoxyCodeLine{232 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{233 }
\DoxyCodeLine{242 \textcolor{preprocessor}{\#   define Vset\_create(thee) ( \(\backslash\)}}
\DoxyCodeLine{243 \textcolor{preprocessor}{        (  ((((thee)-\/>numT)>>(thee)-\/>blockPower) >= (thee)-\/>numBlocks) \(\backslash\)}}
\DoxyCodeLine{244 \textcolor{preprocessor}{        || ((((thee)-\/>numT+1)\%(thee)-\/>prtT) == 0) ) \(\backslash\)}}
\DoxyCodeLine{245 \textcolor{preprocessor}{        ? (Vset\_createLast((thee))) \(\backslash\)}}
\DoxyCodeLine{246 \textcolor{preprocessor}{        : (++((thee)-\/>numT), (Vset\_access((thee),(thee)-\/>numT-\/1))) \(\backslash\)}}
\DoxyCodeLine{247 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{248 }
\DoxyCodeLine{257 \textcolor{preprocessor}{\#   define Vset\_first(thee) ( \(\backslash\)}}
\DoxyCodeLine{258 \textcolor{preprocessor}{        (thee)-\/>curT = 0, \(\backslash\)}}
\DoxyCodeLine{259 \textcolor{preprocessor}{        Vset\_access((thee), (thee)-\/>curT) \(\backslash\)}}
\DoxyCodeLine{260 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{261 }
\DoxyCodeLine{270 \textcolor{preprocessor}{\#   define Vset\_last(thee) ( \(\backslash\)}}
\DoxyCodeLine{271 \textcolor{preprocessor}{        (thee)-\/>curT = (thee)-\/>numT-\/1, \(\backslash\)}}
\DoxyCodeLine{272 \textcolor{preprocessor}{        Vset\_access((thee), (thee)-\/>curT) \(\backslash\)}}
\DoxyCodeLine{273 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{274 }
\DoxyCodeLine{283 \textcolor{preprocessor}{\#   define Vset\_next(thee) ( \(\backslash\)}}
\DoxyCodeLine{284 \textcolor{preprocessor}{        (thee)-\/>curT++, \(\backslash\)}}
\DoxyCodeLine{285 \textcolor{preprocessor}{        ((thee)-\/>curT < (thee)-\/>numT) \(\backslash\)}}
\DoxyCodeLine{286 \textcolor{preprocessor}{        ? Vset\_access((thee), (thee)-\/>curT) \(\backslash\)}}
\DoxyCodeLine{287 \textcolor{preprocessor}{        : VNULL \(\backslash\)}}
\DoxyCodeLine{288 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{289 }
\DoxyCodeLine{298 \textcolor{preprocessor}{\#   define Vset\_prev(thee) ( \(\backslash\)}}
\DoxyCodeLine{299 \textcolor{preprocessor}{        (thee)-\/>curT-\/-\/, \(\backslash\)}}
\DoxyCodeLine{300 \textcolor{preprocessor}{        ((thee)-\/>curT >= 0) \(\backslash\)}}
\DoxyCodeLine{301 \textcolor{preprocessor}{        ? Vset\_access((thee), (thee)-\/>curT) \(\backslash\)}}
\DoxyCodeLine{302 \textcolor{preprocessor}{        : VNULL \(\backslash\)}}
\DoxyCodeLine{303 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{304 }
\DoxyCodeLine{313 \textcolor{preprocessor}{\#   define Vset\_peekFirst(thee) ( \(\backslash\)}}
\DoxyCodeLine{314 \textcolor{preprocessor}{        Vset\_access((thee), 0) \(\backslash\)}}
\DoxyCodeLine{315 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{316 }
\DoxyCodeLine{325 \textcolor{preprocessor}{\#   define Vset\_peekLast(thee) ( \(\backslash\)}}
\DoxyCodeLine{326 \textcolor{preprocessor}{        Vset\_access((thee), (thee)-\/>numT-\/1) \(\backslash\)}}
\DoxyCodeLine{327 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{328 }
\DoxyCodeLine{337 \textcolor{preprocessor}{\#   define Vset\_destroy(thee) ( \(\backslash\)}}
\DoxyCodeLine{338 \textcolor{preprocessor}{        ( ((((thee)-\/>numT-\/1)>>(thee)-\/>blockPower) < (thee)-\/>numBlocks-\/1) \(\backslash\)}}
\DoxyCodeLine{339 \textcolor{preprocessor}{          || ((thee)-\/>numT == 1) || ((((thee)-\/>numT)\%(thee)-\/>prtT) == 0) ) \(\backslash\)}}
\DoxyCodeLine{340 \textcolor{preprocessor}{        ? (Vset\_destroyLast((thee))) : (void)(((thee)-\/>numT)-\/-\/) \(\backslash\)}}
\DoxyCodeLine{341 \textcolor{preprocessor}{    )}}
\DoxyCodeLine{342 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* if !defined(VINLINE\_MALOC) */}\textcolor{preprocessor}{}}
\DoxyCodeLine{343 }
\DoxyCodeLine{356 Vset* Vset\_ctor(Vmem *vmem,}
\DoxyCodeLine{357     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *tname, \textcolor{keywordtype}{int} tsize, \textcolor{keywordtype}{int} tmaxNum, \textcolor{keywordtype}{int} ioKey);}
\DoxyCodeLine{358 }
\DoxyCodeLine{367 \textcolor{keywordtype}{void} Vset\_dtor(Vset **thee);}
\DoxyCodeLine{368 }
\DoxyCodeLine{377 \textcolor{keywordtype}{char} *Vset\_createLast(Vset *thee);}
\DoxyCodeLine{378 }
\DoxyCodeLine{387 \textcolor{keywordtype}{void} Vset\_destroyLast(Vset *thee);}
\DoxyCodeLine{388 }
\DoxyCodeLine{397 \textcolor{keywordtype}{void} Vset\_initData(Vset *thee);}
\DoxyCodeLine{398 }
\DoxyCodeLine{407 \textcolor{keywordtype}{void} Vset\_reset(Vset *thee);}
\DoxyCodeLine{408 }
\DoxyCodeLine{422 \textcolor{keywordtype}{void} Vset\_check(Vset *thee,}
\DoxyCodeLine{423     \textcolor{keywordtype}{int} *tnum, \textcolor{keywordtype}{int} *tsize, \textcolor{keywordtype}{int} *tVecUse, \textcolor{keywordtype}{int} *tVecMal, \textcolor{keywordtype}{int} *tVecOhd);}
\DoxyCodeLine{424 }
\DoxyCodeLine{433 \textcolor{keywordtype}{void} Vset\_memChk(Vset *thee);}
\DoxyCodeLine{434 }
\DoxyCodeLine{435 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_VSET\_H\_ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{436 }

\end{DoxyCode}
