@@ -72,27 +72,19 @@ concept HasMappingTraits = requires(detail::ArchetypalIO& io, T const& o)
72
72
//
73
73
// ------------------------------------------------
74
74
75
- /* * Abstract lazy object interface .
75
+ /* * Lazy object implementation .
76
76
77
77
This interface is used to define objects
78
78
whose members are evaluated on demand
79
79
as they are accessed.
80
80
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.
96
88
97
89
This class is typically useful for
98
90
implementing objects that are expensive
0 commit comments