Points&Forces (core)
Software tools facilitating the task of surveying architecture
a_text_libTCL8_wrap.cxx
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 4.0.2
4  *
5  * This file is not intended to be easily readable and contains a number of
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG
8  * interface file instead.
9  * ----------------------------------------------------------------------------- */
10 
11 
12 #ifndef SWIGTCL
13 #define SWIGTCL
14 #endif
15 
16 
17 #ifdef __cplusplus
18 /* SwigValueWrapper is described in swig.swg */
19 template<typename T> class SwigValueWrapper {
20  struct SwigMovePointer {
21  T *ptr;
22  SwigMovePointer(T *p) : ptr(p) { }
23  ~SwigMovePointer() { delete ptr; }
24  SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
25  } pointer;
26  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
27  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
28 public:
29  SwigValueWrapper() : pointer(0) { }
30  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
31  operator T&() const { return *pointer.ptr; }
32  T *operator&() { return pointer.ptr; }
33 };
34 
35 template <typename T> T SwigValueInit() {
36  return T();
37 }
38 #endif
39 
40 /* -----------------------------------------------------------------------------
41  * This section contains generic SWIG labels for method/variable
42  * declarations/attributes, and other compiler dependent labels.
43  * ----------------------------------------------------------------------------- */
44 
45 /* template workaround for compilers that cannot correctly implement the C++ standard */
46 #ifndef SWIGTEMPLATEDISAMBIGUATOR
47 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
48 # define SWIGTEMPLATEDISAMBIGUATOR template
49 # elif defined(__HP_aCC)
50 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
51 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
52 # define SWIGTEMPLATEDISAMBIGUATOR template
53 # else
54 # define SWIGTEMPLATEDISAMBIGUATOR
55 # endif
56 #endif
57 
58 /* inline attribute */
59 #ifndef SWIGINLINE
60 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
61 # define SWIGINLINE inline
62 # else
63 # define SWIGINLINE
64 # endif
65 #endif
66 
67 /* attribute recognised by some compilers to avoid 'unused' warnings */
68 #ifndef SWIGUNUSED
69 # if defined(__GNUC__)
70 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
71 # define SWIGUNUSED __attribute__ ((__unused__))
72 # else
73 # define SWIGUNUSED
74 # endif
75 # elif defined(__ICC)
76 # define SWIGUNUSED __attribute__ ((__unused__))
77 # else
78 # define SWIGUNUSED
79 # endif
80 #endif
81 
82 #ifndef SWIG_MSC_UNSUPPRESS_4505
83 # if defined(_MSC_VER)
84 # pragma warning(disable : 4505) /* unreferenced local function has been removed */
85 # endif
86 #endif
87 
88 #ifndef SWIGUNUSEDPARM
89 # ifdef __cplusplus
90 # define SWIGUNUSEDPARM(p)
91 # else
92 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
93 # endif
94 #endif
95 
96 /* internal SWIG method */
97 #ifndef SWIGINTERN
98 # define SWIGINTERN static SWIGUNUSED
99 #endif
100 
101 /* internal inline SWIG method */
102 #ifndef SWIGINTERNINLINE
103 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
104 #endif
105 
106 /* exporting methods */
107 #if defined(__GNUC__)
108 # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
109 # ifndef GCC_HASCLASSVISIBILITY
110 # define GCC_HASCLASSVISIBILITY
111 # endif
112 # endif
113 #endif
114 
115 #ifndef SWIGEXPORT
116 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
117 # if defined(STATIC_LINKED)
118 # define SWIGEXPORT
119 # else
120 # define SWIGEXPORT __declspec(dllexport)
121 # endif
122 # else
123 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
124 # define SWIGEXPORT __attribute__ ((visibility("default")))
125 # else
126 # define SWIGEXPORT
127 # endif
128 # endif
129 #endif
130 
131 /* calling conventions for Windows */
132 #ifndef SWIGSTDCALL
133 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
134 # define SWIGSTDCALL __stdcall
135 # else
136 # define SWIGSTDCALL
137 # endif
138 #endif
139 
140 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
141 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
142 # define _CRT_SECURE_NO_DEPRECATE
143 #endif
144 
145 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
146 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
147 # define _SCL_SECURE_NO_DEPRECATE
148 #endif
149 
150 /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
151 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
152 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
153 #endif
154 
155 /* Intel's compiler complains if a variable which was never initialised is
156  * cast to void, which is a common idiom which we use to indicate that we
157  * are aware a variable isn't used. So we just silence that warning.
158  * See: https://github.com/swig/swig/issues/192 for more discussion.
159  */
160 #ifdef __INTEL_COMPILER
161 # pragma warning disable 592
162 #endif
163 
164 
165 #include <stdio.h>
166 #include <tcl.h>
167 #include <errno.h>
168 #include <stdlib.h>
169 #include <stdarg.h>
170 #include <ctype.h>
171 
172 /* -----------------------------------------------------------------------------
173  * swigrun.swg
174  *
175  * This file contains generic C API SWIG runtime support for pointer
176  * type checking.
177  * ----------------------------------------------------------------------------- */
178 
179 /* This should only be incremented when either the layout of swig_type_info changes,
180  or for whatever reason, the runtime changes incompatibly */
181 #define SWIG_RUNTIME_VERSION "4"
182 
183 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
184 #ifdef SWIG_TYPE_TABLE
185 # define SWIG_QUOTE_STRING(x) #x
186 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
187 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
188 #else
189 # define SWIG_TYPE_TABLE_NAME
190 #endif
191 
192 /*
193  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
194  creating a static or dynamic library from the SWIG runtime code.
195  In 99.9% of the cases, SWIG just needs to declare them as 'static'.
196 
197  But only do this if strictly necessary, ie, if you have problems
198  with your compiler or suchlike.
199 */
200 
201 #ifndef SWIGRUNTIME
202 # define SWIGRUNTIME SWIGINTERN
203 #endif
204 
205 #ifndef SWIGRUNTIMEINLINE
206 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
207 #endif
208 
209 /* Generic buffer size */
210 #ifndef SWIG_BUFFER_SIZE
211 # define SWIG_BUFFER_SIZE 1024
212 #endif
213 
214 /* Flags for pointer conversions */
215 #define SWIG_POINTER_DISOWN 0x1
216 #define SWIG_CAST_NEW_MEMORY 0x2
217 #define SWIG_POINTER_NO_NULL 0x4
218 
219 /* Flags for new pointer objects */
220 #define SWIG_POINTER_OWN 0x1
221 
222 
223 /*
224  Flags/methods for returning states.
225 
226  The SWIG conversion methods, as ConvertPtr, return an integer
227  that tells if the conversion was successful or not. And if not,
228  an error code can be returned (see swigerrors.swg for the codes).
229 
230  Use the following macros/flags to set or process the returning
231  states.
232 
233  In old versions of SWIG, code such as the following was usually written:
234 
235  if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
236  // success code
237  } else {
238  //fail code
239  }
240 
241  Now you can be more explicit:
242 
243  int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
244  if (SWIG_IsOK(res)) {
245  // success code
246  } else {
247  // fail code
248  }
249 
250  which is the same really, but now you can also do
251 
252  Type *ptr;
253  int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
254  if (SWIG_IsOK(res)) {
255  // success code
256  if (SWIG_IsNewObj(res) {
257  ...
258  delete *ptr;
259  } else {
260  ...
261  }
262  } else {
263  // fail code
264  }
265 
266  I.e., now SWIG_ConvertPtr can return new objects and you can
267  identify the case and take care of the deallocation. Of course that
268  also requires SWIG_ConvertPtr to return new result values, such as
269 
270  int SWIG_ConvertPtr(obj, ptr,...) {
271  if (<obj is ok>) {
272  if (<need new object>) {
273  *ptr = <ptr to new allocated object>;
274  return SWIG_NEWOBJ;
275  } else {
276  *ptr = <ptr to old object>;
277  return SWIG_OLDOBJ;
278  }
279  } else {
280  return SWIG_BADOBJ;
281  }
282  }
283 
284  Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
285  more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
286  SWIG errors code.
287 
288  Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
289  allows to return the 'cast rank', for example, if you have this
290 
291  int food(double)
292  int fooi(int);
293 
294  and you call
295 
296  food(1) // cast rank '1' (1 -> 1.0)
297  fooi(1) // cast rank '0'
298 
299  just use the SWIG_AddCast()/SWIG_CheckState()
300 */
301 
302 #define SWIG_OK (0)
303 #define SWIG_ERROR (-1)
304 #define SWIG_IsOK(r) (r >= 0)
305 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
306 
307 /* The CastRankLimit says how many bits are used for the cast rank */
308 #define SWIG_CASTRANKLIMIT (1 << 8)
309 /* The NewMask denotes the object was created (using new/malloc) */
310 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
311 /* The TmpMask is for in/out typemaps that use temporal objects */
312 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
313 /* Simple returning values */
314 #define SWIG_BADOBJ (SWIG_ERROR)
315 #define SWIG_OLDOBJ (SWIG_OK)
316 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
317 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
318 /* Check, add and del mask methods */
319 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
320 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
321 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
322 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
323 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
324 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
325 
326 /* Cast-Rank Mode */
327 #if defined(SWIG_CASTRANK_MODE)
328 # ifndef SWIG_TypeRank
329 # define SWIG_TypeRank unsigned long
330 # endif
331 # ifndef SWIG_MAXCASTRANK /* Default cast allowed */
332 # define SWIG_MAXCASTRANK (2)
333 # endif
334 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
335 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
336 SWIGINTERNINLINE int SWIG_AddCast(int r) {
337  return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
338 }
340  return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
341 }
342 #else /* no cast-rank mode */
343 # define SWIG_AddCast(r) (r)
344 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
345 #endif
346 
347 
348 #include <string.h>
349 
350 #ifdef __cplusplus
351 extern "C" {
352 #endif
353 
354 typedef void *(*swig_converter_func)(void *, int *);
355 typedef struct swig_type_info *(*swig_dycast_func)(void **);
356 
357 /* Structure to store information on one type */
358 typedef struct swig_type_info {
359  const char *name; /* mangled name of this type */
360  const char *str; /* human readable name of this type */
361  swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
362  struct swig_cast_info *cast; /* linked list of types that can cast into this type */
363  void *clientdata; /* language specific type data */
364  int owndata; /* flag if the structure owns the clientdata */
366 
367 /* Structure to store a type and conversion function used for casting */
368 typedef struct swig_cast_info {
369  swig_type_info *type; /* pointer to type that is equivalent to this type */
370  swig_converter_func converter; /* function to cast the void pointers */
371  struct swig_cast_info *next; /* pointer to next cast in linked list */
372  struct swig_cast_info *prev; /* pointer to the previous cast */
374 
375 /* Structure used to store module information
376  * Each module generates one structure like this, and the runtime collects
377  * all of these structures and stores them in a circularly linked list.*/
378 typedef struct swig_module_info {
379  swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
380  size_t size; /* Number of types in this module */
381  struct swig_module_info *next; /* Pointer to next element in circularly linked list */
382  swig_type_info **type_initial; /* Array of initially generated type structures */
383  swig_cast_info **cast_initial; /* Array of initially generated casting structures */
384  void *clientdata; /* Language specific module data */
386 
387 /*
388  Compare two type names skipping the space characters, therefore
389  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
390 
391  Return 0 when the two name types are equivalent, as in
392  strncmp, but skipping ' '.
393 */
394 SWIGRUNTIME int
395 SWIG_TypeNameComp(const char *f1, const char *l1,
396  const char *f2, const char *l2) {
397  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
398  while ((*f1 == ' ') && (f1 != l1)) ++f1;
399  while ((*f2 == ' ') && (f2 != l2)) ++f2;
400  if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
401  }
402  return (int)((l1 - f1) - (l2 - f2));
403 }
404 
405 /*
406  Check type equivalence in a name list like <name1>|<name2>|...
407  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
408 */
409 SWIGRUNTIME int
410 SWIG_TypeCmp(const char *nb, const char *tb) {
411  int equiv = 1;
412  const char* te = tb + strlen(tb);
413  const char* ne = nb;
414  while (equiv != 0 && *ne) {
415  for (nb = ne; *ne; ++ne) {
416  if (*ne == '|') break;
417  }
418  equiv = SWIG_TypeNameComp(nb, ne, tb, te);
419  if (*ne) ++ne;
420  }
421  return equiv;
422 }
423 
424 /*
425  Check type equivalence in a name list like <name1>|<name2>|...
426  Return 0 if not equal, 1 if equal
427 */
428 SWIGRUNTIME int
429 SWIG_TypeEquiv(const char *nb, const char *tb) {
430  return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
431 }
432 
433 /*
434  Check the typename
435 */
437 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
438  if (ty) {
439  swig_cast_info *iter = ty->cast;
440  while (iter) {
441  if (strcmp(iter->type->name, c) == 0) {
442  if (iter == ty->cast)
443  return iter;
444  /* Move iter to the top of the linked list */
445  iter->prev->next = iter->next;
446  if (iter->next)
447  iter->next->prev = iter->prev;
448  iter->next = ty->cast;
449  iter->prev = 0;
450  if (ty->cast) ty->cast->prev = iter;
451  ty->cast = iter;
452  return iter;
453  }
454  iter = iter->next;
455  }
456  }
457  return 0;
458 }
459 
460 /*
461  Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
462 */
465  if (ty) {
466  swig_cast_info *iter = ty->cast;
467  while (iter) {
468  if (iter->type == from) {
469  if (iter == ty->cast)
470  return iter;
471  /* Move iter to the top of the linked list */
472  iter->prev->next = iter->next;
473  if (iter->next)
474  iter->next->prev = iter->prev;
475  iter->next = ty->cast;
476  iter->prev = 0;
477  if (ty->cast) ty->cast->prev = iter;
478  ty->cast = iter;
479  return iter;
480  }
481  iter = iter->next;
482  }
483  }
484  return 0;
485 }
486 
487 /*
488  Cast a pointer up an inheritance hierarchy
489 */
490 SWIGRUNTIMEINLINE void *
491 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
492  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
493 }
494 
495 /*
496  Dynamic pointer casting. Down an inheritance hierarchy
497 */
500  swig_type_info *lastty = ty;
501  if (!ty || !ty->dcast) return ty;
502  while (ty && (ty->dcast)) {
503  ty = (*ty->dcast)(ptr);
504  if (ty) lastty = ty;
505  }
506  return lastty;
507 }
508 
509 /*
510  Return the name associated with this type
511 */
512 SWIGRUNTIMEINLINE const char *
514  return ty->name;
515 }
516 
517 /*
518  Return the pretty name associated with this type,
519  that is an unmangled type name in a form presentable to the user.
520 */
521 SWIGRUNTIME const char *
523  /* The "str" field contains the equivalent pretty names of the
524  type, separated by vertical-bar characters. We choose
525  to print the last name, as it is often (?) the most
526  specific. */
527  if (!type) return NULL;
528  if (type->str != NULL) {
529  const char *last_name = type->str;
530  const char *s;
531  for (s = type->str; *s; s++)
532  if (*s == '|') last_name = s+1;
533  return last_name;
534  }
535  else
536  return type->name;
537 }
538 
539 /*
540  Set the clientdata field for a type
541 */
542 SWIGRUNTIME void
544  swig_cast_info *cast = ti->cast;
545  /* if (ti->clientdata == clientdata) return; */
546  ti->clientdata = clientdata;
547 
548  while (cast) {
549  if (!cast->converter) {
550  swig_type_info *tc = cast->type;
551  if (!tc->clientdata) {
553  }
554  }
555  cast = cast->next;
556  }
557 }
558 SWIGRUNTIME void
561  ti->owndata = 1;
562 }
563 
564 /*
565  Search for a swig_type_info structure only by mangled name
566  Search is a O(log #types)
567 
568  We start searching at module start, and finish searching when start == end.
569  Note: if start == end at the beginning of the function, we go all the way around
570  the circular list.
571 */
574  swig_module_info *end,
575  const char *name) {
576  swig_module_info *iter = start;
577  do {
578  if (iter->size) {
579  size_t l = 0;
580  size_t r = iter->size - 1;
581  do {
582  /* since l+r >= 0, we can (>> 1) instead (/ 2) */
583  size_t i = (l + r) >> 1;
584  const char *iname = iter->types[i]->name;
585  if (iname) {
586  int compare = strcmp(name, iname);
587  if (compare == 0) {
588  return iter->types[i];
589  } else if (compare < 0) {
590  if (i) {
591  r = i - 1;
592  } else {
593  break;
594  }
595  } else if (compare > 0) {
596  l = i + 1;
597  }
598  } else {
599  break; /* should never happen */
600  }
601  } while (l <= r);
602  }
603  iter = iter->next;
604  } while (iter != end);
605  return 0;
606 }
607 
608 /*
609  Search for a swig_type_info structure for either a mangled name or a human readable name.
610  It first searches the mangled names of the types, which is a O(log #types)
611  If a type is not found it then searches the human readable names, which is O(#types).
612 
613  We start searching at module start, and finish searching when start == end.
614  Note: if start == end at the beginning of the function, we go all the way around
615  the circular list.
616 */
619  swig_module_info *end,
620  const char *name) {
621  /* STEP 1: Search the name field using binary search */
622  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
623  if (ret) {
624  return ret;
625  } else {
626  /* STEP 2: If the type hasn't been found, do a complete search
627  of the str field (the human readable name) */
628  swig_module_info *iter = start;
629  do {
630  size_t i = 0;
631  for (; i < iter->size; ++i) {
632  if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
633  return iter->types[i];
634  }
635  iter = iter->next;
636  } while (iter != end);
637  }
638 
639  /* neither found a match */
640  return 0;
641 }
642 
643 /*
644  Pack binary data into a string
645 */
646 SWIGRUNTIME char *
647 SWIG_PackData(char *c, void *ptr, size_t sz) {
648  static const char hex[17] = "0123456789abcdef";
649  const unsigned char *u = (unsigned char *) ptr;
650  const unsigned char *eu = u + sz;
651  for (; u != eu; ++u) {
652  unsigned char uu = *u;
653  *(c++) = hex[(uu & 0xf0) >> 4];
654  *(c++) = hex[uu & 0xf];
655  }
656  return c;
657 }
658 
659 /*
660  Unpack binary data from a string
661 */
662 SWIGRUNTIME const char *
663 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
664  unsigned char *u = (unsigned char *) ptr;
665  const unsigned char *eu = u + sz;
666  for (; u != eu; ++u) {
667  char d = *(c++);
668  unsigned char uu;
669  if ((d >= '0') && (d <= '9'))
670  uu = (unsigned char)((d - '0') << 4);
671  else if ((d >= 'a') && (d <= 'f'))
672  uu = (unsigned char)((d - ('a'-10)) << 4);
673  else
674  return (char *) 0;
675  d = *(c++);
676  if ((d >= '0') && (d <= '9'))
677  uu |= (unsigned char)(d - '0');
678  else if ((d >= 'a') && (d <= 'f'))
679  uu |= (unsigned char)(d - ('a'-10));
680  else
681  return (char *) 0;
682  *u = uu;
683  }
684  return c;
685 }
686 
687 /*
688  Pack 'void *' into a string buffer.
689 */
690 SWIGRUNTIME char *
691 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
692  char *r = buff;
693  if ((2*sizeof(void *) + 2) > bsz) return 0;
694  *(r++) = '_';
695  r = SWIG_PackData(r,&ptr,sizeof(void *));
696  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
697  strcpy(r,name);
698  return buff;
699 }
700 
701 SWIGRUNTIME const char *
702 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
703  if (*c != '_') {
704  if (strcmp(c,"NULL") == 0) {
705  *ptr = (void *) 0;
706  return name;
707  } else {
708  return 0;
709  }
710  }
711  return SWIG_UnpackData(++c,ptr,sizeof(void *));
712 }
713 
714 SWIGRUNTIME char *
715 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
716  char *r = buff;
717  size_t lname = (name ? strlen(name) : 0);
718  if ((2*sz + 2 + lname) > bsz) return 0;
719  *(r++) = '_';
720  r = SWIG_PackData(r,ptr,sz);
721  if (lname) {
722  strncpy(r,name,lname+1);
723  } else {
724  *r = 0;
725  }
726  return buff;
727 }
728 
729 SWIGRUNTIME const char *
730 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
731  if (*c != '_') {
732  if (strcmp(c,"NULL") == 0) {
733  memset(ptr,0,sz);
734  return name;
735  } else {
736  return 0;
737  }
738  }
739  return SWIG_UnpackData(++c,ptr,sz);
740 }
741 
742 #ifdef __cplusplus
743 }
744 #endif
745 
746 /* Errors in SWIG */
747 #define SWIG_UnknownError -1
748 #define SWIG_IOError -2
749 #define SWIG_RuntimeError -3
750 #define SWIG_IndexError -4
751 #define SWIG_TypeError -5
752 #define SWIG_DivisionByZero -6
753 #define SWIG_OverflowError -7
754 #define SWIG_SyntaxError -8
755 #define SWIG_ValueError -9
756 #define SWIG_SystemError -10
757 #define SWIG_AttributeError -11
758 #define SWIG_MemoryError -12
759 #define SWIG_NullReferenceError -13
760 
761 
762 
763 /* -----------------------------------------------------------------------------
764  * error manipulation
765  * ----------------------------------------------------------------------------- */
766 
767 SWIGINTERN const char*
769  const char* type = 0;
770  switch(code) {
771  case SWIG_MemoryError:
772  type = "MemoryError";
773  break;
774  case SWIG_IOError:
775  type = "IOError";
776  break;
777  case SWIG_RuntimeError:
778  type = "RuntimeError";
779  break;
780  case SWIG_IndexError:
781  type = "IndexError";
782  break;
783  case SWIG_TypeError:
784  type = "TypeError";
785  break;
786  case SWIG_DivisionByZero:
787  type = "ZeroDivisionError";
788  break;
789  case SWIG_OverflowError:
790  type = "OverflowError";
791  break;
792  case SWIG_SyntaxError:
793  type = "SyntaxError";
794  break;
795  case SWIG_ValueError:
796  type = "ValueError";
797  break;
798  case SWIG_SystemError:
799  type = "SystemError";
800  break;
801  case SWIG_AttributeError:
802  type = "AttributeError";
803  break;
804  default:
805  type = "RuntimeError";
806  }
807  return type;
808 }
809 
810 
811 SWIGINTERN void
812 SWIG_Tcl_SetErrorObj(Tcl_Interp *interp, const char *ctype, Tcl_Obj *obj)
813 {
814  Tcl_ResetResult(interp);
815  Tcl_SetObjResult(interp, obj);
816  Tcl_SetErrorCode(interp, "SWIG", ctype, NULL);
817 }
818 
819 SWIGINTERN void
820 SWIG_Tcl_SetErrorMsg(Tcl_Interp *interp, const char *ctype, const char *mesg)
821 {
822  Tcl_ResetResult(interp);
823  Tcl_SetErrorCode(interp, "SWIG", ctype, NULL);
824  Tcl_AppendResult(interp, ctype, " ", mesg, NULL);
825  /*
826  Tcl_AddErrorInfo(interp, ctype);
827  Tcl_AddErrorInfo(interp, " ");
828  Tcl_AddErrorInfo(interp, mesg);
829  */
830 }
831 
832 SWIGINTERNINLINE void
833 SWIG_Tcl_AddErrorMsg(Tcl_Interp *interp, const char* mesg)
834 {
835  Tcl_AddErrorInfo(interp, mesg);
836 }
837 
838 
839 
840 /* -----------------------------------------------------------------------------
841  * SWIG API. Portion that goes into the runtime
842  * ----------------------------------------------------------------------------- */
843 #ifdef __cplusplus
844 extern "C" {
845 #endif
846 
847 /* -----------------------------------------------------------------------------
848  * Constant declarations
849  * ----------------------------------------------------------------------------- */
850 
851 /* Constant Types */
852 #define SWIG_TCL_POINTER 4
853 #define SWIG_TCL_BINARY 5
854 
855 /* Constant information structure */
856 typedef struct swig_const_info {
857  int type;
858  const char *name;
859  long lvalue;
860  double dvalue;
861  void *pvalue;
864 
865 typedef int (*swig_wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
866 typedef int (*swig_wrapper_func)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
867 typedef char *(*swig_variable_func)(ClientData, Tcl_Interp *, char *, char *, int);
868 typedef void (*swig_delete_func)(ClientData);
869 
870 typedef struct swig_method {
871  const char *name;
874 
875 typedef struct swig_attribute {
876  const char *name;
880 
881 typedef struct swig_class {
882  const char *name;
885  void (*destructor)(void *);
888  struct swig_class **bases;
889  const char **base_names;
891  Tcl_HashTable hashtable;
893 
894 typedef struct swig_instance {
895  Tcl_Obj *thisptr;
896  void *thisvalue;
898  int destroy;
899  Tcl_Command cmdtok;
901 
902 /* Structure for command table */
903 typedef struct {
904  const char *name;
905  int (*wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
906  ClientData clientdata;
908 
909 /* Structure for variable linking table */
910 typedef struct {
911  const char *name;
912  void *addr;
913  char * (*get)(ClientData, Tcl_Interp *, char *, char *, int);
914  char * (*set)(ClientData, Tcl_Interp *, char *, char *, int);
915 } swig_var_info;
916 
917 
918 /* -----------------------------------------------------------------------------*
919  * Install a constant object
920  * -----------------------------------------------------------------------------*/
921 
922 static Tcl_HashTable swigconstTable;
923 static int swigconstTableinit = 0;
924 
925 SWIGINTERN void
926 SWIG_Tcl_SetConstantObj(Tcl_Interp *interp, const char* name, Tcl_Obj *obj) {
927  int newobj;
928  Tcl_ObjSetVar2(interp,Tcl_NewStringObj(name,-1), NULL, obj, TCL_GLOBAL_ONLY);
929  Tcl_SetHashValue(Tcl_CreateHashEntry(&swigconstTable, name, &newobj), (ClientData) obj);
930 }
931 
932 SWIGINTERN Tcl_Obj *
933 SWIG_Tcl_GetConstantObj(const char *key) {
934  Tcl_HashEntry *entryPtr;
935  if (!swigconstTableinit) return 0;
936  entryPtr = Tcl_FindHashEntry(&swigconstTable, key);
937  if (entryPtr) {
938  return (Tcl_Obj *) Tcl_GetHashValue(entryPtr);
939  }
940  return 0;
941 }
942 
943 #ifdef __cplusplus
944 }
945 #endif
946 
947 
948 
949 /* -----------------------------------------------------------------------------
950  * tclrun.swg
951  *
952  * This file contains the runtime support for Tcl modules and includes
953  * code for managing global variables and pointer type checking.
954  * ----------------------------------------------------------------------------- */
955 
956 /* Common SWIG API */
957 
958 /* for raw pointers */
959 #define SWIG_ConvertPtr(oc, ptr, ty, flags) SWIG_Tcl_ConvertPtr(interp, oc, ptr, ty, flags)
960 #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Tcl_NewPointerObj(ptr, type, flags)
961 
962 /* for raw packed data */
963 #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Tcl_ConvertPacked(interp, obj, ptr, sz, ty)
964 #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Tcl_NewPackedObj(ptr, sz, type)
965 
966 /* for class or struct pointers */
967 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_Tcl_ConvertPtr(interp, obj, pptr, type, flags)
968 #define SWIG_NewInstanceObj(thisvalue, type, flags) SWIG_Tcl_NewInstanceObj(interp, thisvalue, type, flags)
969 
970 /* for C or C++ function pointers */
971 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Tcl_ConvertPtr(interp, obj, pptr, type, 0)
972 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Tcl_NewPointerObj(ptr, type, 0)
973 
974 /* for C++ member pointers, ie, member methods */
975 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Tcl_ConvertPacked(interp,obj, ptr, sz, ty)
976 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_Tcl_NewPackedObj(ptr, sz, type)
977 
978 
979 /* Runtime API */
980 
981 #define SWIG_GetModule(clientdata) SWIG_Tcl_GetModule((Tcl_Interp *) (clientdata))
982 #define SWIG_SetModule(clientdata, pointer) SWIG_Tcl_SetModule((Tcl_Interp *) (clientdata), pointer)
983 
984 
985 /* Error manipulation */
986 
987 #define SWIG_ErrorType(code) SWIG_Tcl_ErrorType(code)
988 #define SWIG_Error(code, msg) SWIG_Tcl_SetErrorMsg(interp, SWIG_Tcl_ErrorType(code), msg)
989 #define SWIG_fail goto fail
990 
991 
992 /* Tcl-specific SWIG API */
993 
994 #define SWIG_Acquire(ptr) SWIG_Tcl_Acquire(ptr)
995 #define SWIG_MethodCommand SWIG_Tcl_MethodCommand
996 #define SWIG_Disown(ptr) SWIG_Tcl_Disown(ptr)
997 #define SWIG_ConvertPtrFromString(c, ptr, ty, flags) SWIG_Tcl_ConvertPtrFromString(interp, c, ptr, ty, flags)
998 #define SWIG_MakePtr(c, ptr, ty, flags) SWIG_Tcl_MakePtr(c, ptr, ty, flags)
999 #define SWIG_PointerTypeFromString(c) SWIG_Tcl_PointerTypeFromString(c)
1000 #define SWIG_GetArgs SWIG_Tcl_GetArgs
1001 #define SWIG_GetConstantObj(key) SWIG_Tcl_GetConstantObj(key)
1002 #define SWIG_ObjectConstructor SWIG_Tcl_ObjectConstructor
1003 #define SWIG_Thisown(ptr) SWIG_Tcl_Thisown(ptr)
1004 #define SWIG_ObjectDelete SWIG_Tcl_ObjectDelete
1005 
1006 
1007 #define SWIG_TCL_DECL_ARGS_2(arg1, arg2) (Tcl_Interp *interp SWIGUNUSED, arg1, arg2)
1008 #define SWIG_TCL_CALL_ARGS_2(arg1, arg2) (interp, arg1, arg2)
1009 /* -----------------------------------------------------------------------------
1010  * pointers/data manipulation
1011  * ----------------------------------------------------------------------------- */
1012 
1013 /* For backward compatibility only */
1014 #define SWIG_POINTER_EXCEPTION 0
1015 #define SWIG_GetConstant SWIG_GetConstantObj
1016 #define SWIG_Tcl_GetConstant SWIG_Tcl_GetConstantObj
1017 
1018 #if TCL_MAJOR_VERSION >= 8 && TCL_MINOR_VERSION >= 5
1019 #define SWIG_TCL_HASHTABLE_INIT {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
1020 #else
1021 #define SWIG_TCL_HASHTABLE_INIT {0}
1022 #endif
1023 
1024 #include "assert.h"
1025 
1026 #ifdef __cplusplus
1027 extern "C" {
1028 #endif
1029 
1030 /* Object support */
1031 
1032 SWIGRUNTIME Tcl_HashTable*
1034  static Tcl_HashTable swigobjectTable;
1035  static int swigobjectTableinit = 0;
1036  if (!swigobjectTableinit) {
1037  Tcl_InitHashTable(&swigobjectTable, TCL_ONE_WORD_KEYS);
1038  swigobjectTableinit = 1;
1039  }
1040  return &swigobjectTable;
1041 }
1042 
1043 /* Acquire ownership of a pointer */
1044 SWIGRUNTIME void
1045 SWIG_Tcl_Acquire(void *ptr) {
1046  int newobj;
1047  Tcl_CreateHashEntry(SWIG_Tcl_ObjectTable(), (char *) ptr, &newobj);
1048 }
1049 
1050 SWIGRUNTIME int
1051 SWIG_Tcl_Thisown(void *ptr) {
1052  if (Tcl_FindHashEntry(SWIG_Tcl_ObjectTable(), (char *) ptr)) {
1053  return 1;
1054  }
1055  return 0;
1056 }
1057 
1058 /* Disown a pointer. Returns 1 if we owned it to begin with */
1059 SWIGRUNTIME int
1060 SWIG_Tcl_Disown(void *ptr) {
1061  Tcl_HashEntry *entryPtr = Tcl_FindHashEntry(SWIG_Tcl_ObjectTable(), (char *) ptr);
1062  if (entryPtr) {
1063  Tcl_DeleteHashEntry(entryPtr);
1064  return 1;
1065  }
1066  return 0;
1067 }
1068 
1069 /* Convert a pointer value */
1070 SWIGRUNTIME int
1071 SWIG_Tcl_ConvertPtrFromString(Tcl_Interp *interp, const char *c, void **ptr, swig_type_info *ty, int flags) {
1072  swig_cast_info *tc;
1073  /* Pointer values must start with leading underscore */
1074  while (*c != '_') {
1075  *ptr = (void *) 0;
1076  if (strcmp(c,"NULL") == 0)
1078 
1079  /* Empty string: not a pointer */
1080  if (*c == 0) return SWIG_ERROR;
1081 
1082  /* Hmmm. It could be an object name. */
1083 
1084  /* Check if this is a command at all. Prevents <c> cget -this */
1085  /* from being called when c is not a command, firing the unknown proc */
1086  if (Tcl_VarEval(interp,"info commands ", c, (char *) NULL) == TCL_OK) {
1087  Tcl_Obj *result = Tcl_GetObjResult(interp);
1088  if (*(Tcl_GetStringFromObj(result, NULL)) == 0) {
1089  /* It's not a command, so it can't be a pointer */
1090  Tcl_ResetResult(interp);
1091  return SWIG_ERROR;
1092  }
1093  } else {
1094  /* This will only fail if the argument is multiple words. */
1095  /* Multiple words are also not commands. */
1096  Tcl_ResetResult(interp);
1097  return SWIG_ERROR;
1098  }
1099 
1100  /* Check if this is really a SWIG pointer */
1101  if (Tcl_VarEval(interp,c," cget -this", (char *) NULL) != TCL_OK) {
1102  Tcl_ResetResult(interp);
1103  return SWIG_ERROR;
1104  }
1105 
1106  c = Tcl_GetStringFromObj(Tcl_GetObjResult(interp), NULL);
1107  }
1108 
1109  c++;
1110  c = SWIG_UnpackData(c,ptr,sizeof(void *));
1111  if (ty) {
1112  tc = c ? SWIG_TypeCheck(c,ty) : 0;
1113  if (!tc) {
1114  return SWIG_ERROR;
1115  }
1116  if (flags & SWIG_POINTER_DISOWN) {
1117  SWIG_Disown((void *) *ptr);
1118  }
1119  {
1120  int newmemory = 0;
1121  *ptr = SWIG_TypeCast(tc,(void *) *ptr,&newmemory);
1122  assert(!newmemory); /* newmemory handling not yet implemented */
1123  }
1124  }
1125  return SWIG_OK;
1126 }
1127 
1128 /* Convert a pointer value */
1130 SWIG_Tcl_ConvertPtr(Tcl_Interp *interp, Tcl_Obj *oc, void **ptr, swig_type_info *ty, int flags) {
1131  return SWIG_Tcl_ConvertPtrFromString(interp, Tcl_GetStringFromObj(oc,NULL), ptr, ty, flags);
1132 }
1133 
1134 /* Convert a pointer value */
1135 SWIGRUNTIME char *
1137  char d;
1138  /* Pointer values must start with leading underscore. NULL has no type */
1139  if (*c != '_') {
1140  return 0;
1141  }
1142  c++;
1143  /* Extract hex value from pointer */
1144  while ((d = *c)) {
1145  if (!(((d >= '0') && (d <= '9')) || ((d >= 'a') && (d <= 'f')))) break;
1146  c++;
1147  }
1148  return c;
1149 }
1150 
1151 /* Convert a packed pointer value */
1152 SWIGRUNTIME int
1153 SWIG_Tcl_ConvertPacked(Tcl_Interp *SWIGUNUSEDPARM(interp) , Tcl_Obj *obj, void *ptr, int sz, swig_type_info *ty) {
1154  swig_cast_info *tc;
1155  const char *c;
1156 
1157  if (!obj) goto type_error;
1158  c = Tcl_GetStringFromObj(obj,NULL);
1159  /* Pointer values must start with leading underscore */
1160  if (*c != '_') goto type_error;
1161  c++;
1162  c = SWIG_UnpackData(c,ptr,sz);
1163  if (ty) {
1164  tc = SWIG_TypeCheck(c,ty);
1165  if (!tc) goto type_error;
1166  }
1167  return SWIG_OK;
1168 
1169  type_error:
1170 
1171  return SWIG_ERROR;
1172 }
1173 
1174 
1175 /* Take a pointer and convert it to a string */
1176 SWIGRUNTIME void
1177 SWIG_Tcl_MakePtr(char *c, void *ptr, swig_type_info *ty, int SWIGUNUSEDPARM(flags)) {
1178  if (ptr) {
1179  *(c++) = '_';
1180  c = SWIG_PackData(c,&ptr,sizeof(void *));
1181  strcpy(c,ty->name);
1182  } else {
1183  strcpy(c,"NULL");
1184  }
1185 }
1186 
1187 /* Create a new pointer object */
1188 SWIGRUNTIMEINLINE Tcl_Obj *
1189 SWIG_Tcl_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
1190  Tcl_Obj *robj;
1191  char result[SWIG_BUFFER_SIZE];
1192  SWIG_MakePtr(result,ptr,type,flags);
1193  robj = Tcl_NewStringObj(result,-1);
1194  return robj;
1195 }
1196 
1197 SWIGRUNTIME Tcl_Obj *
1198 SWIG_Tcl_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
1199  char result[1024];
1200  char *r = result;
1201  if ((2*sz + 1 + strlen(type->name)) > 1000) return 0;
1202  *(r++) = '_';
1203  r = SWIG_PackData(r,ptr,sz);
1204  strcpy(r,type->name);
1205  return Tcl_NewStringObj(result,-1);
1206 }
1207 
1208 /* -----------------------------------------------------------------------------*
1209  * Get type list
1210  * -----------------------------------------------------------------------------*/
1211 
1213 SWIG_Tcl_GetModule(Tcl_Interp *interp) {
1214  const char *data;
1215  swig_module_info *ret = 0;
1216 
1217  /* first check if pointer already created */
1218  data = Tcl_GetVar(interp, (char *)"swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TCL_GLOBAL_ONLY);
1219  if (data) {
1220  SWIG_UnpackData(data, &ret, sizeof(swig_type_info **));
1221  }
1222 
1223  return ret;
1224 }
1225 
1226 SWIGRUNTIME void
1227 SWIG_Tcl_SetModule(Tcl_Interp *interp, swig_module_info *module) {
1228  char buf[SWIG_BUFFER_SIZE];
1229  char *data;
1230 
1231  /* create a new pointer */
1232  data = SWIG_PackData(buf, &module, sizeof(swig_type_info **));
1233  *data = 0;
1234  Tcl_SetVar(interp, (char *)"swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, buf, TCL_GLOBAL_ONLY);
1235 }
1236 
1237 /* -----------------------------------------------------------------------------*
1238  * Object auxiliaries
1239  * -----------------------------------------------------------------------------*/
1240 
1241 
1242 SWIGRUNTIME void
1243 SWIG_Tcl_ObjectDelete(ClientData clientData) {
1244  swig_instance *si = (swig_instance *) clientData;
1245  if (!si) return;
1246  if (si->destroy && SWIG_Disown(si->thisvalue)) {
1247  if (si->classptr->destructor) {
1248  (si->classptr->destructor)(si->thisvalue);
1249  }
1250  }
1251  Tcl_DecrRefCount(si->thisptr);
1252  free(si);
1253 }
1254 
1255 /* Function to invoke object methods given an instance */
1256 SWIGRUNTIME int
1257 SWIG_Tcl_MethodCommand(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
1258  char *method, *attrname;
1259  swig_instance *inst = (swig_instance *) clientData;
1260  swig_method *meth;
1261  swig_attribute *attr;
1262  Tcl_Obj *oldarg;
1263  Tcl_Obj **objv;
1264  int rcode;
1265  swig_class *cls;
1266  swig_class *cls_stack[64];
1267  int cls_stack_bi[64];
1268  int cls_stack_top = 0;
1269  int numconf = 2;
1270  int bi;
1271 
1272  objv = (Tcl_Obj **) _objv;
1273  if (objc < 2) {
1274  Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
1275  return TCL_ERROR;
1276  }
1277  method = Tcl_GetStringFromObj(objv[1],NULL);
1278  if (strcmp(method,"-acquire") == 0) {
1279  inst->destroy = 1;
1280  SWIG_Acquire(inst->thisvalue);
1281  return TCL_OK;
1282  }
1283  if (strcmp(method,"-disown") == 0) {
1284  if (inst->destroy) {
1285  SWIG_Disown(inst->thisvalue);
1286  }
1287  inst->destroy = 0;
1288  return TCL_OK;
1289  }
1290  if (strcmp(method,"-delete") == 0) {
1291  Tcl_DeleteCommandFromToken(interp,inst->cmdtok);
1292  return TCL_OK;
1293  }
1294  cls_stack[cls_stack_top] = inst->classptr;
1295  cls_stack_bi[cls_stack_top] = -1;
1296  while (1) {
1297  Tcl_HashEntry* hashentry;
1298  bi = cls_stack_bi[cls_stack_top];
1299  cls = cls_stack[cls_stack_top];
1300  if (bi != -1) {
1301  if (!cls->bases[bi] && cls->base_names[bi]) {
1302  /* lookup and cache the base class */
1303  swig_type_info *info = SWIG_TypeQueryModule(cls->module, cls->module, cls->base_names[bi]);
1304  if (info) cls->bases[bi] = (swig_class *) info->clientdata;
1305  }
1306  cls = cls->bases[bi];
1307  if (cls) {
1308  cls_stack_bi[cls_stack_top]++;
1309  cls_stack_top++;
1310  cls_stack[cls_stack_top] = cls;
1311  cls_stack_bi[cls_stack_top] = -1;
1312  continue;
1313  }
1314  }
1315  if (!cls) {
1316  cls_stack_top--;
1317  if (cls_stack_top < 0) break;
1318  else continue;
1319  }
1320  cls_stack_bi[cls_stack_top]++;
1321 
1322  hashentry = Tcl_FindHashEntry(&(cls->hashtable), method);
1323  if (hashentry) {
1324  ClientData cd = Tcl_GetHashValue(hashentry);
1325  swig_wrapper method_wrapper = (swig_wrapper)cd;
1326  oldarg = objv[1];
1327  objv[1] = inst->thisptr;
1328  Tcl_IncrRefCount(inst->thisptr);
1329  rcode = (method_wrapper)(clientData,interp,objc,objv);
1330  objv[1] = oldarg;
1331  Tcl_DecrRefCount(inst->thisptr);
1332  return rcode;
1333  }
1334  /* Check class methods for a match */
1335  if (strcmp(method,"cget") == 0) {
1336  if (objc < 3) {
1337  Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
1338  return TCL_ERROR;
1339  }
1340  attrname = Tcl_GetStringFromObj(objv[2],NULL);
1341  attr = cls->attributes;
1342  while (attr && attr->name) {
1343  if ((strcmp(attr->name, attrname) == 0) && (attr->getmethod)) {
1344  oldarg = objv[1];
1345  objv[1] = inst->thisptr;
1346  Tcl_IncrRefCount(inst->thisptr);
1347  rcode = (*attr->getmethod)(clientData,interp,2, objv);
1348  objv[1] = oldarg;
1349  Tcl_DecrRefCount(inst->thisptr);
1350  return rcode;
1351  }
1352  attr++;
1353  }
1354  if (strcmp(attrname, "-this") == 0) {
1355  Tcl_SetObjResult(interp, Tcl_DuplicateObj(inst->thisptr));
1356  return TCL_OK;
1357  }
1358  if (strcmp(attrname, "-thisown") == 0) {
1359  if (SWIG_Thisown(inst->thisvalue)) {
1360  Tcl_SetResult(interp,(char*)"1",TCL_STATIC);
1361  } else {
1362  Tcl_SetResult(interp,(char*)"0",TCL_STATIC);
1363  }
1364  return TCL_OK;
1365  }
1366  } else if (strcmp(method, "configure") == 0) {
1367  int i;
1368  if (objc < 4) {
1369  Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
1370  return TCL_ERROR;
1371  }
1372  i = 2;
1373  while (i < objc) {
1374  attrname = Tcl_GetStringFromObj(objv[i],NULL);
1375  attr = cls->attributes;
1376  while (attr && attr->name) {
1377  if ((strcmp(attr->name, attrname) == 0) && (attr->setmethod)) {
1378  oldarg = objv[i];
1379  objv[i] = inst->thisptr;
1380  Tcl_IncrRefCount(inst->thisptr);
1381  rcode = (*attr->setmethod)(clientData,interp,3, &objv[i-1]);
1382  objv[i] = oldarg;
1383  Tcl_DecrRefCount(inst->thisptr);
1384  if (rcode != TCL_OK) return rcode;
1385  numconf += 2;
1386  }
1387  attr++;
1388  }
1389  i+=2;
1390  }
1391  }
1392  }
1393  if (strcmp(method,"configure") == 0) {
1394  if (numconf >= objc) {
1395  return TCL_OK;
1396  } else {
1397  Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);
1398  return TCL_ERROR;
1399  }
1400  }
1401  if (strcmp(method,"cget") == 0) {
1402  Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);
1403  return TCL_ERROR;
1404  }
1405  Tcl_SetResult(interp, (char *) "Invalid method. Must be one of: configure cget -acquire -disown -delete", TCL_STATIC);
1406  cls = inst->classptr;
1407  bi = 0;
1408  while (cls) {
1409  meth = cls->methods;
1410  while (meth && meth->name) {
1411  char *cr = (char *) Tcl_GetStringResult(interp);
1412  size_t meth_len = strlen(meth->name);
1413  char* where = strchr(cr,':');
1414  while(where) {
1415  where = strstr(where, meth->name);
1416  if(where) {
1417  if(where[-1] == ' ' && (where[meth_len] == ' ' || where[meth_len]==0)) {
1418  break;
1419  } else {
1420  where++;
1421  }
1422  }
1423  }
1424 
1425  if (!where)
1426  Tcl_AppendElement(interp, (char *) meth->name);
1427  meth++;
1428  }
1429  cls = inst->classptr->bases[bi++];
1430  }
1431  return TCL_ERROR;
1432 }
1433 
1434 /* This function takes the current result and turns it into an object command */
1435 SWIGRUNTIME Tcl_Obj *
1436 SWIG_Tcl_NewInstanceObj(Tcl_Interp *interp, void *thisvalue, swig_type_info *type, int flags) {
1437  Tcl_Obj *robj = SWIG_NewPointerObj(thisvalue, type,0);
1438  /* Check to see if this pointer belongs to a class or not */
1439  if (thisvalue && (type->clientdata) && (interp)) {
1440  Tcl_CmdInfo ci;
1441  char *name;
1442  name = Tcl_GetStringFromObj(robj,NULL);
1443  if (!Tcl_GetCommandInfo(interp,name, &ci) || (flags)) {
1444  swig_instance *newinst = (swig_instance *) malloc(sizeof(swig_instance));
1445  newinst->thisptr = Tcl_DuplicateObj(robj);
1446  Tcl_IncrRefCount(newinst->thisptr);
1447  newinst->thisvalue = thisvalue;
1448  newinst->classptr = (swig_class *) type->clientdata;
1449  newinst->destroy = flags;
1450  newinst->cmdtok = Tcl_CreateObjCommand(interp, Tcl_GetStringFromObj(robj,NULL), (swig_wrapper_func) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);
1451  if (flags) {
1452  SWIG_Acquire(thisvalue);
1453  }
1454  }
1455  }
1456  return robj;
1457 }
1458 
1459 /* Function to create objects */
1460 SWIGRUNTIME int
1461 SWIG_Tcl_ObjectConstructor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1462  Tcl_Obj *newObj = 0;
1463  void *thisvalue = 0;
1464  swig_instance *newinst = 0;
1465  swig_class *classptr = (swig_class *) clientData;
1466  swig_wrapper cons = 0;
1467  char *name = 0;
1468  int firstarg = 0;
1469  int thisarg = 0;
1470  int destroy = 1;
1471 
1472  if (!classptr) {
1473  Tcl_SetResult(interp, (char *) "swig: internal runtime error. No class object defined.", TCL_STATIC);
1474  return TCL_ERROR;
1475  }
1476  cons = classptr->constructor;
1477  if (objc > 1) {
1478  char *s = Tcl_GetStringFromObj(objv[1],NULL);
1479  if (strcmp(s,"-this") == 0) {
1480  thisarg = 2;
1481  cons = 0;
1482  } else if (strcmp(s,"-args") == 0) {
1483  firstarg = 1;
1484  } else if (objc == 2) {
1485  firstarg = 1;
1486  name = s;
1487  } else if (objc >= 3) {
1488  char *s1;
1489  name = s;
1490  s1 = Tcl_GetStringFromObj(objv[2],NULL);
1491  if (strcmp(s1,"-this") == 0) {
1492  thisarg = 3;
1493  cons = 0;
1494  } else {
1495  firstarg = 1;
1496  }
1497  }
1498  }
1499  if (cons) {
1500  int result;
1501  result = (*cons)(0, interp, objc-firstarg, &objv[firstarg]);
1502  if (result != TCL_OK) {
1503  return result;
1504  }
1505  newObj = Tcl_DuplicateObj(Tcl_GetObjResult(interp));
1506  if (!name) name = Tcl_GetStringFromObj(newObj,NULL);
1507  } else if (thisarg > 0) {
1508  if (thisarg < objc) {
1509  destroy = 0;
1510  newObj = Tcl_DuplicateObj(objv[thisarg]);
1511  if (!name) name = Tcl_GetStringFromObj(newObj,NULL);
1512  } else {
1513  Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
1514  return TCL_ERROR;
1515  }
1516  } else {
1517  Tcl_SetResult(interp, (char *) "No constructor available.", TCL_STATIC);
1518  return TCL_ERROR;
1519  }
1520  if (SWIG_Tcl_ConvertPtr(interp,newObj, (void **) &thisvalue, *(classptr->type), 0) != SWIG_OK) {
1521  Tcl_DecrRefCount(newObj);
1522  return TCL_ERROR;
1523  }
1524  newinst = (swig_instance *) malloc(sizeof(swig_instance));
1525  newinst->thisptr = newObj;
1526  Tcl_IncrRefCount(newObj);
1527  newinst->thisvalue = thisvalue;
1528  newinst->classptr = classptr;
1529  newinst->destroy = destroy;
1530  if (destroy) {
1531  SWIG_Acquire(thisvalue);
1532  }
1533  newinst->cmdtok = Tcl_CreateObjCommand(interp,name, (swig_wrapper) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);
1534  return TCL_OK;
1535 }
1536 
1537 /* -----------------------------------------------------------------------------*
1538  * Get arguments
1539  * -----------------------------------------------------------------------------*/
1540 SWIGRUNTIME int
1541 SWIG_Tcl_GetArgs(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], const char *fmt, ...) {
1542  int argno = 0, opt = 0;
1543  long tempi;
1544  double tempd;
1545  const char *c;
1546  va_list ap;
1547  void *vptr;
1548  Tcl_Obj *obj = 0;
1549  swig_type_info *ty;
1550 
1551  va_start(ap,fmt);
1552  for (c = fmt; (*c && (*c != ':') && (*c != ';')); c++,argno++) {
1553  if (*c == '|') {
1554  opt = 1;
1555  c++;
1556  }
1557  if (argno >= (objc-1)) {
1558  if (!opt) {
1559  Tcl_SetResult(interp, (char *) "Wrong number of arguments ", TCL_STATIC);
1560  goto argerror;
1561  } else {
1562  va_end(ap);
1563  return TCL_OK;
1564  }
1565  }
1566 
1567  vptr = va_arg(ap,void *);
1568  if (vptr) {
1569  if (isupper(*c)) {
1570  obj = SWIG_Tcl_GetConstantObj(Tcl_GetStringFromObj(objv[argno+1],0));
1571  if (!obj) obj = objv[argno+1];
1572  } else {
1573  obj = objv[argno+1];
1574  }
1575  switch(*c) {
1576  case 'i': case 'I':
1577  case 'l': case 'L':
1578  case 'h': case 'H':
1579  case 'b': case 'B':
1580  if (Tcl_GetLongFromObj(interp,obj,&tempi) != TCL_OK) goto argerror;
1581  if ((*c == 'i') || (*c == 'I')) *((int *)vptr) = (int)tempi;
1582  else if ((*c == 'l') || (*c == 'L')) *((long *)vptr) = (long)tempi;
1583  else if ((*c == 'h') || (*c == 'H')) *((short*)vptr) = (short)tempi;
1584  else if ((*c == 'b') || (*c == 'B')) *((unsigned char *)vptr) = (unsigned char)tempi;
1585  break;
1586  case 'f': case 'F':
1587  case 'd': case 'D':
1588  if (Tcl_GetDoubleFromObj(interp,obj,&tempd) != TCL_OK) goto argerror;
1589  if ((*c == 'f') || (*c == 'F')) *((float *) vptr) = (float)tempd;
1590  else if ((*c == 'd') || (*c == 'D')) *((double*) vptr) = tempd;
1591  break;
1592  case 's': case 'S':
1593  if (*(c+1) == '#') {
1594  int *vlptr = (int *) va_arg(ap, void *);
1595  *((char **) vptr) = Tcl_GetStringFromObj(obj, vlptr);
1596  c++;
1597  } else {
1598  *((char **)vptr) = Tcl_GetStringFromObj(obj,NULL);
1599  }
1600  break;
1601  case 'c': case 'C':
1602  *((char *)vptr) = *(Tcl_GetStringFromObj(obj,NULL));
1603  break;
1604  case 'p': case 'P':
1605  ty = (swig_type_info *) va_arg(ap, void *);
1606  if (SWIG_Tcl_ConvertPtr(interp, obj, (void **) vptr, ty, 0) != SWIG_OK) goto argerror;
1607  break;
1608  case 'o': case 'O':
1609  *((Tcl_Obj **)vptr) = objv[argno+1];
1610  break;
1611  default:
1612  break;
1613  }
1614  }
1615  }
1616 
1617  if ((*c != ';') && ((objc-1) > argno)) {
1618  Tcl_SetResult(interp, (char *) "Wrong # args.", TCL_STATIC);
1619  goto argerror;
1620  }
1621  va_end(ap);
1622  return TCL_OK;
1623 
1624  argerror:
1625  {
1626  char temp[32];
1627  sprintf(temp,"%d", argno+1);
1628  c = strchr(fmt,':');
1629  if (!c) c = strchr(fmt,';');
1630  if (!c) c = (char *)"";
1631  Tcl_AppendResult(interp,c," argument ", temp, NULL);
1632  va_end(ap);
1633  return TCL_ERROR;
1634  }
1635 }
1636 
1637 #ifdef __cplusplus
1638 }
1639 #endif
1640 
1641 
1642 
1643 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
1644 
1645 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
1646 
1647 
1648 
1649 /* -------- TYPES TABLE (BEGIN) -------- */
1650 
1651 #define SWIGTYPE_p_a_base swig_types[0]
1652 #define SWIGTYPE_p_a_text swig_types[1]
1653 #define SWIGTYPE_p_a_text_base swig_types[2]
1654 #define SWIGTYPE_p_a_unit_system swig_types[3]
1655 #define SWIGTYPE_p_char swig_types[4]
1657 static swig_module_info swig_module = {swig_types, 5, 0, 0, 0, 0};
1658 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1659 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1660 
1661 /* -------- TYPES TABLE (END) -------- */
1662 
1663 #define SWIG_init A_text_Init
1664 #define SWIG_name "a_text"
1665 #define SWIG_prefix ""
1666 #define SWIG_version "0.0"
1667 
1668 #define SWIGVERSION 0x040002
1669 #define SWIG_VERSION SWIGVERSION
1670 
1671 
1672 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
1673 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a))
1674 
1675 
1676 #include <stdexcept>
1677 
1678 
1679 
1680 #ifdef __cplusplus
1681 extern "C" {
1682 #endif
1683 #ifdef MAC_TCL
1684 #pragma export on
1685 #endif
1686 SWIGEXPORT int SWIG_init(Tcl_Interp *);
1687 #ifdef MAC_TCL
1688 #pragma export off
1689 #endif
1690 #ifdef __cplusplus
1691 }
1692 #endif
1693 
1694 /* Compatibility version for TCL stubs */
1695 #ifndef SWIG_TCL_STUBS_VERSION
1696 #define SWIG_TCL_STUBS_VERSION "8.1"
1697 #endif
1698 
1699 
1700 
1701 #include <string>
1702 
1703 
1704 #include "a_base.h"
1705 #include <iostream>
1706 #include <sstream>
1707 
1708 
1709 #include <limits.h>
1710 #if !defined(SWIG_NO_LLONG_MAX)
1711 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
1712 # define LLONG_MAX __LONG_LONG_MAX__
1713 # define LLONG_MIN (-LLONG_MAX - 1LL)
1714 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
1715 # endif
1716 #endif
1717 
1718 
1719 SWIGINTERNINLINE Tcl_Obj *
1720 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
1721 {
1722  return (size < INT_MAX) ? Tcl_NewStringObj(carray, static_cast< int >(size)) : NULL;
1723 }
1724 
1725 
1726 SWIGINTERNINLINE Tcl_Obj *
1727 SWIG_From_std_string (const std::string& s)
1728 {
1729  return SWIG_FromCharPtrAndSize(s.data(), s.size());
1730 }
1731 
1732 
1733 SWIGINTERN int
1734 SWIG_AsVal_double SWIG_TCL_DECL_ARGS_2(Tcl_Obj *obj, double *val)
1735 {
1736  double v;
1737  if (Tcl_GetDoubleFromObj(0, obj, &v) == TCL_OK) {
1738  if (val) *val = v;
1739  return SWIG_OK;
1740  }
1741  return SWIG_TypeError;
1742 }
1743 
1744 
1745  #define SWIG_From_double Tcl_NewDoubleObj
1746 
1747 SWIGINTERN std::string a_base_print(a_base *self){
1748  std::ostringstream out;
1749  out << *self;
1750  return out.str();
1751  }
1752 
1753 #include "a_base.h"
1754 #include "a_text_base.h"
1755 
1756 
1757 #include "a_text.h"
1758 
1759 
1760 SWIGINTERN int
1761 SWIG_AsCharPtrAndSize(Tcl_Obj *obj, char** cptr, size_t* psize, int *alloc)
1762 {
1763  int len = 0;
1764  char *cstr = Tcl_GetStringFromObj(obj, &len);
1765  if (cstr) {
1766  if (cptr) *cptr = cstr;
1767  if (psize) *psize = len + 1;
1768  if (alloc) *alloc = SWIG_OLDOBJ;
1769  return SWIG_OK;
1770  }
1771  return SWIG_TypeError;
1772 }
1773 
1774 
1775 SWIGINTERN int
1776 SWIG_AsPtr_std_string SWIG_TCL_DECL_ARGS_2(Tcl_Obj * obj, std::string **val)
1777 {
1778  char* buf = 0 ; size_t size = 0; int alloc = SWIG_OLDOBJ;
1779  if (SWIG_IsOK((SWIG_AsCharPtrAndSize(obj, &buf, &size, &alloc)))) {
1780  if (buf) {
1781  if (val) *val = new std::string(buf, size - 1);
1782  if (alloc == SWIG_NEWOBJ) delete[] buf;
1783  return SWIG_NEWOBJ;
1784  } else {
1785  if (val) *val = 0;
1786  return SWIG_OLDOBJ;
1787  }
1788  } else {
1789  static int init = 0;
1790  static swig_type_info* descriptor = 0;
1791  if (!init) {
1792  descriptor = SWIG_TypeQuery("std::string" " *");
1793  init = 1;
1794  }
1795  if (descriptor) {
1796  std::string *vptr;
1797  int res = SWIG_ConvertPtr(obj, (void**)&vptr, descriptor, 0);
1798  if (SWIG_IsOK(res) && val) *val = vptr;
1799  return res;
1800  }
1801  }
1802  return SWIG_ERROR;
1803 }
1804 
1805 
1806 SWIGINTERN int
1807 SWIG_AsVal_long SWIG_TCL_DECL_ARGS_2(Tcl_Obj *obj, long* val)
1808 {
1809  long v;
1810  if (Tcl_GetLongFromObj(0,obj, &v) == TCL_OK) {
1811  if (val) *val = (long) v;
1812  return SWIG_OK;
1813  }
1814  return SWIG_TypeError;
1815 }
1816 
1817 
1818 SWIGINTERN int
1819 SWIG_AsVal_int SWIG_TCL_DECL_ARGS_2(Tcl_Obj * obj, int *val)
1820 {
1821  long v;
1822  int res = SWIG_AsVal_long SWIG_TCL_CALL_ARGS_2(obj, &v);
1823  if (SWIG_IsOK(res)) {
1824  if ((v < INT_MIN || v > INT_MAX)) {
1825  return SWIG_OverflowError;
1826  } else {
1827  if (val) *val = static_cast< int >(v);
1828  }
1829  }
1830  return res;
1831 }
1832 
1833 
1834 SWIGINTERNINLINE Tcl_Obj*
1835 SWIG_From_long (long value)
1836 {
1837  if (((long) INT_MIN <= value) && (value <= (long) INT_MAX)) {
1838  return Tcl_NewIntObj(static_cast< int >(value));
1839  } else {
1840  return Tcl_NewLongObj(value);
1841  }
1842 }
1843 
1844 
1845 SWIGINTERNINLINE Tcl_Obj *
1846 SWIG_From_int (int value)
1847 {
1848  return SWIG_From_long (value);
1849 }
1850 
1851 SWIGINTERN void a_text_put(a_text *self,std::string const &text){*self << text << std::endl;}
1852 SWIGINTERN void a_text_comment(a_text *self,std::string const &text){*self << "# " << text << std::endl;}
1853 SWIGINTERN void a_text_putd(a_text *self,double const v){*self << v << std::endl;}
1854 SWIGINTERN std::string a_text_unit__SWIG_0(a_text const *self){
1855  if (self->use_user_unit())
1856  return "on";
1857  else
1858  return "off";
1859  }
1860 SWIGINTERN void a_text_unit__SWIG_1(a_text *self,std::string const &code){
1861  if (code=="off") self->use_user_unit(0);
1862  else if (code=="on") self->use_user_unit(1);
1863  else {self->operator<<("Wrong arg. a_text useunit (on off)");self->operator<<(std::endl);}
1864  }
1865 SWIGINTERN void a_text_endl(a_text *self,std::string const &code){
1866  if (code=="off") self->endl(0);
1867  else if (code=="on") self->endl(1);
1868  else {self->operator<<("Wrong arg. a_text useunit (on off)");self->operator<<(std::endl);}
1869  }
1870 #ifdef __cplusplus
1871 extern "C" {
1872 #endif
1873 SWIGINTERN int
1874 _wrap_a_base_classname(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1875  a_base *arg1 = (a_base *) 0 ;
1876  void *argp1 = 0 ;
1877  int res1 = 0 ;
1878  std::string result;
1879 
1880  if (SWIG_GetArgs(interp, objc, objv,"o:a_base_classname self ",(void *)0) == TCL_ERROR) SWIG_fail;
1881  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, 0 | 0 );
1882  if (!SWIG_IsOK(res1)) {
1883  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_base_classname" "', argument " "1"" of type '" "a_base *""'");
1884  }
1885  arg1 = reinterpret_cast< a_base * >(argp1);
1886  result = (arg1)->classname();
1887  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
1888  return TCL_OK;
1889 fail:
1890  return TCL_ERROR;
1891 }
1892 
1893 
1894 SWIGINTERN int
1895 _wrap_a_base_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1896  std::string result;
1897 
1898  if (SWIG_GetArgs(interp, objc, objv,":a_base_help ") == TCL_ERROR) SWIG_fail;
1899  result = a_base::help();
1900  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
1901  return TCL_OK;
1902 fail:
1903  return TCL_ERROR;
1904 }
1905 
1906 
1907 SWIGINTERN int
1908 _wrap_a_base_small__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1909  a_base *arg1 = (a_base *) 0 ;
1910  double arg2 ;
1911  void *argp1 = 0 ;
1912  int res1 = 0 ;
1913  double val2 ;
1914  int ecode2 = 0 ;
1915 
1916  if (SWIG_GetArgs(interp, objc, objv,"oo:a_base_small self tol ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
1917  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, 0 | 0 );
1918  if (!SWIG_IsOK(res1)) {
1919  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_base_small" "', argument " "1"" of type '" "a_base *""'");
1920  }
1921  arg1 = reinterpret_cast< a_base * >(argp1);
1922  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
1923  if (!SWIG_IsOK(ecode2)) {
1924  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_base_small" "', argument " "2"" of type '" "double""'");
1925  }
1926  arg2 = static_cast< double >(val2);
1927  (arg1)->small(arg2);
1928 
1929  return TCL_OK;
1930 fail:
1931  return TCL_ERROR;
1932 }
1933 
1934 
1935 SWIGINTERN int
1936 _wrap_a_base_small__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1937  a_base *arg1 = (a_base *) 0 ;
1938  void *argp1 = 0 ;
1939  int res1 = 0 ;
1940  double result;
1941 
1942  if (SWIG_GetArgs(interp, objc, objv,"o:a_base_small self ",(void *)0) == TCL_ERROR) SWIG_fail;
1943  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, 0 | 0 );
1944  if (!SWIG_IsOK(res1)) {
1945  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_base_small" "', argument " "1"" of type '" "a_base const *""'");
1946  }
1947  arg1 = reinterpret_cast< a_base * >(argp1);
1948  result = (double)((a_base const *)arg1)->small();
1949  Tcl_SetObjResult(interp,SWIG_From_double(static_cast< double >(result)));
1950  return TCL_OK;
1951 fail:
1952  return TCL_ERROR;
1953 }
1954 
1955 
1956 SWIGINTERN int
1957 _wrap_a_base_small(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1958  Tcl_Obj *CONST *argv = objv+1;
1959  int argc = objc-1;
1960  if (argc == 1) {
1961  int _v;
1962  void *vptr = 0;
1963  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_base, 0);
1964  _v = SWIG_CheckState(res);
1965  if (_v) {
1966  return _wrap_a_base_small__SWIG_1(clientData, interp, objc, argv - 1);
1967  }
1968  }
1969  if (argc == 2) {
1970  int _v;
1971  void *vptr = 0;
1972  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_base, 0);
1973  _v = SWIG_CheckState(res);
1974  if (_v) {
1975  {
1976  int res = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(argv[1], NULL);
1977  _v = SWIG_CheckState(res);
1978  }
1979  if (_v) {
1980  return _wrap_a_base_small__SWIG_0(clientData, interp, objc, argv - 1);
1981  }
1982  }
1983  }
1984 
1985  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_base_small'.\n"
1986  " Possible C/C++ prototypes are:\n"
1987  " a_base::small(double)\n"
1988  " a_base::small() const\n", TCL_STATIC);
1989  return TCL_ERROR;
1990 }
1991 
1992 
1993 SWIGINTERN int
1994 _wrap_a_base_print(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
1995  a_base *arg1 = (a_base *) 0 ;
1996  void *argp1 = 0 ;
1997  int res1 = 0 ;
1998  std::string result;
1999 
2000  if (SWIG_GetArgs(interp, objc, objv,"o:a_base_print self ",(void *)0) == TCL_ERROR) SWIG_fail;
2001  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, 0 | 0 );
2002  if (!SWIG_IsOK(res1)) {
2003  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_base_print" "', argument " "1"" of type '" "a_base *""'");
2004  }
2005  arg1 = reinterpret_cast< a_base * >(argp1);
2006  result = a_base_print(arg1);
2007  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2008  return TCL_OK;
2009 fail:
2010  return TCL_ERROR;
2011 }
2012 
2013 
2014 SWIGINTERN int
2015 _wrap_new_a_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2016  a_base *result = 0 ;
2017 
2018  if (SWIG_GetArgs(interp, objc, objv,":new_a_base ") == TCL_ERROR) SWIG_fail;
2019  result = (a_base *)new a_base();
2020  Tcl_SetObjResult(interp, SWIG_NewInstanceObj( SWIG_as_voidptr(result), SWIGTYPE_p_a_base,0));
2021  return TCL_OK;
2022 fail:
2023  return TCL_ERROR;
2024 }
2025 
2026 
2027 SWIGINTERN int
2028 _wrap_delete_a_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2029  a_base *arg1 = (a_base *) 0 ;
2030  void *argp1 = 0 ;
2031  int res1 = 0 ;
2032 
2033  if (SWIG_GetArgs(interp, objc, objv,"o:delete_a_base self ",(void *)0) == TCL_ERROR) SWIG_fail;
2034  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_base, SWIG_POINTER_DISOWN | 0 );
2035  if (!SWIG_IsOK(res1)) {
2036  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_a_base" "', argument " "1"" of type '" "a_base *""'");
2037  }
2038  arg1 = reinterpret_cast< a_base * >(argp1);
2039  delete arg1;
2040 
2041  return TCL_OK;
2042 fail:
2043  return TCL_ERROR;
2044 }
2045 
2046 
2048 a_base *arg1 = (a_base *) obj;
2049 delete arg1;
2050 }
2052  {"classname", _wrap_a_base_classname},
2053  {"small", _wrap_a_base_small},
2054  {"print", _wrap_a_base_print},
2055  {0,0}
2056 };
2058  {0,0,0}
2059 };
2061 static const char * swig_a_base_base_names[] = {0};
2063 SWIGINTERN int
2064 _wrap_a_text_base_classname(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2065  a_text_base *arg1 = (a_text_base *) 0 ;
2066  void *argp1 = 0 ;
2067  int res1 = 0 ;
2068  std::string result;
2069 
2070  if (SWIG_GetArgs(interp, objc, objv,"o:a_text_base_classname self ",(void *)0) == TCL_ERROR) SWIG_fail;
2071  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text_base, 0 | 0 );
2072  if (!SWIG_IsOK(res1)) {
2073  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_base_classname" "', argument " "1"" of type '" "a_text_base *""'");
2074  }
2075  arg1 = reinterpret_cast< a_text_base * >(argp1);
2076  result = (arg1)->classname();
2077  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2078  return TCL_OK;
2079 fail:
2080  return TCL_ERROR;
2081 }
2082 
2083 
2084 SWIGINTERN int
2085 _wrap_a_text_base_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2086  std::string result;
2087 
2088  if (SWIG_GetArgs(interp, objc, objv,":a_text_base_help ") == TCL_ERROR) SWIG_fail;
2089  result = a_text_base::help();
2090  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2091  return TCL_OK;
2092 fail:
2093  return TCL_ERROR;
2094 }
2095 
2096 
2097 SWIGINTERN int
2098 _wrap_new_a_text_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2099  a_text_base *result = 0 ;
2100 
2101  if (SWIG_GetArgs(interp, objc, objv,":new_a_text_base ") == TCL_ERROR) SWIG_fail;
2102  result = (a_text_base *)new a_text_base();
2103  Tcl_SetObjResult(interp, SWIG_NewInstanceObj( SWIG_as_voidptr(result), SWIGTYPE_p_a_text_base,0));
2104  return TCL_OK;
2105 fail:
2106  return TCL_ERROR;
2107 }
2108 
2109 
2110 SWIGINTERN int
2111 _wrap_delete_a_text_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2112  a_text_base *arg1 = (a_text_base *) 0 ;
2113  void *argp1 = 0 ;
2114  int res1 = 0 ;
2115 
2116  if (SWIG_GetArgs(interp, objc, objv,"o:delete_a_text_base self ",(void *)0) == TCL_ERROR) SWIG_fail;
2117  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text_base, SWIG_POINTER_DISOWN | 0 );
2118  if (!SWIG_IsOK(res1)) {
2119  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_a_text_base" "', argument " "1"" of type '" "a_text_base *""'");
2120  }
2121  arg1 = reinterpret_cast< a_text_base * >(argp1);
2122  delete arg1;
2123 
2124  return TCL_OK;
2125 fail:
2126  return TCL_ERROR;
2127 }
2128 
2129 
2131 a_text_base *arg1 = (a_text_base *) obj;
2132 delete arg1;
2133 }
2135  {"classname", _wrap_a_text_base_classname},
2136  {0,0}
2137 };
2139  {0,0,0}
2140 };
2142 static const char * swig_a_text_base_base_names[] = {"a_base *",0};
2144 SWIGINTERN int
2145 _wrap_new_a_text(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2146  a_text *result = 0 ;
2147 
2148  if (SWIG_GetArgs(interp, objc, objv,":new_a_text ") == TCL_ERROR) SWIG_fail;
2149  result = (a_text *)new a_text();
2150  Tcl_SetObjResult(interp, SWIG_NewInstanceObj( SWIG_as_voidptr(result), SWIGTYPE_p_a_text,0));
2151  return TCL_OK;
2152 fail:
2153  return TCL_ERROR;
2154 }
2155 
2156 
2157 SWIGINTERN int
2158 _wrap_delete_a_text(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2159  a_text *arg1 = (a_text *) 0 ;
2160  void *argp1 = 0 ;
2161  int res1 = 0 ;
2162 
2163  if (SWIG_GetArgs(interp, objc, objv,"o:delete_a_text self ",(void *)0) == TCL_ERROR) SWIG_fail;
2164  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, SWIG_POINTER_DISOWN | 0 );
2165  if (!SWIG_IsOK(res1)) {
2166  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_a_text" "', argument " "1"" of type '" "a_text *""'");
2167  }
2168  arg1 = reinterpret_cast< a_text * >(argp1);
2169  delete arg1;
2170 
2171  return TCL_OK;
2172 fail:
2173  return TCL_ERROR;
2174 }
2175 
2176 
2177 SWIGINTERN int
2178 _wrap_a_text_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2179  std::string result;
2180 
2181  if (SWIG_GetArgs(interp, objc, objv,":a_text_help ") == TCL_ERROR) SWIG_fail;
2182  result = a_text::help();
2183  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2184  return TCL_OK;
2185 fail:
2186  return TCL_ERROR;
2187 }
2188 
2189 
2190 SWIGINTERN int
2191 _wrap_a_text_file(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2192  a_text *arg1 = (a_text *) 0 ;
2193  std::string *arg2 = 0 ;
2194  void *argp1 = 0 ;
2195  int res1 = 0 ;
2196  int res2 = SWIG_OLDOBJ ;
2197 
2198  if (SWIG_GetArgs(interp, objc, objv,"oo:a_text_file self file ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2199  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2200  if (!SWIG_IsOK(res1)) {
2201  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_file" "', argument " "1"" of type '" "a_text *""'");
2202  }
2203  arg1 = reinterpret_cast< a_text * >(argp1);
2204  {
2205  std::string *ptr = (std::string *)0;
2206  res2 = SWIG_AsPtr_std_string SWIG_TCL_CALL_ARGS_2(objv[2], &ptr);
2207  if (!SWIG_IsOK(res2)) {
2208  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_text_file" "', argument " "2"" of type '" "std::string const &""'");
2209  }
2210  if (!ptr) {
2211  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_text_file" "', argument " "2"" of type '" "std::string const &""'");
2212  }
2213  arg2 = ptr;
2214  }
2215  (arg1)->file((std::string const &)*arg2);
2216 
2217  if (SWIG_IsNewObj(res2)) delete arg2;
2218  return TCL_OK;
2219 fail:
2220  if (SWIG_IsNewObj(res2)) delete arg2;
2221  return TCL_ERROR;
2222 }
2223 
2224 
2225 SWIGINTERN int
2226 _wrap_a_text_user_unit__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2227  a_text *arg1 = (a_text *) 0 ;
2228  a_unit_system *arg2 = 0 ;
2229  void *argp1 = 0 ;
2230  int res1 = 0 ;
2231  void *argp2 = 0 ;
2232  int res2 = 0 ;
2233 
2234  if (SWIG_GetArgs(interp, objc, objv,"oo:a_text_user_unit self unit ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2235  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2236  if (!SWIG_IsOK(res1)) {
2237  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_user_unit" "', argument " "1"" of type '" "a_text *""'");
2238  }
2239  arg1 = reinterpret_cast< a_text * >(argp1);
2240  res2 = SWIG_ConvertPtr(objv[2], &argp2, SWIGTYPE_p_a_unit_system, 0 );
2241  if (!SWIG_IsOK(res2)) {
2242  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_text_user_unit" "', argument " "2"" of type '" "a_unit_system &""'");
2243  }
2244  if (!argp2) {
2245  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_text_user_unit" "', argument " "2"" of type '" "a_unit_system &""'");
2246  }
2247  arg2 = reinterpret_cast< a_unit_system * >(argp2);
2248  (arg1)->user_unit(*arg2);
2249 
2250  return TCL_OK;
2251 fail:
2252  return TCL_ERROR;
2253 }
2254 
2255 
2256 SWIGINTERN int
2257 _wrap_a_text_user_unit__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2258  a_text *arg1 = (a_text *) 0 ;
2259  void *argp1 = 0 ;
2260  int res1 = 0 ;
2261  a_unit_system *result = 0 ;
2262 
2263  if (SWIG_GetArgs(interp, objc, objv,"o:a_text_user_unit self ",(void *)0) == TCL_ERROR) SWIG_fail;
2264  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2265  if (!SWIG_IsOK(res1)) {
2266  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_user_unit" "', argument " "1"" of type '" "a_text *""'");
2267  }
2268  arg1 = reinterpret_cast< a_text * >(argp1);
2269  result = (a_unit_system *) &(arg1)->user_unit();
2270  Tcl_SetObjResult(interp, SWIG_NewInstanceObj( SWIG_as_voidptr(result), SWIGTYPE_p_a_unit_system,0));
2271  return TCL_OK;
2272 fail:
2273  return TCL_ERROR;
2274 }
2275 
2276 
2277 SWIGINTERN int
2278 _wrap_a_text_user_unit(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2279  Tcl_Obj *CONST *argv = objv+1;
2280  int argc = objc-1;
2281  if (argc == 1) {
2282  int _v;
2283  void *vptr = 0;
2284  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_text, 0);
2285  _v = SWIG_CheckState(res);
2286  if (_v) {
2287  return _wrap_a_text_user_unit__SWIG_1(clientData, interp, objc, argv - 1);
2288  }
2289  }
2290  if (argc == 2) {
2291  int _v;
2292  void *vptr = 0;
2293  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_text, 0);
2294  _v = SWIG_CheckState(res);
2295  if (_v) {
2296  void *vptr = 0;
2298  _v = SWIG_CheckState(res);
2299  if (_v) {
2300  return _wrap_a_text_user_unit__SWIG_0(clientData, interp, objc, argv - 1);
2301  }
2302  }
2303  }
2304 
2305  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_text_user_unit'.\n"
2306  " Possible C/C++ prototypes are:\n"
2307  " a_text::user_unit(a_unit_system &)\n"
2308  " a_text::user_unit()\n", TCL_STATIC);
2309  return TCL_ERROR;
2310 }
2311 
2312 
2313 SWIGINTERN int
2314 _wrap_a_text_on(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2315  a_text *arg1 = (a_text *) 0 ;
2316  void *argp1 = 0 ;
2317  int res1 = 0 ;
2318 
2319  if (SWIG_GetArgs(interp, objc, objv,"o:a_text_on self ",(void *)0) == TCL_ERROR) SWIG_fail;
2320  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2321  if (!SWIG_IsOK(res1)) {
2322  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_on" "', argument " "1"" of type '" "a_text *""'");
2323  }
2324  arg1 = reinterpret_cast< a_text * >(argp1);
2325  (arg1)->on();
2326 
2327  return TCL_OK;
2328 fail:
2329  return TCL_ERROR;
2330 }
2331 
2332 
2333 SWIGINTERN int
2334 _wrap_a_text_off(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2335  a_text *arg1 = (a_text *) 0 ;
2336  void *argp1 = 0 ;
2337  int res1 = 0 ;
2338 
2339  if (SWIG_GetArgs(interp, objc, objv,"o:a_text_off self ",(void *)0) == TCL_ERROR) SWIG_fail;
2340  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2341  if (!SWIG_IsOK(res1)) {
2342  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_off" "', argument " "1"" of type '" "a_text *""'");
2343  }
2344  arg1 = reinterpret_cast< a_text * >(argp1);
2345  (arg1)->off();
2346 
2347  return TCL_OK;
2348 fail:
2349  return TCL_ERROR;
2350 }
2351 
2352 
2353 SWIGINTERN int
2354 _wrap_a_text_dimension__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2355  a_text *arg1 = (a_text *) 0 ;
2356  int arg2 ;
2357  void *argp1 = 0 ;
2358  int res1 = 0 ;
2359  int val2 ;
2360  int ecode2 = 0 ;
2361 
2362  if (SWIG_GetArgs(interp, objc, objv,"oo:a_text_dimension self dim ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2363  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2364  if (!SWIG_IsOK(res1)) {
2365  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_dimension" "', argument " "1"" of type '" "a_text *""'");
2366  }
2367  arg1 = reinterpret_cast< a_text * >(argp1);
2368  ecode2 = SWIG_AsVal_int SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2369  if (!SWIG_IsOK(ecode2)) {
2370  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_text_dimension" "', argument " "2"" of type '" "int""'");
2371  }
2372  arg2 = static_cast< int >(val2);
2373  (arg1)->dimension(arg2);
2374 
2375  return TCL_OK;
2376 fail:
2377  return TCL_ERROR;
2378 }
2379 
2380 
2381 SWIGINTERN int
2382 _wrap_a_text_dimension__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2383  a_text *arg1 = (a_text *) 0 ;
2384  void *argp1 = 0 ;
2385  int res1 = 0 ;
2386  int result;
2387 
2388  if (SWIG_GetArgs(interp, objc, objv,"o:a_text_dimension self ",(void *)0) == TCL_ERROR) SWIG_fail;
2389  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2390  if (!SWIG_IsOK(res1)) {
2391  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_dimension" "', argument " "1"" of type '" "a_text const *""'");
2392  }
2393  arg1 = reinterpret_cast< a_text * >(argp1);
2394  result = (int)((a_text const *)arg1)->dimension();
2395  Tcl_SetObjResult(interp,SWIG_From_int(static_cast< int >(result)));
2396  return TCL_OK;
2397 fail:
2398  return TCL_ERROR;
2399 }
2400 
2401 
2402 SWIGINTERN int
2403 _wrap_a_text_dimension(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2404  Tcl_Obj *CONST *argv = objv+1;
2405  int argc = objc-1;
2406  if (argc == 1) {
2407  int _v;
2408  void *vptr = 0;
2409  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_text, 0);
2410  _v = SWIG_CheckState(res);
2411  if (_v) {
2412  return _wrap_a_text_dimension__SWIG_1(clientData, interp, objc, argv - 1);
2413  }
2414  }
2415  if (argc == 2) {
2416  int _v;
2417  void *vptr = 0;
2418  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_text, 0);
2419  _v = SWIG_CheckState(res);
2420  if (_v) {
2421  {
2422  int res = SWIG_AsVal_int SWIG_TCL_CALL_ARGS_2(argv[1], NULL);
2423  _v = SWIG_CheckState(res);
2424  }
2425  if (_v) {
2426  return _wrap_a_text_dimension__SWIG_0(clientData, interp, objc, argv - 1);
2427  }
2428  }
2429  }
2430 
2431  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_text_dimension'.\n"
2432  " Possible C/C++ prototypes are:\n"
2433  " a_text::dimension(int)\n"
2434  " a_text::dimension() const\n", TCL_STATIC);
2435  return TCL_ERROR;
2436 }
2437 
2438 
2439 SWIGINTERN int
2440 _wrap_a_text_flush(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2441  a_text *arg1 = (a_text *) 0 ;
2442  void *argp1 = 0 ;
2443  int res1 = 0 ;
2444 
2445  if (SWIG_GetArgs(interp, objc, objv,"o:a_text_flush self ",(void *)0) == TCL_ERROR) SWIG_fail;
2446  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2447  if (!SWIG_IsOK(res1)) {
2448  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_flush" "', argument " "1"" of type '" "a_text *""'");
2449  }
2450  arg1 = reinterpret_cast< a_text * >(argp1);
2451  (arg1)->flush();
2452 
2453  return TCL_OK;
2454 fail:
2455  return TCL_ERROR;
2456 }
2457 
2458 
2459 SWIGINTERN int
2460 _wrap_a_text_put(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2461  a_text *arg1 = (a_text *) 0 ;
2462  std::string *arg2 = 0 ;
2463  void *argp1 = 0 ;
2464  int res1 = 0 ;
2465  int res2 = SWIG_OLDOBJ ;
2466 
2467  if (SWIG_GetArgs(interp, objc, objv,"oo:a_text_put self text ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2468  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2469  if (!SWIG_IsOK(res1)) {
2470  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_put" "', argument " "1"" of type '" "a_text *""'");
2471  }
2472  arg1 = reinterpret_cast< a_text * >(argp1);
2473  {
2474  std::string *ptr = (std::string *)0;
2475  res2 = SWIG_AsPtr_std_string SWIG_TCL_CALL_ARGS_2(objv[2], &ptr);
2476  if (!SWIG_IsOK(res2)) {
2477  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_text_put" "', argument " "2"" of type '" "std::string const &""'");
2478  }
2479  if (!ptr) {
2480  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_text_put" "', argument " "2"" of type '" "std::string const &""'");
2481  }
2482  arg2 = ptr;
2483  }
2484  a_text_put(arg1,(std::string const &)*arg2);
2485 
2486  if (SWIG_IsNewObj(res2)) delete arg2;
2487  return TCL_OK;
2488 fail:
2489  if (SWIG_IsNewObj(res2)) delete arg2;
2490  return TCL_ERROR;
2491 }
2492 
2493 
2494 SWIGINTERN int
2495 _wrap_a_text_comment(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2496  a_text *arg1 = (a_text *) 0 ;
2497  std::string *arg2 = 0 ;
2498  void *argp1 = 0 ;
2499  int res1 = 0 ;
2500  int res2 = SWIG_OLDOBJ ;
2501 
2502  if (SWIG_GetArgs(interp, objc, objv,"oo:a_text_comment self text ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2503  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2504  if (!SWIG_IsOK(res1)) {
2505  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_comment" "', argument " "1"" of type '" "a_text *""'");
2506  }
2507  arg1 = reinterpret_cast< a_text * >(argp1);
2508  {
2509  std::string *ptr = (std::string *)0;
2510  res2 = SWIG_AsPtr_std_string SWIG_TCL_CALL_ARGS_2(objv[2], &ptr);
2511  if (!SWIG_IsOK(res2)) {
2512  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_text_comment" "', argument " "2"" of type '" "std::string const &""'");
2513  }
2514  if (!ptr) {
2515  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_text_comment" "', argument " "2"" of type '" "std::string const &""'");
2516  }
2517  arg2 = ptr;
2518  }
2519  a_text_comment(arg1,(std::string const &)*arg2);
2520 
2521  if (SWIG_IsNewObj(res2)) delete arg2;
2522  return TCL_OK;
2523 fail:
2524  if (SWIG_IsNewObj(res2)) delete arg2;
2525  return TCL_ERROR;
2526 }
2527 
2528 
2529 SWIGINTERN int
2530 _wrap_a_text_putd(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2531  a_text *arg1 = (a_text *) 0 ;
2532  double arg2 ;
2533  void *argp1 = 0 ;
2534  int res1 = 0 ;
2535  double val2 ;
2536  int ecode2 = 0 ;
2537 
2538  if (SWIG_GetArgs(interp, objc, objv,"oo:a_text_putd self v ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2539  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2540  if (!SWIG_IsOK(res1)) {
2541  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_putd" "', argument " "1"" of type '" "a_text *""'");
2542  }
2543  arg1 = reinterpret_cast< a_text * >(argp1);
2544  ecode2 = SWIG_AsVal_double SWIG_TCL_CALL_ARGS_2(objv[2], &val2);
2545  if (!SWIG_IsOK(ecode2)) {
2546  SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "a_text_putd" "', argument " "2"" of type '" "double""'");
2547  }
2548  arg2 = static_cast< double >(val2);
2549  a_text_putd(arg1,arg2);
2550 
2551  return TCL_OK;
2552 fail:
2553  return TCL_ERROR;
2554 }
2555 
2556 
2557 SWIGINTERN int
2558 _wrap_a_text_unit__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2559  a_text *arg1 = (a_text *) 0 ;
2560  void *argp1 = 0 ;
2561  int res1 = 0 ;
2562  std::string result;
2563 
2564  if (SWIG_GetArgs(interp, objc, objv,"o:a_text_unit self ",(void *)0) == TCL_ERROR) SWIG_fail;
2565  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2566  if (!SWIG_IsOK(res1)) {
2567  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_unit" "', argument " "1"" of type '" "a_text const *""'");
2568  }
2569  arg1 = reinterpret_cast< a_text * >(argp1);
2570  result = a_text_unit__SWIG_0((a_text const *)arg1);
2571  Tcl_SetObjResult(interp,SWIG_From_std_string(static_cast< std::string >(result)));
2572  return TCL_OK;
2573 fail:
2574  return TCL_ERROR;
2575 }
2576 
2577 
2578 SWIGINTERN int
2579 _wrap_a_text_unit__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2580  a_text *arg1 = (a_text *) 0 ;
2581  std::string *arg2 = 0 ;
2582  void *argp1 = 0 ;
2583  int res1 = 0 ;
2584  int res2 = SWIG_OLDOBJ ;
2585 
2586  if (SWIG_GetArgs(interp, objc, objv,"oo:a_text_unit self code ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2587  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2588  if (!SWIG_IsOK(res1)) {
2589  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_unit" "', argument " "1"" of type '" "a_text *""'");
2590  }
2591  arg1 = reinterpret_cast< a_text * >(argp1);
2592  {
2593  std::string *ptr = (std::string *)0;
2594  res2 = SWIG_AsPtr_std_string SWIG_TCL_CALL_ARGS_2(objv[2], &ptr);
2595  if (!SWIG_IsOK(res2)) {
2596  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_text_unit" "', argument " "2"" of type '" "std::string const &""'");
2597  }
2598  if (!ptr) {
2599  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_text_unit" "', argument " "2"" of type '" "std::string const &""'");
2600  }
2601  arg2 = ptr;
2602  }
2603  a_text_unit__SWIG_1(arg1,(std::string const &)*arg2);
2604 
2605  if (SWIG_IsNewObj(res2)) delete arg2;
2606  return TCL_OK;
2607 fail:
2608  if (SWIG_IsNewObj(res2)) delete arg2;
2609  return TCL_ERROR;
2610 }
2611 
2612 
2613 SWIGINTERN int
2614 _wrap_a_text_unit(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2615  Tcl_Obj *CONST *argv = objv+1;
2616  int argc = objc-1;
2617  if (argc == 1) {
2618  int _v;
2619  void *vptr = 0;
2620  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_text, 0);
2621  _v = SWIG_CheckState(res);
2622  if (_v) {
2623  return _wrap_a_text_unit__SWIG_0(clientData, interp, objc, argv - 1);
2624  }
2625  }
2626  if (argc == 2) {
2627  int _v;
2628  void *vptr = 0;
2629  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_a_text, 0);
2630  _v = SWIG_CheckState(res);
2631  if (_v) {
2632  int res = SWIG_AsPtr_std_string SWIG_TCL_CALL_ARGS_2(argv[1], (std::string**)(0));
2633  _v = SWIG_CheckState(res);
2634  if (_v) {
2635  return _wrap_a_text_unit__SWIG_1(clientData, interp, objc, argv - 1);
2636  }
2637  }
2638  }
2639 
2640  Tcl_SetResult(interp,(char *) "Wrong number or type of arguments for overloaded function 'a_text_unit'.\n"
2641  " Possible C/C++ prototypes are:\n"
2642  " a_text::unit() const\n"
2643  " a_text::unit(std::string const &)\n", TCL_STATIC);
2644  return TCL_ERROR;
2645 }
2646 
2647 
2648 SWIGINTERN int
2649 _wrap_a_text_endl(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
2650  a_text *arg1 = (a_text *) 0 ;
2651  std::string *arg2 = 0 ;
2652  void *argp1 = 0 ;
2653  int res1 = 0 ;
2654  int res2 = SWIG_OLDOBJ ;
2655 
2656  if (SWIG_GetArgs(interp, objc, objv,"oo:a_text_endl self code ",(void *)0,(void *)0) == TCL_ERROR) SWIG_fail;
2657  res1 = SWIG_ConvertPtr(objv[1], &argp1,SWIGTYPE_p_a_text, 0 | 0 );
2658  if (!SWIG_IsOK(res1)) {
2659  SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "a_text_endl" "', argument " "1"" of type '" "a_text *""'");
2660  }
2661  arg1 = reinterpret_cast< a_text * >(argp1);
2662  {
2663  std::string *ptr = (std::string *)0;
2664  res2 = SWIG_AsPtr_std_string SWIG_TCL_CALL_ARGS_2(objv[2], &ptr);
2665  if (!SWIG_IsOK(res2)) {
2666  SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "a_text_endl" "', argument " "2"" of type '" "std::string const &""'");
2667  }
2668  if (!ptr) {
2669  SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "a_text_endl" "', argument " "2"" of type '" "std::string const &""'");
2670  }
2671  arg2 = ptr;
2672  }
2673  a_text_endl(arg1,(std::string const &)*arg2);
2674 
2675  if (SWIG_IsNewObj(res2)) delete arg2;
2676  return TCL_OK;
2677 fail:
2678  if (SWIG_IsNewObj(res2)) delete arg2;
2679  return TCL_ERROR;
2680 }
2681 
2682 
2684 a_text *arg1 = (a_text *) obj;
2685 delete arg1;
2686 }
2688  {"file", _wrap_a_text_file},
2689  {"user_unit", _wrap_a_text_user_unit},
2690  {"on", _wrap_a_text_on},
2691  {"off", _wrap_a_text_off},
2692  {"dimension", _wrap_a_text_dimension},
2693  {"flush", _wrap_a_text_flush},
2694  {"put", _wrap_a_text_put},
2695  {"comment", _wrap_a_text_comment},
2696  {"putd", _wrap_a_text_putd},
2697  {"unit", _wrap_a_text_unit},
2698  {"endl", _wrap_a_text_endl},
2699  {0,0}
2700 };
2702  {0,0,0}
2703 };
2704 static swig_class *swig_a_text_bases[] = {0,0};
2705 static const char * swig_a_text_base_names[] = {"a_text_base *",0};
2707 
2709  { SWIG_prefix "a_base_classname", (swig_wrapper_func) _wrap_a_base_classname, NULL},
2710  { SWIG_prefix "a_base_help", (swig_wrapper_func) _wrap_a_base_help, NULL},
2711  { SWIG_prefix "a_base_small", (swig_wrapper_func) _wrap_a_base_small, NULL},
2712  { SWIG_prefix "a_base_print", (swig_wrapper_func) _wrap_a_base_print, NULL},
2713  { SWIG_prefix "new_a_base", (swig_wrapper_func) _wrap_new_a_base, NULL},
2714  { SWIG_prefix "delete_a_base", (swig_wrapper_func) _wrap_delete_a_base, NULL},
2716  { SWIG_prefix "a_text_base_classname", (swig_wrapper_func) _wrap_a_text_base_classname, NULL},
2717  { SWIG_prefix "a_text_base_help", (swig_wrapper_func) _wrap_a_text_base_help, NULL},
2718  { SWIG_prefix "new_a_text_base", (swig_wrapper_func) _wrap_new_a_text_base, NULL},
2719  { SWIG_prefix "delete_a_text_base", (swig_wrapper_func) _wrap_delete_a_text_base, NULL},
2721  { SWIG_prefix "new_a_text", (swig_wrapper_func) _wrap_new_a_text, NULL},
2722  { SWIG_prefix "delete_a_text", (swig_wrapper_func) _wrap_delete_a_text, NULL},
2723  { SWIG_prefix "a_text_help", (swig_wrapper_func) _wrap_a_text_help, NULL},
2724  { SWIG_prefix "a_text_file", (swig_wrapper_func) _wrap_a_text_file, NULL},
2725  { SWIG_prefix "a_text_user_unit", (swig_wrapper_func) _wrap_a_text_user_unit, NULL},
2726  { SWIG_prefix "a_text_on", (swig_wrapper_func) _wrap_a_text_on, NULL},
2727  { SWIG_prefix "a_text_off", (swig_wrapper_func) _wrap_a_text_off, NULL},
2728  { SWIG_prefix "a_text_dimension", (swig_wrapper_func) _wrap_a_text_dimension, NULL},
2729  { SWIG_prefix "a_text_flush", (swig_wrapper_func) _wrap_a_text_flush, NULL},
2730  { SWIG_prefix "a_text_put", (swig_wrapper_func) _wrap_a_text_put, NULL},
2731  { SWIG_prefix "a_text_comment", (swig_wrapper_func) _wrap_a_text_comment, NULL},
2732  { SWIG_prefix "a_text_putd", (swig_wrapper_func) _wrap_a_text_putd, NULL},
2733  { SWIG_prefix "a_text_unit", (swig_wrapper_func) _wrap_a_text_unit, NULL},
2734  { SWIG_prefix "a_text_endl", (swig_wrapper_func) _wrap_a_text_endl, NULL},
2736  {0, 0, 0}
2737 };
2738 
2740  {0,0,0,0}
2741 };
2742 
2744  {0,0,0,0,0,0}
2745 };
2746 
2747 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
2748 
2749 static void *_p_a_textTo_p_a_text_base(void *x, int *SWIGUNUSEDPARM(newmemory)) {
2750  return (void *)((a_text_base *) ((a_text *) x));
2751 }
2752 static void *_p_a_text_baseTo_p_a_base(void *x, int *SWIGUNUSEDPARM(newmemory)) {
2753  return (void *)((a_base *) ((a_text_base *) x));
2754 }
2755 static void *_p_a_textTo_p_a_base(void *x, int *SWIGUNUSEDPARM(newmemory)) {
2756  return (void *)((a_base *) (a_text_base *) ((a_text *) x));
2757 }
2758 static swig_type_info _swigt__p_a_base = {"_p_a_base", "a_base *", 0, 0, (void*)&_wrap_class_a_base, 0};
2759 static swig_type_info _swigt__p_a_text = {"_p_a_text", "a_text *", 0, 0, (void*)&_wrap_class_a_text, 0};
2760 static swig_type_info _swigt__p_a_text_base = {"_p_a_text_base", "a_text_base *", 0, 0, (void*)&_wrap_class_a_text_base, 0};
2761 static swig_type_info _swigt__p_a_unit_system = {"_p_a_unit_system", "a_unit_system *", 0, 0, (void*)0, 0};
2762 static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
2763 
2769  &_swigt__p_char,
2770 };
2771 
2773 static swig_cast_info _swigc__p_a_text[] = { {&_swigt__p_a_text, 0, 0, 0},{0, 0, 0, 0}};
2775 static swig_cast_info _swigc__p_a_unit_system[] = { {&_swigt__p_a_unit_system, 0, 0, 0},{0, 0, 0, 0}};
2776 static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
2777 
2784 };
2785 
2786 
2787 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
2788 
2789 #ifdef __cplusplus
2790 }
2791 #endif
2792 /* -----------------------------------------------------------------------------
2793  * Type initialization:
2794  * This problem is tough by the requirement that no dynamic
2795  * memory is used. Also, since swig_type_info structures store pointers to
2796  * swig_cast_info structures and swig_cast_info structures store pointers back
2797  * to swig_type_info structures, we need some lookup code at initialization.
2798  * The idea is that swig generates all the structures that are needed.
2799  * The runtime then collects these partially filled structures.
2800  * The SWIG_InitializeModule function takes these initial arrays out of
2801  * swig_module, and does all the lookup, filling in the swig_module.types
2802  * array with the correct data and linking the correct swig_cast_info
2803  * structures together.
2804  *
2805  * The generated swig_type_info structures are assigned statically to an initial
2806  * array. We just loop through that array, and handle each type individually.
2807  * First we lookup if this type has been already loaded, and if so, use the
2808  * loaded structure instead of the generated one. Then we have to fill in the
2809  * cast linked list. The cast data is initially stored in something like a
2810  * two-dimensional array. Each row corresponds to a type (there are the same
2811  * number of rows as there are in the swig_type_initial array). Each entry in
2812  * a column is one of the swig_cast_info structures for that type.
2813  * The cast_initial array is actually an array of arrays, because each row has
2814  * a variable number of columns. So to actually build the cast linked list,
2815  * we find the array of casts associated with the type, and loop through it
2816  * adding the casts to the list. The one last trick we need to do is making
2817  * sure the type pointer in the swig_cast_info struct is correct.
2818  *
2819  * First off, we lookup the cast->type name to see if it is already loaded.
2820  * There are three cases to handle:
2821  * 1) If the cast->type has already been loaded AND the type we are adding
2822  * casting info to has not been loaded (it is in this module), THEN we
2823  * replace the cast->type pointer with the type pointer that has already
2824  * been loaded.
2825  * 2) If BOTH types (the one we are adding casting info to, and the
2826  * cast->type) are loaded, THEN the cast info has already been loaded by
2827  * the previous module so we just ignore it.
2828  * 3) Finally, if cast->type has not already been loaded, then we add that
2829  * swig_cast_info to the linked list (because the cast->type) pointer will
2830  * be correct.
2831  * ----------------------------------------------------------------------------- */
2832 
2833 #ifdef __cplusplus
2834 extern "C" {
2835 #if 0
2836 } /* c-mode */
2837 #endif
2838 #endif
2839 
2840 #if 0
2841 #define SWIGRUNTIME_DEBUG
2842 #endif
2843 
2844 
2845 SWIGRUNTIME void
2846 SWIG_InitializeModule(void *clientdata) {
2847  size_t i;
2848  swig_module_info *module_head, *iter;
2849  int init;
2850 
2851  /* check to see if the circular list has been setup, if not, set it up */
2852  if (swig_module.next==0) {
2853  /* Initialize the swig_module */
2857  init = 1;
2858  } else {
2859  init = 0;
2860  }
2861 
2862  /* Try and load any already created modules */
2863  module_head = SWIG_GetModule(clientdata);
2864  if (!module_head) {
2865  /* This is the first module loaded for this interpreter */
2866  /* so set the swig module into the interpreter */
2867  SWIG_SetModule(clientdata, &swig_module);
2868  } else {
2869  /* the interpreter has loaded a SWIG module, but has it loaded this one? */
2870  iter=module_head;
2871  do {
2872  if (iter==&swig_module) {
2873  /* Our module is already in the list, so there's nothing more to do. */
2874  return;
2875  }
2876  iter=iter->next;
2877  } while (iter!= module_head);
2878 
2879  /* otherwise we must add our module into the list */
2880  swig_module.next = module_head->next;
2881  module_head->next = &swig_module;
2882  }
2883 
2884  /* When multiple interpreters are used, a module could have already been initialized in
2885  a different interpreter, but not yet have a pointer in this interpreter.
2886  In this case, we do not want to continue adding types... everything should be
2887  set up already */
2888  if (init == 0) return;
2889 
2890  /* Now work on filling in swig_module.types */
2891 #ifdef SWIGRUNTIME_DEBUG
2892  printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
2893 #endif
2894  for (i = 0; i < swig_module.size; ++i) {
2895  swig_type_info *type = 0;
2896  swig_type_info *ret;
2897  swig_cast_info *cast;
2898 
2899 #ifdef SWIGRUNTIME_DEBUG
2900  printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
2901 #endif
2902 
2903  /* if there is another module already loaded */
2904  if (swig_module.next != &swig_module) {
2906  }
2907  if (type) {
2908  /* Overwrite clientdata field */
2909 #ifdef SWIGRUNTIME_DEBUG
2910  printf("SWIG_InitializeModule: found type %s\n", type->name);
2911 #endif
2914 #ifdef SWIGRUNTIME_DEBUG
2915  printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
2916 #endif
2917  }
2918  } else {
2919  type = swig_module.type_initial[i];
2920  }
2921 
2922  /* Insert casting types */
2923  cast = swig_module.cast_initial[i];
2924  while (cast->type) {
2925  /* Don't need to add information already in the list */
2926  ret = 0;
2927 #ifdef SWIGRUNTIME_DEBUG
2928  printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
2929 #endif
2930  if (swig_module.next != &swig_module) {
2932 #ifdef SWIGRUNTIME_DEBUG
2933  if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
2934 #endif
2935  }
2936  if (ret) {
2937  if (type == swig_module.type_initial[i]) {
2938 #ifdef SWIGRUNTIME_DEBUG
2939  printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
2940 #endif
2941  cast->type = ret;
2942  ret = 0;
2943  } else {
2944  /* Check for casting already in the list */
2945  swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
2946 #ifdef SWIGRUNTIME_DEBUG
2947  if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
2948 #endif
2949  if (!ocast) ret = 0;
2950  }
2951  }
2952 
2953  if (!ret) {
2954 #ifdef SWIGRUNTIME_DEBUG
2955  printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
2956 #endif
2957  if (type->cast) {
2958  type->cast->prev = cast;
2959  cast->next = type->cast;
2960  }
2961  type->cast = cast;
2962  }
2963  cast++;
2964  }
2965  /* Set entry in modules->types array equal to the type */
2966  swig_module.types[i] = type;
2967  }
2968  swig_module.types[i] = 0;
2969 
2970 #ifdef SWIGRUNTIME_DEBUG
2971  printf("**** SWIG_InitializeModule: Cast List ******\n");
2972  for (i = 0; i < swig_module.size; ++i) {
2973  int j = 0;
2975  printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
2976  while (cast->type) {
2977  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
2978  cast++;
2979  ++j;
2980  }
2981  printf("---- Total casts: %d\n",j);
2982  }
2983  printf("**** SWIG_InitializeModule: Cast List ******\n");
2984 #endif
2985 }
2986 
2987 /* This function will propagate the clientdata field of type to
2988 * any new swig_type_info structures that have been added into the list
2989 * of equivalent types. It is like calling
2990 * SWIG_TypeClientData(type, clientdata) a second time.
2991 */
2992 SWIGRUNTIME void
2994  size_t i;
2995  swig_cast_info *equiv;
2996  static int init_run = 0;
2997 
2998  if (init_run) return;
2999  init_run = 1;
3000 
3001  for (i = 0; i < swig_module.size; i++) {
3002  if (swig_module.types[i]->clientdata) {
3003  equiv = swig_module.types[i]->cast;
3004  while (equiv) {
3005  if (!equiv->converter) {
3006  if (equiv->type && !equiv->type->clientdata)
3008  }
3009  equiv = equiv->next;
3010  }
3011  }
3012  }
3013 }
3014 
3015 #ifdef __cplusplus
3016 #if 0
3017 {
3018  /* c-mode */
3019 #endif
3020 }
3021 #endif
3022 
3023 
3024 #ifdef __cplusplus
3025 extern "C" {
3026 #endif
3027 
3028  /* -----------------------------------------------------------------------------
3029  * constants/methods manipulation
3030  * ----------------------------------------------------------------------------- */
3031 
3032  /* Install Constants */
3033 
3034  SWIGINTERN void
3035  SWIG_Tcl_InstallConstants(Tcl_Interp *interp, swig_const_info constants[]) {
3036  size_t i;
3037  Tcl_Obj *obj;
3038 
3039  if (!swigconstTableinit) {
3040  Tcl_InitHashTable(&swigconstTable, TCL_STRING_KEYS);
3041  swigconstTableinit = 1;
3042  }
3043  for (i = 0; constants[i].type; i++) {
3044  switch(constants[i].type) {
3045  case SWIG_TCL_POINTER:
3046  obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
3047  break;
3048  case SWIG_TCL_BINARY:
3049  obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
3050  break;
3051  default:
3052  obj = 0;
3053  break;
3054  }
3055  if (obj) {
3056  SWIG_Tcl_SetConstantObj(interp, constants[i].name, obj);
3057  }
3058  }
3059  }
3060 
3061  /* Create fast method lookup tables */
3062 
3063  SWIGINTERN void
3065  size_t i;
3066 
3067  for (i = 0; i < swig_module.size; ++i) {
3069  if (type->clientdata) {
3070  swig_class* klass = (swig_class*) type->clientdata;
3071  swig_method* meth;
3072  Tcl_InitHashTable(&(klass->hashtable), TCL_STRING_KEYS);
3073  for (meth = klass->methods; meth && meth->name; ++meth) {
3074  int newEntry;
3075  Tcl_HashEntry* hashentry = Tcl_CreateHashEntry(&(klass->hashtable), meth->name, &newEntry);
3076  Tcl_SetHashValue(hashentry, (ClientData)meth->method);
3077  }
3078  }
3079  }
3080  }
3081 
3082 #ifdef __cplusplus
3083 }
3084 #endif
3085 
3086 /* -----------------------------------------------------------------------------*
3087  * Partial Init method
3088  * -----------------------------------------------------------------------------*/
3089 
3090 SWIGEXPORT int SWIG_init(Tcl_Interp *interp) {
3091  size_t i;
3092  if (interp == 0) return TCL_ERROR;
3093 #ifdef USE_TCL_STUBS
3094  /* (char*) cast is required to avoid compiler warning/error for Tcl < 8.4. */
3095  if (Tcl_InitStubs(interp, (char*)SWIG_TCL_STUBS_VERSION, 0) == NULL) {
3096  return TCL_ERROR;
3097  }
3098 #endif
3099 #ifdef USE_TK_STUBS
3100  /* (char*) cast is required to avoid compiler warning/error. */
3101  if (Tk_InitStubs(interp, (char*)SWIG_TCL_STUBS_VERSION, 0) == NULL) {
3102  return TCL_ERROR;
3103  }
3104 #endif
3105 
3106  Tcl_PkgProvide(interp, (char*)SWIG_name, (char*)SWIG_version);
3107 
3108 #ifdef SWIG_namespace
3109  Tcl_Eval(interp, "namespace eval " SWIG_namespace " { }");
3110 #endif
3111 
3112  SWIG_InitializeModule((void *) interp);
3114 
3115  for (i = 0; swig_commands[i].name; i++) {
3116  Tcl_CreateObjCommand(interp, (char *) swig_commands[i].name, (swig_wrapper_func) swig_commands[i].wrapper,
3117  swig_commands[i].clientdata, NULL);
3118  }
3119  for (i = 0; swig_variables[i].name; i++) {
3120  Tcl_SetVar(interp, (char *) swig_variables[i].name, (char *) "", TCL_GLOBAL_ONLY);
3121  Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_READS | TCL_GLOBAL_ONLY,
3122  (Tcl_VarTraceProc *) swig_variables[i].get, (ClientData) swig_variables[i].addr);
3123  Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_WRITES | TCL_GLOBAL_ONLY,
3124  (Tcl_VarTraceProc *) swig_variables[i].set, (ClientData) swig_variables[i].addr);
3125  }
3126 
3129 
3130 
3131 
3132  printf("Points&forces a_text module.\n");
3133  printf("Type a_text_help for an introduction.\n");
3134 
3135  return TCL_OK;
3136 }
3137 SWIGEXPORT int A_text_SafeInit(Tcl_Interp *interp) {
3138  return SWIG_init(interp);
3139 }
3140 
SWIGINTERN int _wrap_a_text_flush(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME char * SWIG_PackData(char *c, void *ptr, size_t sz)
static swig_var_info swig_variables[]
SWIGINTERNINLINE Tcl_Obj * SWIG_From_std_string(const std::string &s)
static swig_cast_info * swig_cast_initial[]
SWIGRUNTIME int SWIG_Tcl_ObjectConstructor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME char * SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz)
#define SWIG_MakePtr(c, ptr, ty, flags)
SWIGINTERN void SWIG_Tcl_InstallConstants(Tcl_Interp *interp, swig_const_info constants[])
SWIGINTERN int _wrap_new_a_text(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_TypeQuery(name)
static swig_const_info swig_constants[]
static swig_cast_info _swigc__p_a_text_base[]
#define SWIG_SyntaxError
#define SWIG_ConvertPtr(oc, ptr, ty, flags)
#define SWIG_CheckState(r)
SWIGRUNTIME void SWIG_Tcl_Acquire(void *ptr)
SWIGRUNTIME int SWIG_TypeEquiv(const char *nb, const char *tb)
SWIGINTERN std::string a_base_print(a_base *self)
SWIGINTERN int _wrap_a_text_comment(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_BUFFER_SIZE
struct swig_instance swig_instance
#define SWIG_TypeError
SWIGINTERNINLINE void SWIG_Tcl_AddErrorMsg(Tcl_Interp *interp, const char *mesg)
SWIGINTERN void SWIG_Tcl_SetErrorMsg(Tcl_Interp *interp, const char *ctype, const char *mesg)
struct swig_cast_info swig_cast_info
SWIGINTERN int _wrap_a_text_endl(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_init
SWIGRUNTIME Tcl_Obj * SWIG_Tcl_NewPackedObj(void *ptr, int sz, swig_type_info *type)
SWIGRUNTIME int SWIG_Tcl_MethodCommand(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[])
SWIGRUNTIME int SWIG_TypeNameComp(const char *f1, const char *l1, const char *f2, const char *l2)
SWIGINTERN void a_text_comment(a_text *self, std::string const &text)
SWIGRUNTIMEINLINE void * SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory)
#define SWIG_RuntimeError
SWIGINTERN int _wrap_new_a_text_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_GetArgs
SWIGINTERN int _wrap_a_base_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_text_unit(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_command_info swig_commands[]
SWIGINTERN int _wrap_a_text_dimension(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_class * swig_a_text_bases[]
SWIGINTERN int _wrap_a_base_small__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_method swig_a_text_base_methods[]
int(* swig_wrapper_func)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST[])
SWIGINTERN const char * SWIG_Tcl_ErrorType(int code)
SWIGRUNTIME const char * SWIG_TypePrettyName(const swig_type_info *type)
SWIGINTERN int _wrap_a_text_dimension__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_text_base_classname(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_method swig_a_base_methods[]
#define SWIGRUNTIME
static swig_cast_info _swigc__p_a_unit_system[]
SWIGINTERN int SWIG_AsCharPtrAndSize(Tcl_Obj *obj, char **cptr, size_t *psize, int *alloc)
#define SWIG_version
#define SWIG_RUNTIME_VERSION
#define SWIGTYPE_p_a_unit_system
static swig_attribute swig_a_text_attributes[]
SWIGINTERN void SWIG_Tcl_SetErrorObj(Tcl_Interp *interp, const char *ctype, Tcl_Obj *obj)
#define SWIG_OLDOBJ
SWIGRUNTIME void SWIG_TypeClientData(swig_type_info *ti, void *clientdata)
static Tcl_HashTable swigconstTable
SWIGINTERN void a_text_putd(a_text *self, double const v)
#define SWIG_MethodCommand
SWIGINTERN int _wrap_a_text_user_unit__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_ValueError
SWIGRUNTIME int SWIG_Tcl_GetArgs(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], const char *fmt,...)
SWIGINTERNINLINE Tcl_Obj * SWIG_From_int(int value)
#define SWIG_AddCast(r)
SWIGINTERN int _wrap_a_text_file(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_IsNewObj(r)
#define SWIG_exception_fail(code, msg)
SWIGINTERN int _wrap_a_base_small(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_type_info _swigt__p_a_unit_system
SWIGRUNTIME swig_type_info * SWIG_TypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
static swig_cast_info _swigc__p_a_base[]
#define SWIG_AttributeError
static swig_module_info swig_module
SWIGINTERN int _wrap_a_base_small__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGEXPORT int A_text_SafeInit(Tcl_Interp *interp)
static const char * swig_a_text_base_base_names[]
SWIGINTERN int _wrap_a_text_dimension__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_SetModule(clientdata, pointer)
SWIGRUNTIMEINLINE const char * SWIG_TypeName(const swig_type_info *ty)
#define SWIGUNUSEDPARM(p)
SWIGINTERN void a_text_put(a_text *self, std::string const &text)
SWIGINTERN int _wrap_new_a_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
struct swig_class swig_class
#define SWIG_as_voidptr(a)
#define SWIGUNUSED
static swig_method swig_a_text_methods[]
SWIGINTERN void swig_delete_a_base(void *obj)
SWIGRUNTIME void SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata)
SWIGRUNTIME void SWIG_Tcl_SetModule(Tcl_Interp *interp, swig_module_info *module)
SWIGRUNTIME int SWIG_TypeCmp(const char *nb, const char *tb)
SWIGRUNTIMEINLINE int SWIG_Tcl_ConvertPtr(Tcl_Interp *interp, Tcl_Obj *oc, void **ptr, swig_type_info *ty, int flags)
struct swig_const_info swig_const_info
SWIGRUNTIME int SWIG_Tcl_Thisown(void *ptr)
SWIGINTERN int _wrap_delete_a_text_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGRUNTIME void SWIG_InitializeModule(void *clientdata)
SWIGRUNTIME const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz)
SWIGINTERN void SWIG_Tcl_SetConstantObj(Tcl_Interp *interp, const char *name, Tcl_Obj *obj)
static void * _p_a_textTo_p_a_base(void *x, int *SWIGUNUSEDPARM(newmemory))
SWIGRUNTIMEINLINE Tcl_Obj * SWIG_Tcl_NewPointerObj(void *ptr, swig_type_info *type, int flags)
SWIGINTERN int _wrap_a_text_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_type_info _swigt__p_a_text
static swig_cast_info _swigc__p_char[]
SWIGRUNTIME swig_cast_info * SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty)
static swig_cast_info _swigc__p_a_text[]
SWIGINTERN int _wrap_a_base_print(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIGINTERN
static const char * swig_a_text_base_names[]
SWIGINTERN std::string a_text_unit__SWIG_0(a_text const *self)
#define SWIG_From_double
static swig_class _wrap_class_a_text
#define SWIG_ArgError(r)
SWIGINTERN int _wrap_a_text_unit__SWIG_1(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_NewPointerObj(ptr, type, flags)
#define SWIG_Thisown(ptr)
SWIGRUNTIME const char * SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name)
void *(* swig_converter_func)(void *, int *)
static void * _p_a_text_baseTo_p_a_base(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIG_POINTER_NO_NULL
static swig_type_info _swigt__p_a_text_base
#define SWIG_IOError
SWIGRUNTIME Tcl_Obj * SWIG_Tcl_NewInstanceObj(Tcl_Interp *interp, void *thisvalue, swig_type_info *type, int flags)
#define SWIG_NullReferenceError
SWIGINTERN int _wrap_delete_a_base(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_text_put(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_POINTER_DISOWN
struct swig_type_info swig_type_info
SWIGINTERN void swig_delete_a_text_base(void *obj)
SWIGRUNTIME char * SWIG_Tcl_PointerTypeFromString(char *c)
SWIGINTERN int _wrap_a_text_user_unit(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_NEWOBJ
SWIGRUNTIME int SWIG_Tcl_Disown(void *ptr)
#define SWIG_ObjectDelete
#define SWIG_NewPackedObj(ptr, sz, type)
#define SWIG_GetModule(clientdata)
SWIGINTERN void a_text_unit__SWIG_1(a_text *self, std::string const &code)
#define SWIG_fail
SWIGRUNTIME void SWIG_PropagateClientData(void)
static swig_class _wrap_class_a_text_base
SWIGRUNTIME swig_cast_info * SWIG_TypeCheck(const char *c, swig_type_info *ty)
SWIGINTERN Tcl_Obj * SWIG_Tcl_GetConstantObj(const char *key)
static void * _p_a_textTo_p_a_text_base(void *x, int *SWIGUNUSEDPARM(newmemory))
#define SWIGTYPE_p_a_text_base
SWIGINTERN int _wrap_delete_a_text(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_attribute swig_a_text_base_attributes[]
SWIGINTERNINLINE Tcl_Obj * SWIG_FromCharPtrAndSize(const char *carray, size_t size)
#define SWIG_TYPE_TABLE_NAME
SWIGRUNTIME swig_type_info * SWIG_MangledTypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name)
SWIGINTERN int _wrap_a_base_classname(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
SWIGINTERN int _wrap_a_text_putd(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIGTYPE_p_a_base
static const char * swig_a_base_base_names[]
SWIGRUNTIME swig_module_info * SWIG_Tcl_GetModule(Tcl_Interp *interp)
struct swig_module_info swig_module_info
#define SWIG_TCL_POINTER
static swig_class _wrap_class_a_base
#define SWIG_Acquire(ptr)
SWIGINTERN void swig_delete_a_text(void *obj)
SWIGRUNTIME void SWIG_Tcl_ObjectDelete(ClientData clientData)
#define SWIG_ERROR
#define SWIG_TCL_HASHTABLE_INIT
#define SWIG_name
SWIGRUNTIME int SWIG_Tcl_ConvertPacked(Tcl_Interp *SWIGUNUSEDPARM(interp), Tcl_Obj *obj, void *ptr, int sz, swig_type_info *ty)
#define SWIG_ObjectConstructor
static swig_type_info _swigt__p_a_base
#define SWIG_NewInstanceObj(thisvalue, type, flags)
#define SWIG_Disown(ptr)
static swig_type_info * swig_type_initial[]
static int swigconstTableinit
struct swig_attribute swig_attribute
SWIGINTERN int _wrap_a_text_on(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
void(* swig_delete_func)(ClientData)
SWIGRUNTIME Tcl_HashTable * SWIG_Tcl_ObjectTable(void)
SWIGRUNTIME int SWIG_Tcl_ConvertPtrFromString(Tcl_Interp *interp, const char *c, void **ptr, swig_type_info *ty, int flags)
SWIGRUNTIME swig_type_info * SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr)
#define SWIGTYPE_p_a_text
SWIGINTERN int _wrap_a_text_user_unit__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIG_MemoryError
SWIGINTERN void a_text_endl(a_text *self, std::string const &code)
SWIGRUNTIME const char * SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name)
#define SWIG_SystemError
#define SWIG_DivisionByZero
SWIGINTERN int _wrap_a_text_base_help(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
static swig_type_info _swigt__p_char
struct swig_method swig_method
#define SWIG_TCL_DECL_ARGS_2(arg1, arg2)
#define SWIG_OverflowError
SWIGINTERN int _wrap_a_text_unit__SWIG_0(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
#define SWIGEXPORT
#define SWIG_IsOK(r)
SWIGINTERN int _wrap_a_text_off(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
int(* swig_wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST[])
SWIGINTERNINLINE Tcl_Obj * SWIG_From_long(long value)
SWIGRUNTIME void SWIG_Tcl_MakePtr(char *c, void *ptr, swig_type_info *ty, int SWIGUNUSEDPARM(flags))
struct swig_type_info *(* swig_dycast_func)(void **)
#define SWIG_TCL_CALL_ARGS_2(arg1, arg2)
static swig_class * swig_a_base_bases[]
static swig_class * swig_a_text_base_bases[]
#define SWIG_IndexError
SWIGINTERN void SWIG_Tcl_InstallMethodLookupTables(void)
#define SWIG_TCL_STUBS_VERSION
#define SWIG_prefix
static swig_type_info * swig_types[6]
#define SWIG_TCL_BINARY
SWIGRUNTIME char * SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz)
#define SWIG_OK
#define SWIGINTERNINLINE
static swig_attribute swig_a_base_attributes[]
#define SWIGRUNTIMEINLINE
Definition: a_base.h:28
static const std::string help()
Definition: a_base.cxx:21
static const std::string help()
Definition: a_text_base.cxx:21
a text class
Definition: a_text.h:31
static const std::string help()
Definition: a_text.cxx:25
unit system
Definition: a_unit_system.h:34
char buf[256]
Definition: copy.h:17
int val
swig_type_info * type
struct swig_cast_info * prev
struct swig_cast_info * next
swig_converter_func converter
swig_method * methods
swig_type_info ** type
Tcl_HashTable hashtable
struct swig_class ** bases
swig_module_info * module
void(* destructor)(void *)
swig_wrapper constructor
swig_attribute * attributes
const char ** base_names
swig_type_info ** ptype
swig_type_info ** types
swig_cast_info ** cast_initial
swig_type_info ** type_initial
struct swig_module_info * next
swig_dycast_func dcast
struct swig_cast_info * cast