blob: 8af097e878a317733936170d03bb8369bf67e5e4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
.TH LIBNORMALFORM_SENTENCE 3 LIBNORMALFORM
.SH NAME
LIBNORMALFORM_SENTENCE \- Logical sentence description object
.SH SYNOPSIS
.nf
#include <libnormalform.h>
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)
|