1213b086a1
Change-Id: I9636a41ad44b4218293833fd3e9456d9b07c731b
51 lines
1 KiB
ReStructuredText
51 lines
1 KiB
ReStructuredText
.. _transient:
|
|
|
|
Transients
|
|
==========
|
|
|
|
*Transients* is a concept borrowed `from Clojure
|
|
<clojure-transients>`_, with some twists to turn make more idiomatic
|
|
in C++. Essentially, they are a mutable interface built on top of the
|
|
same data structures the implements the immutable containers under the
|
|
hood.
|
|
|
|
These can be useful for :ref:`performing efficient batch
|
|
updates<batch-update>` or :ref:`interfacing with standard
|
|
algorithms<std-compat>`.
|
|
|
|
.. _clojure-transients: https://clojure.org/reference/transients
|
|
|
|
array_transient
|
|
---------------
|
|
|
|
.. doxygenclass:: immer::array_transient
|
|
:members:
|
|
:undoc-members:
|
|
|
|
vector_transient
|
|
----------------
|
|
|
|
.. doxygenclass:: immer::vector_transient
|
|
:members:
|
|
:undoc-members:
|
|
|
|
flex_vector_transient
|
|
---------------------
|
|
|
|
.. doxygenclass:: immer::flex_vector_transient
|
|
:members:
|
|
:undoc-members:
|
|
|
|
set_transient
|
|
-------------
|
|
|
|
.. doxygenclass:: immer::set_transient
|
|
:members:
|
|
:undoc-members:
|
|
|
|
map_transient
|
|
-------------
|
|
|
|
.. doxygenclass:: immer::map_transient
|
|
:members:
|
|
:undoc-members:
|