diff --git a/MANIFEST b/MANIFEST
deleted file mode 100644
index 89b939e..0000000
--- a/MANIFEST
+++ /dev/null
@@ -1,88 +0,0 @@
-PKG-INFO
-Python-DMD Command Line.lnk
-__init__.py
-dcompiler.py
-patch_distutils.py
-pydmdvars.bat
-readme.txt
-support.py
-version.txt
-examples/testdll/readme.txt
-examples/testdll/set-d-path.bat
-examples/testdll/setup.py
-examples/testdll/test.py
-examples/testdll/testdll.d
-infrastructure/build_ddoc.bat
-infrastructure/build_wiki_ddoc.bat
-infrastructure/d/python_dll_def.def_template
-infrastructure/d/python_dll_windows_boilerplate.d
-infrastructure/pyd/LICENSE
-infrastructure/pyd/class_wrap.d
-infrastructure/pyd/ctor_wrap.d
-infrastructure/pyd/def.d
-infrastructure/pyd/dg_convert.d
-infrastructure/pyd/exception.d
-infrastructure/pyd/ftype.d
-infrastructure/pyd/make_object.d
-infrastructure/pyd/object.d
-infrastructure/pyd/pyd.d
-infrastructure/pyd/doc/CANDYDOC.txt
-infrastructure/pyd/doc/class_wrap.html
-infrastructure/pyd/doc/ctor_wrap.html
-infrastructure/pyd/doc/def.html
-infrastructure/pyd/doc/dg_convert.html
-infrastructure/pyd/doc/exception.html
-infrastructure/pyd/doc/ftype.html
-infrastructure/pyd/doc/make_object.html
-infrastructure/pyd/doc/object.html
-infrastructure/pyd/doc/pyd.html
-infrastructure/pyd/doc/candydoc/candy.ddoc
-infrastructure/pyd/doc/candydoc/explorer.js
-infrastructure/pyd/doc/candydoc/ie56hack.css
-infrastructure/pyd/doc/candydoc/modules.ddoc
-infrastructure/pyd/doc/candydoc/style.css
-infrastructure/pyd/doc/candydoc/tree.js
-infrastructure/pyd/doc/candydoc/util.js
-infrastructure/pyd/doc/candydoc/img/bg.gif
-infrastructure/pyd/doc/candydoc/img/candydoc.gif
-infrastructure/pyd/doc/candydoc/img/outline/alias.gif
-infrastructure/pyd/doc/candydoc/img/outline/bg.gif
-infrastructure/pyd/doc/candydoc/img/outline/class.gif
-infrastructure/pyd/doc/candydoc/img/outline/enum.gif
-infrastructure/pyd/doc/candydoc/img/outline/func.gif
-infrastructure/pyd/doc/candydoc/img/outline/module.gif
-infrastructure/pyd/doc/candydoc/img/outline/package.gif
-infrastructure/pyd/doc/candydoc/img/outline/struct.gif
-infrastructure/pyd/doc/candydoc/img/outline/template.gif
-infrastructure/pyd/doc/candydoc/img/outline/var.gif
-infrastructure/pyd/doc/candydoc/img/package/bg.gif
-infrastructure/pyd/doc/candydoc/img/tree/shim.gif
-infrastructure/pyd/doc/candydoc/img/tree/tb.gif
-infrastructure/pyd/doc/candydoc/img/tree/tbr.gif
-infrastructure/pyd/doc/candydoc/img/tree/tbrm.gif
-infrastructure/pyd/doc/candydoc/img/tree/tbrp.gif
-infrastructure/pyd/doc/candydoc/img/tree/tr.gif
-infrastructure/pyd/doc/candydoc/img/tree/trm.gif
-infrastructure/pyd/doc/candydoc/img/tree/trp.gif
-infrastructure/pyd/generators/argtypes.py
-infrastructure/pyd/generators/argtypes.txt
-infrastructure/pyd/generators/ctor_wrap.py
-infrastructure/pyd/generators/ctor_wrap.txt
-infrastructure/pyd/generators/fn_to_dg.py
-infrastructure/pyd/generators/fn_to_dg.txt
-infrastructure/pyd/generators/func_gen.py
-infrastructure/pyd/generators/func_gen.txt
-infrastructure/pyd/generators/func_wrap.py
-infrastructure/pyd/generators/func_wrap.txt
-infrastructure/pyd/wiki_doc/class_wrap.html
-infrastructure/pyd/wiki_doc/ctor_wrap.html
-infrastructure/pyd/wiki_doc/def.html
-infrastructure/pyd/wiki_doc/dg_convert.html
-infrastructure/pyd/wiki_doc/exception.html
-infrastructure/pyd/wiki_doc/ftype.html
-infrastructure/pyd/wiki_doc/make_object.html
-infrastructure/pyd/wiki_doc/object.html
-infrastructure/pyd/wiki_doc/pyd.html
-infrastructure/pyd/wiki_doc/wiki_doc/wikidoc.ddoc
-infrastructure/python/headers/python.d
-infrastructure/python/libs/2.4/python24_digitalmars.lib
diff --git a/infrastructure/pyd/class_wrap.d b/infrastructure/pyd/class_wrap.d
index 3c54fb1..a4c45bf 100644
--- a/infrastructure/pyd/class_wrap.d
+++ b/infrastructure/pyd/class_wrap.d
@@ -28,7 +28,7 @@ private import pyd.ftype;
private import pyd.make_object;
private import std.string;
-// The class object, a subtype of PyObject
+/// The class object, a subtype of PyObject
template wrapped_class_object(T) {
extern(C)
struct wrapped_class_object {
@@ -37,8 +37,9 @@ template wrapped_class_object(T) {
}
}
-// The type object, an instance of PyType_Type
+///
template wrapped_class_type(T) {
+/// The type object, an instance of PyType_Type
static PyTypeObject wrapped_class_type = {
1,
null,
@@ -91,9 +92,10 @@ template wrapped_class_type(T) {
};
}
-// Various wrapped methods
+/// Various wrapped methods
template wrapped_methods(T) {
alias wrapped_class_object!(T) wrap_object;
+ /// The generic "__new__" method
extern(C)
PyObject* wrapped_new(PyTypeObject* type, PyObject* args, PyObject* kwds) {
wrap_object* self;
@@ -106,6 +108,7 @@ template wrapped_methods(T) {
return cast(PyObject*)self;
}
+ /// The generic dealloc method.
extern(C)
void wrapped_dealloc(PyObject* _self) {
wrap_object* self = cast(wrap_object*)_self;
@@ -118,6 +121,7 @@ template wrapped_methods(T) {
self.ob_type.tp_free(self);
}
+ /// The default repr method calls the class's toString.
extern(C)
PyObject* wrapped_repr(PyObject* _self) {
wrap_object* self = cast(wrap_object*)_self;
@@ -126,8 +130,10 @@ template wrapped_methods(T) {
}
}
+///
template wrapped_init(T) {
alias wrapped_class_object!(T) wrap_object;
+ /// The default _init method calls the class's zero-argument constructor.
extern(C)
int init(PyObject* self, PyObject* args, PyObject* kwds) {
// TODO: Provide better constructor support...
@@ -156,16 +162,18 @@ template property_parts(alias p) {
}
}
+///
template wrapped_get(T, alias Fn) {
+ /// A generic wrapper around a "getter" property.
extern(C)
PyObject* func(PyObject* self, void* closure) {
return func_wrap!(Fn, 0, T, property_parts!(Fn).getter_type).func(self, null);
}
}
-private import std.stdio;
-
+///
template wrapped_set(T, alias Fn) {
+ /// A generic wrapper around a "setter" property.
extern(C)
int func(PyObject* self, PyObject* value, void* closure) {
PyObject* temp_tuple = PyTuple_New(1);
@@ -188,8 +196,10 @@ template wrap_class_instances(T) {
int[T] wrap_class_instances;
}
-// A useful check for whether a given class has been wrapped. Mainly used by
-// the conversion functions (see make_object.d), but possibly useful elsewhere.
+/**
+ * A useful check for whether a given class has been wrapped. Mainly used by
+ * the conversion functions (see make_object.d), but possibly useful elsewhere.
+ */
template is_wrapped(T) {
bool is_wrapped = false;
}
@@ -208,15 +218,26 @@ template wrapped_prop_list(T) {
];
}
-// This struct is returned by wrap_class. Its member functions are the primary
-// way of wrapping the specific parts of the class. Note that the struct has no
-// members. The only information it carries are its template arguments.
+/**
+ * This struct wraps a D class. Its member functions are the primary way of
+ * wrapping the specific parts of the class.
+ */
template wrapped_class(char[] classname, T) {
struct wrapped_class {
static const char[] _name = classname;
T t = null;
+ /**
+ * Wraps a member function of the class.
+ *
+ * Params:
+ * name = The name of the function as it will appear in Python.
+ * fn = The member function to wrap.
+ * MIN_ARGS = The minimum number of arguments this function can accept.
+ * fn_t = The type of the function. It is only useful to specify this
+ * if more than one function has the same name as this one.
+ */
template def(char[] name, alias fn, uint MIN_ARGS = NumberOfArgs!(typeof(&fn)), fn_t=typeof(&fn)) {
- void def() {
+ static void def() {
static PyMethodDef empty = { null, null, 0, null };
wrapped_method_list!(T)[length-1].ml_name = name ~ \0;
wrapped_method_list!(T)[length-1].ml_meth =
@@ -231,8 +252,16 @@ template wrapped_class(char[] classname, T) {
}
}
+ /**
+ * Wraps a property of the class.
+ *
+ * Params:
+ * name = The name of the property as it will appear in Python.
+ * fn = The property to wrap.
+ * RO = Whether this is a read-only property.
+ */
template prop(char[] name, alias fn, bool RO=false) {
- void prop() {
+ static void prop() {
static PyGetSetDef empty = { null, null, null, null, null };
wrapped_prop_list!(T)[length-1].name = name ~ \0;
wrapped_prop_list!(T)[length-1].get =
@@ -251,8 +280,20 @@ template wrapped_class(char[] classname, T) {
}
}
+ /**
+ * Wraps the constructors of the class.
+ *
+ * This template takes a series of specializations of the ctor template
+ * (see ctor_wrap.d), each of which describes a different constructor
+ * that the class supports. The default constructor need not be
+ * specified, and will always be available if the class supports it.
+ *
+ * Bugs:
+ * This currently does not support having multiple constructors with
+ * the same number of arguments.
+ */
template init(alias C1=undefined, alias C2=undefined, alias C3=undefined, alias C4=undefined, alias C5=undefined, alias C6=undefined, alias C7=undefined, alias C8=undefined, alias C9=undefined, alias C10=undefined) {
- void init() {
+ static void init() {
wrapped_class_type!(T).tp_init =
&wrapped_ctors!(T, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10).init_func;
}
@@ -260,6 +301,10 @@ template wrapped_class(char[] classname, T) {
}
}
+/**
+ * Finalize the wrapping of the class. It is neccessary to call this after all
+ * calls to the wrapped_class member functions.
+ */
void finalize_class(CLS) (CLS cls) {
alias typeof(cls.t) T;
const char[] name = CLS._name;
diff --git a/infrastructure/pyd/ctor_wrap.d b/infrastructure/pyd/ctor_wrap.d
index 520cd33..b0d0429 100644
--- a/infrastructure/pyd/ctor_wrap.d
+++ b/infrastructure/pyd/ctor_wrap.d
@@ -26,7 +26,9 @@ private import pyd.class_wrap;
private import pyd.exception;
private import pyd.make_object;
-// This template defines the footprint of an individual constructor.
+/**
+ * This template defines the footprint of an individual constructor.
+ */
template ctor(T1=void, T2=void, T3=void, T4=void, T5=void, T6=void, T7=void, T8=void, T9=void, T10=void) {
static if (!is(T10 == void))
const uint ARGS = 10;
@@ -181,7 +183,7 @@ template wrapped_ctor(T, alias Ctor) {
}
}
-// This template accepts a list of "ctor" templates and uses them to wrap a Pyhton __init__ function.
+// This template accepts a list of "ctor" templates and uses them to wrap a Python __init__ function.
template wrapped_ctors(T, alias C1, alias C2, alias C3, alias C4, alias C5, alias C6, alias C7, alias C8, alias C9, alias C10) {
alias wrapped_class_object!(T) wrap_object;
static if (!is(C10.arg1 == dummy))
diff --git a/infrastructure/pyd/def.d b/infrastructure/pyd/def.d
index ea6d16c..61475a6 100644
--- a/infrastructure/pyd/def.d
+++ b/infrastructure/pyd/def.d
@@ -51,6 +51,9 @@ PyObject* DPy_Module_p() {
* MIN_ARGS = The minimum number of arguments this function can accept.
* For use with functions with default arguments. Defaults to
* the maximum number of arguments this function supports.
+ * fn_t = The function type of the function to wrap. This must be
+ * specified if more than one function shares the same name,
+ * otherwise the first one defined lexically will be used.
*
* Examples:
*$(D_CODE import pyd.pyd;
diff --git a/infrastructure/pyd/dg_convert.d b/infrastructure/pyd/dg_convert.d
index 9c01f2d..cc7bf32 100644
--- a/infrastructure/pyd/dg_convert.d
+++ b/infrastructure/pyd/dg_convert.d
@@ -19,6 +19,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
+
+/**
+ * This module contains some more or less dirty hacks for converting between
+ * function and delegate types. Its contents are strictly for internal use
+ * within Pyd.
+ */
module pyd.dg_convert;
private import pyd.ftype;
diff --git a/infrastructure/pyd/doc/class_wrap.html b/infrastructure/pyd/doc/class_wrap.html
index fa5498f..9260f4c 100644
--- a/infrastructure/pyd/doc/class_wrap.html
+++ b/infrastructure/pyd/doc/class_wrap.html
@@ -15,16 +15,406 @@
pyd.class_wrap
+
+
+
+- struct
+
+wrapped_class_object
+
+
+
+
+
+');
+
+;
+
+
+
+
+- The class object, a subtype of PyObject
+
+
+
+
+
+
+
+
+
+
+
+- template
+wrapped_class_type
+
+
+(T)
+
+
+
+
+
+
+
+
+- PyTypeObject
+wrapped_class_type
+
+
+;
+
+
+
+
+- The type object, an instance of PyType_Type
+
+
+
+
+
+
+
+
+
+
+- template
+wrapped_methods
+
+
+(T)
+
+
+
+- Various wrapped methods
+
+
+
+
+
+
+- PyObject*
+wrapped_new
+
+
+(PyTypeObject* type, PyObject* args, PyObject* kwds);
+
+
+
+
+- The generic "_new__" method
+
+
+
+
+
+- void
+wrapped_dealloc
+
+
+(PyObject* _self);
+
+
+
+
+- The generic dealloc method.
+
+
+
+
+
+- PyObject*
+wrapped_repr
+
+
+(PyObject* _self);
+
+
+
+
+- The default repr method calls the class's toString.
+
+
+
+
+
+
+
+
+
+
+- template
+wrapped_init
+
+
+(T)
+
+
+
+
+
+
+
+
+- int
+init
+
+
+(PyObject* self, PyObject* args, PyObject* kwds);
+
+
+
+
+- The default init method calls the class's zero-argument constructor.
+
+
+
+
+
+
+
+
+
+
+- template
+wrapped_get
+
+
+(T,alias Fn)
+
+
+
+
+
+
+
+
+- PyObject*
+func
+
+
+(PyObject* self, void* closure);
+
+
+
+
+- A generic wrapper around a "getter" property.
+
+
+
+
+
+
+
+
+
+
+- template
+wrapped_set
+
+
+(T,alias Fn)
+
+
+
+
+
+
+
+
+- int
+func
+
+
+(PyObject* self, PyObject* value, void* closure);
+
+
+
+
+- A generic wrapper around a "setter" property.
+
+
+
+
+
+
+
+
+
+
+- template
+is_wrapped
+
+
+(T)
+
+
+
+- A useful check for whether a given class has been wrapped. Mainly used by
+ the conversion functions (see make_object.d), but possibly useful elsewhere.
+
+
+
+
+
+
+
+- struct
+
+wrapped_class
+
+
+
+
+
+');
+
+;
+
+
+
+
+- This struct wraps a D class. Its member functions are the primary way of
+ wrapping the specific parts of the class.
+
+
+
+
+
+
+
+- template
+def
+
+
+(char[] name,alias fn,uint MIN_ARGS = NumberOfArgs!(typeof(&fn)),fn_t = typeof(&fn))
+
+
+
+- Wraps a member function of the class.
+
+Params:
+
+name |
+
+
+The name of the function as it will appear in Python. |
+
+fn |
+
+
+The member function to wrap. |
+
+MIN_ARGS |
+
+
+The minimum number of arguments this function can accept. |
+
+fn_t |
+
+
+The type of the function. It is only useful to specify this
+ if more than one function has the same name as this one. |
+
+
+
+
+
+
+
+
+
+
+
+- template
+prop
+
+
+(char[] name,alias fn,bool RO = false)
+
+
+
+- Wraps a property of the class.
+
+Params:
+
+name |
+
+
+The name of the property as it will appear in Python. |
+
+fn |
+
+
+The property to wrap. |
+
+RO |
+
+
+Whether this is a read-only property. |
+
+
+
+
+
+
+
+
+
+
+
+- template
+init
+
+
+(alias C1 = undefined,alias C2 = undefined,alias C3 = undefined,alias C4 = undefined,alias C5 = undefined,alias C6 = undefined,alias C7 = undefined,alias C8 = undefined,alias C9 = undefined,alias C10 = undefined)
+
+
+
+- Wraps the constructors of the class.
+
+This template takes a series of specializations of the ctor template
+ (see ctor_wrap.d), each of which describes a different constructor
+ that the class supports. The default constructor need not be
+ specified, and will always be available if the class supports it.
+
+
+BUGS:
+This currently does not support having multiple constructors with
+ the same number of arguments.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
diff --git a/infrastructure/pyd/doc/ctor_wrap.html b/infrastructure/pyd/doc/ctor_wrap.html
index d8150a7..ff00fcf 100644
--- a/infrastructure/pyd/doc/ctor_wrap.html
+++ b/infrastructure/pyd/doc/ctor_wrap.html
@@ -15,16 +15,37 @@
pyd.ctor_wrap
+
+
+
+- template
+ctor
+
+
+(T1 = void,T2 = void,T3 = void,T4 = void,T5 = void,T6 = void,T7 = void,T8 = void,T9 = void,T10 = void)
+
+
+
+- This template defines the footprint of an individual constructor.
+
+
+
+
+
+
+
+
+
|
diff --git a/infrastructure/pyd/doc/def.html b/infrastructure/pyd/doc/def.html
index 3b70108..5b383b9 100644
--- a/infrastructure/pyd/doc/def.html
+++ b/infrastructure/pyd/doc/def.html
@@ -46,6 +46,13 @@
The minimum number of arguments this function can accept.
For use with functions with default arguments. Defaults to
the maximum number of arguments this function supports. |
+
+fn_t |
+
+
+The function type of the function to wrap. This must be
+ specified if more than one function shares the same name,
+ otherwise the first one defined lexically will be used. |
Examples:
import pyd.pyd;
@@ -99,7 +106,7 @@
diff --git a/infrastructure/pyd/doc/dg_convert.html b/infrastructure/pyd/doc/dg_convert.html
index 394f2fd..4b21158 100644
--- a/infrastructure/pyd/doc/dg_convert.html
+++ b/infrastructure/pyd/doc/dg_convert.html
@@ -13,8 +13,13 @@
pyd.dg_convert
+This module contains some more or less dirty hacks for converting between
+ function and delegate types. Its contents are strictly for internal use
+ within Pyd.
+
+
@@ -45,7 +50,7 @@
|
diff --git a/infrastructure/pyd/doc/exception.html b/infrastructure/pyd/doc/exception.html
index 0a9f241..d0268d8 100644
--- a/infrastructure/pyd/doc/exception.html
+++ b/infrastructure/pyd/doc/exception.html
@@ -67,7 +67,7 @@
|
diff --git a/infrastructure/pyd/doc/ftype.html b/infrastructure/pyd/doc/ftype.html
index fe5c3d8..8841afa 100644
--- a/infrastructure/pyd/doc/ftype.html
+++ b/infrastructure/pyd/doc/ftype.html
@@ -23,7 +23,7 @@
Daniel Keep, Tomasz Stachowiak
Date:
-Sat Jul 1 17:20:37 2006
+Sat Jul 1 22:14:02 2006
@@ -115,7 +115,7 @@
|
diff --git a/infrastructure/pyd/doc/make_object.html b/infrastructure/pyd/doc/make_object.html
index ec10b29..cb9e0eb 100644
--- a/infrastructure/pyd/doc/make_object.html
+++ b/infrastructure/pyd/doc/make_object.html
@@ -191,7 +191,7 @@
|
diff --git a/infrastructure/pyd/doc/object.html b/infrastructure/pyd/doc/object.html
index a378984..0535c44 100644
--- a/infrastructure/pyd/doc/object.html
+++ b/infrastructure/pyd/doc/object.html
@@ -1511,7 +1511,7 @@
|
diff --git a/infrastructure/pyd/doc/pyd.html b/infrastructure/pyd/doc/pyd.html
index 3e25ecc..71c748f 100644
--- a/infrastructure/pyd/doc/pyd.html
+++ b/infrastructure/pyd/doc/pyd.html
@@ -28,7 +28,7 @@
|
diff --git a/infrastructure/pyd/wiki_doc/class_wrap.html b/infrastructure/pyd/wiki_doc/class_wrap.html
index 890ca6a..e9343f8 100644
--- a/infrastructure/pyd/wiki_doc/class_wrap.html
+++ b/infrastructure/pyd/wiki_doc/class_wrap.html
@@ -1,5 +1,141 @@
pyd.class_wrap
+
- struct wrapped_class_object;
+
+- The class object, a subtype of PyObject
+
+
+
+
+- template wrapped_class_type(T)
+
+- PyTypeObject wrapped_class_type;
+
+- The type object, an instance of PyType_Type
+
+
+
+
+
+- template wrapped_methods(T)
+- Various wrapped methods
+
+
+- PyObject* wrapped_new(PyTypeObject* type, PyObject* args, PyObject* kwds);
+
+- The generic "_new__" method
+
+
+
+- void wrapped_dealloc(PyObject* _self);
+
+- The generic dealloc method.
+
+
+
+- PyObject* wrapped_repr(PyObject* _self);
+
+- The default repr method calls the class's toString.
+
+
+
+
+
+- template wrapped_init(T)
+
+- int init(PyObject* self, PyObject* args, PyObject* kwds);
+
+- The default init method calls the class's zero-argument constructor.
+
+
+
+
+
+- template wrapped_get(T,alias Fn)
+
+- PyObject* func(PyObject* self, void* closure);
+
+- A generic wrapper around a "getter" property.
+
+
+
+
+
+- template wrapped_set(T,alias Fn)
+
+- int func(PyObject* self, PyObject* value, void* closure);
+
+- A generic wrapper around a "setter" property.
+
+
+
+
+
+- template is_wrapped(T)
+- A useful check for whether a given class has been wrapped. Mainly used by
+ the conversion functions (see make_object.d), but possibly useful elsewhere.
+
+
+
+
+
+- struct wrapped_class;
+
+- This struct wraps a D class. Its member functions are the primary way of
+ wrapping the specific parts of the class.
+
+
+
+- template def(char[] name,alias fn,uint MIN_ARGS = NumberOfArgs!(typeof(&fn)),fn_t = typeof(&fn))
+- Wraps a member function of the class.
+
+Params:
+name |
+The name of the function as it will appear in Python. |
+fn |
+The member function to wrap. |
+MIN_ARGS |
+The minimum number of arguments this function can accept. |
+fn_t |
+The type of the function. It is only useful to specify this
+ if more than one function has the same name as this one. |
+
+
+
+
+- template prop(char[] name,alias fn,bool RO = false)
+- Wraps a property of the class.
+
+Params:
+name |
+The name of the property as it will appear in Python. |
+fn |
+The property to wrap. |
+RO |
+Whether this is a read-only property. |
+
+
+
+
+- template init(alias C1 = undefined,alias C2 = undefined,alias C3 = undefined,alias C4 = undefined,alias C5 = undefined,alias C6 = undefined,alias C7 = undefined,alias C8 = undefined,alias C9 = undefined,alias C10 = undefined)
+- Wraps the constructors of the class.
+
+This template takes a series of specializations of the ctor template
+ (see ctor_wrap.d), each of which describes a different constructor
+ that the class supports. The default constructor need not be
+ specified, and will always be available if the class supports it.
+
+
+BUGS:
+This currently does not support having multiple constructors with
+ the same number of arguments.
+
+
+
+
+
+
+
diff --git a/infrastructure/pyd/wiki_doc/ctor_wrap.html b/infrastructure/pyd/wiki_doc/ctor_wrap.html
index d2f5a63..f7d1381 100644
--- a/infrastructure/pyd/wiki_doc/ctor_wrap.html
+++ b/infrastructure/pyd/wiki_doc/ctor_wrap.html
@@ -1,5 +1,12 @@
pyd.ctor_wrap
+
- template ctor(T1 = void,T2 = void,T3 = void,T4 = void,T5 = void,T6 = void,T7 = void,T8 = void,T9 = void,T10 = void)
+- This template defines the footprint of an individual constructor.
+
+
+
+
+
diff --git a/infrastructure/pyd/wiki_doc/def.html b/infrastructure/pyd/wiki_doc/def.html
index 9c4ea00..daf2cb2 100644
--- a/infrastructure/pyd/wiki_doc/def.html
+++ b/infrastructure/pyd/wiki_doc/def.html
@@ -13,6 +13,10 @@
pyd.def
The minimum number of arguments this function can accept.
For use with functions with default arguments. Defaults to
the maximum number of arguments this function supports. |
+
fn_t |
+The function type of the function to wrap. This must be
+ specified if more than one function shares the same name,
+ otherwise the first one defined lexically will be used. |
Examples:
import pyd.pyd;
diff --git a/infrastructure/pyd/wiki_doc/dg_convert.html b/infrastructure/pyd/wiki_doc/dg_convert.html
index 52a3ac6..e6153bd 100644
--- a/infrastructure/pyd/wiki_doc/dg_convert.html
+++ b/infrastructure/pyd/wiki_doc/dg_convert.html
@@ -1,6 +1,11 @@
pyd.dg_convert
+This module contains some more or less dirty hacks for converting between
+ function and delegate types. Its contents are strictly for internal use
+ within Pyd.
+
+
- template fn_to_dg(Fn)
- This template converts a function type into an equivalent delegate type.
diff --git a/infrastructure/pyd/wiki_doc/ftype.html b/infrastructure/pyd/wiki_doc/ftype.html
index fb4297c..8e3e736 100644
--- a/infrastructure/pyd/wiki_doc/ftype.html
+++ b/infrastructure/pyd/wiki_doc/ftype.html
@@ -10,7 +10,7 @@
pyd.ftype
Daniel Keep, Tomasz Stachowiak
Date:
-Sat Jul 1 17:18:42 2006
+Sat Jul 1 22:15:08 2006