@@ -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