More delicious man pages
authorMartin Read <mpread@chiark.greenend.org.uk>
Wed, 6 Apr 2011 18:15:15 +0000 (19:15 +0100)
committerMartin Read <mpread@chiark.greenend.org.uk>
Wed, 6 Apr 2011 18:15:15 +0000 (19:15 +0100)
man/libmormegil.3
man/libmormegil::Appcfg.3 [new file with mode: 0644]
man/libmormegil::Coord.3
man/libmormegil::divup.3
man/libmormegil::isotime.3 [new file with mode: 0644]
man/libmormegil::serialize.3

index c0ecb1b..9ee1cf0 100644 (file)
@@ -10,10 +10,21 @@ consists of a shared library and its associated header files, used by
 games written by Martin Read. Please refer to the manual pages for individual
 subsystems to learn more.
 
+Please note that most of libmormegil's features only provide C++ APIs. These
+APIs are contained within the \fIlibmormegil\fP namespace and presented using
+header files with an extension of \fI.hh\fP. Where a C API is available for a
+libmormegil subsystem, it has an extension of \fI.h\fP.
+
+Requests for C API entry points to libmormegil's C++ APIs will be considered
+on a case-by-case basis. Currently, the only such entry points are those
+published in the \fIdice.h\fP header (see dice(3) for details).
+
 .SH AUTHOR
 Martin Read <mpread@chiark.greenend.org.uk>
 
 .SH SEE ALSO
-dice(3), libmormegil::S20prng(3)
+dice(3), libmormegil::S20prng(3), libmormegil::abs(3), libmormegil::Appcfg(3),
+libmormegil::Coord(3), libmormegil::stlprintf(3), libmormegil::stlfgets(3),
+libmormegil::serialize(3)
 
 
diff --git a/man/libmormegil::Appcfg.3 b/man/libmormegil::Appcfg.3
new file mode 100644 (file)
index 0000000..2c73fc3
--- /dev/null
@@ -0,0 +1,24 @@
+.TH "LIBMORMEGIL::APPCFG" 3 "February 25, 2011" "libmormegil Version 1.0" "libmormegil User Manual"
+.SH NAME
+libmormegil::Appcfg \- key-value application configuration storage
+
+.SH SYNOPSIS
+#include <libmormegil/Appcfg.hh>
+
+.SH DESCRIPTION
+The \fIlibmormegil::Appcfg\fP class provides a key-value store supporting distinct
+boolean, integer, and string types.
+
+A new \fIAppcfg\fP object has no registered variables. 
+
+.SH RETURNS
+A return value of 0 indicates that no errors were encountered while reading
+from \fIfp\fP. A return value of -1 indicates that an error occurred while
+reading from \fIfp\fP. See the local documentation for the \fIfgetc\fP
+function for a list of possible \fIerrno\fP values in this case.
+
+.SH AUTHOR
+Martin Read
+
+.SH SEE ALSO
+libmormegil(3)
index d101a1b..6f5be65 100644 (file)
@@ -1,6 +1,6 @@
-.TH "LIBMORMEGIL::S20PRNG" 3 "October 10, 2010" "libmormegil Version 1.0" "libmormegil User Manual"
+.TH "LIBMORMEGIL::COORD" 3 "October 10, 2010" "libmormegil Version 1.0" "libmormegil User Manual"
 .SH NAME
-libmormegil::basic_offset, libmormegil::basic_coord \- offsets and points on a plane
+libmormegil::basic_offset, libmormegil::basic_coord, libmormegil::Coord, libmormegil::Offset, libmormegil::Coord64, libmormegil::Offset64 \- offsets and points on a plane
 .SH SYNOPSIS
 #include <libmormegil/Coord.hh>
 
@@ -39,11 +39,9 @@ which use type \fIint32_t\fR as the template parameter.
 Typedefs \fIlibmormegil::Coord64\fR and \fIlibmormegil::Offset64\fR are provided
 which use type \fIint64_t\fR as the template parameter.
 
-.SH CAVEATS
-
 .SH AUTHOR
 Martin Read <mpread@chiark.greenend.org.uk>
 
 .SH SEE ALSO
 
-libmormegil(3), dice(3)
+libmormegil(3)
index 5d6fe05..76ac973 100644 (file)
@@ -11,7 +11,13 @@ The \fIlibmormegil::divup\fP function returns the value of \fIi\fP divided
 by \fIj\fP, rounded \fIup\fP (rather than down, as integer division behaves
 by default).
 
-Its behaviour on floating-point types will not be as desired.
+Its behaviour is undefined when the / operator of type \fIT\fP does not behave
+like rounding-down integer division, or when \fIj\fP is negative, is undefined.
+
+.SH BUGS
+
+This function does not range-check its arguments and is not protected against
+run-time division by zero.
 
 .SH AUTHOR
 Martin Read
diff --git a/man/libmormegil::isotime.3 b/man/libmormegil::isotime.3
new file mode 100644 (file)
index 0000000..64d236d
--- /dev/null
@@ -0,0 +1,29 @@
+.TH "LIBMORMEGIL::ISOTIME" 3 "March 27, 2011" "libmormegil Version 1.0" "libmormegil User Manual"
+.SH NAME
+libmormegil::isotime, get_iso_8601_time, libmormegil::get_iso_8601_time \- get ISO 8601 ordinal date
+.SH SYNOPSIS
+#include <libmormegil/isotime.h>
+
+extern "C" time_t get_iso_8601_time(char *buf, int bufsz);
+
+void libmormegil::get_iso_8601_time(std::string& dest);
+
+.SH DESCRIPTION
+The functions \fIget_iso_8601_time\fR and \fIlibmormegil::get_iso_8601_time\fR
+provide a string representing the current system time in ISO8601-compliant
+format, suitable for use as a somewhat less human-unreadable text timestamp than
+a simple integer-to-string conversion of a \fItime_t\fR value.
+
+.SH CAVEATS
+Correct operation of these functions depends on your platform's implementation
+of time(2) being aligned to GMT/TAI/UTC rather than local time. If time(2) on your
+system is aligned to local time, the timestamp strings generated by this function
+suite will be incorrect unless your time zone is GMT+0000 and does not apply
+DST.
+
+.SH AUTHOR
+Martin Read <mpread@chiark.greenend.org.uk>
+
+.SH SEE ALSO
+
+libmormegil(3), time(2), gmtime_r(3)
index 0c10348..288c460 100644 (file)
@@ -2,8 +2,51 @@
 .SH NAME
 libmormegil::serialize, libmormegil::deserialize \- offsets and points on a plane
 .SH SYNOPSIS
+#include <stdio.h>
+
 #include <libmormegil/serial.hh>
 
+int libmormegil::serialize(FILE *fp, const int64_t *data);
+
+int libmormegil::serialize(FILE *fp, const int32_t *data);
+
+int libmormegil::serialize(FILE *fp, const int16_t *data);
+
+int libmormegil::serialize(FILE *fp, const uint64_t *data);
+
+int libmormegil::serialize(FILE *fp, const uint32_t *data);
+
+int libmormegil::serialize(FILE *fp, const uint16_t *data);
+
+int libmormegil::serialize(FILE *fp, Coord const *data);
+
+int libmormegil::serialize(FILE *fp, Coord64 const *data);
+
+int libmormegil::serialize(FILE *fp, Offset const *data);
+
+int libmormegil::serialize(FILE *fp, Offset64 const *data);
+
+int libmormegil::deserialize(FILE *fp, int64_t *data);
+
+int libmormegil::deserialize(FILE *fp, int32_t *data);
+
+int libmormegil::deserialize(FILE *fp, int16_t *data);
+
+int libmormegil::deserialize(FILE *fp, uint64_t *data);
+
+int libmormegil::deserialize(FILE *fp, uint32_t *data);
+
+int libmormegil::deserialize(FILE *fp, uint16_t *data);
+
+int libmormegil::deserialize(FILE *fp, Coord *data);
+
+int libmormegil::deserialize(FILE *fp, Coord64 *data);
+
+int libmormegil::deserialize(FILE *fp, Offset *data);
+
+int libmormegil::deserialize(FILE *fp, Offset64 *data);
+
+
 .SH DESCRIPTION
 .I libmormegil::serialize
 is a family of overloaded functions providing host-endianness-independent
@@ -19,4 +62,4 @@ Martin Read <mpread@chiark.greenend.org.uk>
 
 .SH SEE ALSO
 
-libmormegil(3), dice(3)
+libmormegil(3), dice(3), libmormegil::Coord(3)