summaryrefslogtreecommitdiffstats
path: root/o3tl/README.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /o3tl/README.md
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'o3tl/README.md')
-rw-r--r--o3tl/README.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/o3tl/README.md b/o3tl/README.md
new file mode 100644
index 000000000..dccfc6028
--- /dev/null
+++ b/o3tl/README.md
@@ -0,0 +1,34 @@
+# LibreOffice Template Library
+
+Very basic template functionality, a bit like boost or STL, but specific to LibreOffice.
+
+o3tl stands for "OOo [o3, get it?] template library", in which OOo stands for OpenOffice.org,
+predecessor of LibreOffice.
+
+From <https://blog.thebehrens.net/2006/01/15/update-cow_wrapper-is-available-now/>
+The scope for o3tl is admittedly kind of ambitious, as it should contain "...very basic (template)
+functionality, comparable to what's provided by boost or stl, but specific to OOo (what comes to mind
+are e.g. STL adapters for our own data types and UNO, and stuff that could in principle be upstreamed
+to boost, but isn't as of now)."
+
+## Class Overview
+
+- `[git:include/o3tl/cow_wrapper.hxx]`
+
+ A copy-on-write wrapper.
+
+- `[git:include/o3tl/lazy_update.hxx]`
+
+ This template collects data in input type, and updates the output type with the given update functor,
+ but only if the output is requested. Useful if updating is expensive, or input changes frequently, but
+ output is only comparatively seldom used.
+
+- `[git:include/o3tl/vector_pool.hxx]`
+
+ Simple vector-based memory pool allocator.
+
+- `[git:include/o3tl/functional.hxx]`
+
+ Some more templates, leftovers in spirit of STLport's old functional
+ header that are not part of the C++ standard (STLport has been
+ replaced by direct use of the C++ STL in LibreOffice).