Skip to content

Commit c521719

Browse files
committed
docs(LazyObject): update documentation
1 parent 3ebf66d commit c521719

File tree

1 file changed

+8
-16
lines changed

1 file changed

+8
-16
lines changed

src/lib/Dom/LazyObject.hpp

+8-16
Original file line numberDiff line numberDiff line change
@@ -72,27 +72,19 @@ concept HasMappingTraits = requires(detail::ArchetypalIO& io, T const& o)
7272
//
7373
//------------------------------------------------
7474

75-
/** Abstract lazy object interface.
75+
/** Lazy object implementation.
7676
7777
This interface is used to define objects
7878
whose members are evaluated on demand
7979
as they are accessed.
8080
81-
The subclass must override the `construct`
82-
function to return the constructed object.
83-
It will typically also store whatever
84-
data is necessary to construct this object.
85-
86-
When any of the object properties are accessed
87-
for the first time, the object is constructed.
88-
This can happen via any of the public functions,
89-
such as `get`, `set`, `size`, `exists`, or `visit`.
90-
91-
The underlying object storage is only
92-
initialized when the first property is
93-
set or accessed. In practice, it means
94-
the object is never initialized if it's
95-
not used in a template.
81+
When any of the object properties are accessed,
82+
the object Value is constructed.
83+
In practice, the object never takes any memory
84+
besides the pointer to the underlying object.
85+
86+
The keys and values in the underlying object
87+
should be mapped using the MappingTraits<T> class.
9688
9789
This class is typically useful for
9890
implementing objects that are expensive

0 commit comments

Comments
 (0)