@@ -44,11 +44,17 @@ class RBParameters
4444{
4545public:
4646
47+ /* *
48+ * Constructor. Initializes the _n_steps parameter to 1 for
49+ * backwards compatibility, but the set_n_steps() function can
50+ * always be called later to update this value.
51+ */
52+ RBParameters ();
53+
4754 /* *
4855 * The special functions can be defaulted for this class, as it
4956 * does not manage any memory itself.
5057 */
51- RBParameters () = default ;
5258 RBParameters (RBParameters &&) = default ;
5359 RBParameters (const RBParameters &) = default ;
5460 RBParameters & operator = (const RBParameters &) = default ;
@@ -257,6 +263,16 @@ class RBParameters
257263 */
258264 unsigned int n_parameters () const ;
259265
266+ /* *
267+ * Set the number of steps this RBParameters object is intended to
268+ * represent, in the case that there are no actual parameters stored
269+ * on it. Note: this value will only be used in the no-parameters
270+ * case; if there are actual parameters specified in this class, the
271+ * number set via this API is ignored. All parameters stored within
272+ * the RBParameters object must have n_steps() steps.
273+ */
274+ void set_n_steps (unsigned int n_steps);
275+
260276 /* *
261277 * Returns the number of steps stored for all parameters. For
262278 * simplicity, we require all parameters to store the same number of
@@ -352,6 +368,14 @@ class RBParameters
352368 std::size_t index,
353369 Real value);
354370
371+ /* *
372+ * The number of steps represented by this RBParameters object, in
373+ * the case where there are no parameters actually stored on it. If
374+ * there are parameters stored on this RBParameters object, then the
375+ * n_steps() API returns that number of steps instead.
376+ */
377+ unsigned int _n_steps;
378+
355379 /* *
356380 * The map that stores the actual parameter vectors. Each vector is
357381 * indexed by a name.
0 commit comments