52 lines
1 KiB
ReStructuredText
52 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:
|