From 4294ec0ed06ee34920c9edaeebaeb8b65c720791 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 19 Jul 2024 01:29:42 +0200 Subject: First commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- man3/LIBNORMALFORM_SENTENCE.3 | 61 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 man3/LIBNORMALFORM_SENTENCE.3 (limited to 'man3/LIBNORMALFORM_SENTENCE.3') diff --git a/man3/LIBNORMALFORM_SENTENCE.3 b/man3/LIBNORMALFORM_SENTENCE.3 new file mode 100644 index 0000000..8af097e --- /dev/null +++ b/man3/LIBNORMALFORM_SENTENCE.3 @@ -0,0 +1,61 @@ +.TH LIBNORMALFORM_SENTENCE 3 LIBNORMALFORM +.SH NAME +LIBNORMALFORM_SENTENCE \- Logical sentence description object + +.SH SYNOPSIS +.nf +#include + +typedef struct libnormalform_sentence LIBNORMALFORM_SENTENCE; +.fi + +.SH DESCRIPTION +The +.B LIBNORMALFORM_SENTENCE +type is a reference counted opaque data type used to +describe logical sentences of the first order. +.PP +Instances of this type can have there references count +increased using the +.BR libnormalform_ref (3) +function and decreased (and deallocated if 0 is reached) +using the +.BR libnormalform_free (3) +function. +.PP +Because this type contains temporary memory and caches, +and not mechanisms to avoid race conditions, instances +of this type cannot be safely used by any function from +two threads at the same time. However, the function +.BR libnormalform_clone (3) +can be used to create a brand new but identical instance +which can safely be used in another thread. +.PP +Instances can be serialised, as human-readable strings, +and deserialised using the +.BR libnormalform_to_string (3) +and +.BR libnormalform_from_string (3) +functions. +.PP +Apart from the +.BR libnormalform_ref (3) +and +.BR libnormalform_clone (3) +functions, every function that return objects of this +type, will acquire the ownership of the any reference +to instances of this type passed into the function, +they will also fail without modifying +.I errno +if any of them are +.IR NULL , +but they will still acquire the ownership of the +references in this case or any other time they fail. + +.SH NOTES +The name +.B struct libnormalform_sentence +is exposed only for type safety and should not be used. + +.SH SEE ALSO +.BR libnormalform (7) -- cgit v1.3.1