-// Macros for the docstring and autodoc features of SWIG.
+//----------------------------------------------------------------------
+// Macros for the docstring and autodoc features of SWIG. These will
+// help make the code look more readable, and pretty, as well as help
+// reduce typing in some cases.
// Set the docsring for the given full or partial declaration
-%define DocStr(decl, docstr)
- %feature("docstring") decl docstr;
- //%feature("refdoc") decl "";
-%enddef
+#ifdef _DO_FULL_DOCS
+ %define DocStr(decl, docstr, details)
+ %feature("docstring") decl docstr details;
+ %enddef
+#else
+ %define DocStr(decl, docstr, details)
+ %feature("docstring") decl docstr;
+ %enddef
+#endif
+
// Set the autodoc string for a full or partial declaration
%define DocA(decl, astr)
%feature("autodoc") decl astr;
%enddef
-// Set both the autodoc and docstring for a full or partial declaration
-%define DocAStr(decl, astr, docstr)
- %feature("autodoc") decl astr;
- %feature("docstring") decl docstr
-%enddef
-
-// Set the detailed reference docs for full or partial declaration
-#define DocRef(decl, str) %feature("docref") decl str
+// Set both the autodoc and docstring for a full or partial declaration
+#ifdef _DO_FULL_DOCS
+ %define DocAStr(decl, astr, docstr, details)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr details
+ %enddef
+#else
+ %define DocAStr(decl, astr, docstr, details)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr
+ %enddef
+#endif
+
// Set the docstring for a decl and then define the decl too. Must use the
// full declaration of the item.
-%define DocDeclStr(type, decl, docstr)
- %feature("docstring") decl docstr;
- type decl
-%enddef
+#ifdef _DO_FULL_DOCS
+ %define DocDeclStr(type, decl, docstr, details)
+ %feature("docstring") decl docstr details;
+ type decl
+ %enddef
+#else
+ %define DocDeclStr(type, decl, docstr, details)
+ %feature("docstring") decl docstr;
+ type decl
+ %enddef
+#endif
+
+
// As above, but also give the decl a new %name
-%define DocDeclStrName(type, decl, docstr, newname)
- %feature("docstring") decl docstr;
- %name(newname) type decl
-%enddef
-
+#ifdef _DO_FULL_DOCS
+ %define DocDeclStrName(type, decl, docstr, details, newname)
+ %feature("docstring") decl docstr details;
+ %name(newname) type decl
+ %enddef
+#else
+ %define DocDeclStrName(type, decl, docstr, details, newname)
+ %feature("docstring") decl docstr;
+ %name(newname) type decl
+ %enddef
+#endif
+
// Set the autodoc string for a decl and then define the decl too. Must use the
// full declaration of the item.
// Set the autodoc and the docstring for a decl and then define the decl too.
// Must use the full declaration of the item.
-%define DocDeclAStr(type, decl, astr, docstr)
- %feature("autodoc") decl astr;
- %feature("docstring") decl docstr;
- type decl
-%enddef
+#ifdef _DO_FULL_DOCS
+ %define DocDeclAStr(type, decl, astr, details, docstr)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr details;
+ type decl
+ %enddef
+#else
+ %define DocDeclAStr(type, decl, astr, details, docstr)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr;
+ type decl
+ %enddef
+#endif
+
// As above, but also give the decl a new %name
-%define DocDeclAStrName(type, decl, astr, docstr, newname)
- %feature("autodoc") decl astr;
- %feature("docstring") decl docstr;
- %name(newname) type decl
-%enddef
-
+#ifdef _DO_FULL_DOCS
+ %define DocDeclAStrName(type, decl, astr, docstr, details, newname)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr details;
+ %name(newname) type decl
+ %enddef
+#else
+ %define DocDeclAStrName(type, decl, astr, docstr, details, newname)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr;
+ %name(newname) type decl
+ %enddef
+#endif
// Set the docstring for a constructor decl and then define the decl too.
// Must use the full declaration of the item.
-%define DocCtorStr(decl, docstr)
- %feature("docstring") decl docstr;
- decl
-%enddef
+#ifdef _DO_FULL_DOCS
+ %define DocCtorStr(decl, docstr, details)
+ %feature("docstring") decl docstr details;
+ decl
+ %enddef
+#else
+ %define DocCtorStr(decl, docstr, details)
+ %feature("docstring") decl docstr;
+ decl
+ %enddef
+#endif
+
// As above, but also give the decl a new %name
-%define DocCtorStrName(decl, docstr, newname)
- %feature("docstring") decl docstr;
- %name(newname) decl
-%enddef
+#ifdef _DO_FULL_DOCS
+ %define DocCtorStrName(decl, docstr, details, newname)
+ %feature("docstring") decl docstr details;
+ %name(newname) decl
+ %enddef
+#else
+ %define DocCtorStrName(decl, docstr, details, newname)
+ %feature("docstring") decl docstr;
+ %name(newname) decl
+ %enddef
+#endif
-
-// Set the autodoc string for a decl and then define the decl too. Must use the
-// full declaration of the item.
+
+
+// Set the autodoc string for a constructor decl and then define the decl too.
+// Must use the full declaration of the item.
%define DocCtorA(decl, astr)
%feature("autodoc") decl astr;
decl
%enddef
// As above, but also give the decl a new %name
-%define DocCtorAname(decl, astr, newname)
+%define DocCtorAName(decl, astr, newname)
%feature("autodoc") decl astr;
%name(newname) decl
%enddef
-// Set the autodoc and the docstring for a decl and then define the decl too.
-// Must use the full declaration of the item.
-%define DocCtorAStr(decl, astr, docstr)
- %feature("autodoc") decl astr;
- %feature("docstring") decl docstr;
- decl
-%enddef
+// Set the autodoc and the docstring for a constructor decl and then define
+// the decl too. Must use the full declaration of the item.
+#ifdef _DO_FULL_DOCS
+ %define DocCtorAStr(decl, astr, docstr, details)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr details;
+ decl
+ %enddef
+#else
+ %define DocCtorAStr(decl, astr, docstr, details)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr;
+ decl
+ %enddef
+#endif
-// As above, but also give the decl a new %name
-%define DocCtorAStrName(decl, astr, docstr, newname)
- %feature("autodoc") decl astr;
- %feature("docstring") decl docstr;
- %name(newname) decl
-%enddef
+
+// As above, but also give the decl a new %name
+#ifdef _DO_FULL_DOCS
+ %define DocCtorAStrName(decl, astr, docstr, details, newname)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr details;
+ %name(newname) decl
+ %enddef
+#else
+ %define DocCtorAStrName(decl, astr, docstr, details, newname)
+ %feature("autodoc") decl astr;
+ %feature("docstring") decl docstr;
+ %name(newname) decl
+ %enddef
+#endif
-// A placeholder for the detailed reference docs.
-%define RefDoc(decl, docstr)
- %feature("refdoc") decl docstr;
-%enddef
-
+
%define %newgroup
%pythoncode {