Base class holding the attributes and methods shared between the spatially referenced models (FMTLpModel and FMTNssModel).
More...
|
| void | setNodeCacheSize (const size_t &p_size) |
| | Set the size of reserved memory used when caching output nodes during the build process and output requests.
|
| |
| Graph::FMTGraphVertexToYield | getGraphVertexToYield () const |
| | Return a filled FMTGraphVertexToYield without a specific vertex selected.
|
| |
| virtual void | postSolve (const FMTModel &originalbasemodel) |
| | Postsolve the presolved model back into the original model, also postsolving the FMTGraph of the FMTSrModel.
|
| |
| void | setParallelLogger (Logging::FMTLogger &logger) override |
| | Pass a logger owned by the thread to the solver so it does not work in concurrency.
|
| |
| | FMTSrModel (const FMTModel &base, FMTSolverInterface lsolvertype) |
| | Main constructor building a FMTSrModel from its base class and letting the user choose the solver type.
|
| |
| | FMTSrModel () |
| | Default constructor for FMTSrModel.
|
| |
| | FMTSrModel (const FMTSrModel &rhs) |
| | Copy constructor for FMTSrModel.
|
| |
| | FMTSrModel (FMTModel &&base, const Graph::FMTGraph< Graph::FMTVertexProperties, Graph::FMTEdgeProperties > &lgraph, const FMTLpSolver &lsolver) |
| | Constructor for FMTSrModel mainly used in postSolve.
|
| |
| FMTSrModel & | operator= (const FMTSrModel &rhs) |
| | Copy assignment operator for FMTSrModel.
|
| |
| | FMTSrModel (FMTSrModel &&rhs) noexcept |
| | Default move constructor for FMTSrModel.
|
| |
| FMTSrModel & | operator= (FMTSrModel &&rhs) noexcept |
| | Default move assignment for FMTSrModel.
|
| |
| | ~FMTSrModel ()=default |
| | Default destructor for FMTSrModel.
|
| |
| bool | operator== (const FMTSrModel &rhs) const |
| | Comparison operator for FMTSrModel.
|
| |
| bool | operator!= (const FMTSrModel &rhs) const |
| | Comparison operator for FMTSrModel.
|
| |
| bool | unboundSolution (int period) |
| | Unbound the primal bounds of a given period.
|
| |
| bool | isPeriodBounded (int period) const |
| | Check if the FMTDevelopment areas are bounded on their primal variables for a given period.
|
| |
| void | clearGraphDevelopments () |
| | Clear the developments location by periods in the graph.
|
| |
| void | clearGraphCache () |
| | Clear the node caching in the graph.
|
| |
| bool | setSolution (int period, const Core::FMTSchedule &schedule, double tolerance=FMT_DBL_TOLERANCE) |
| | Set a solution for a given period to warmstart the model or to prepare to bound the model to that solution.
|
| |
| bool | setSolutionByLp (int period, const Core::FMTSchedule &schedule, double tolerance=FMT_DBL_TOLERANCE) |
| | Set the solution on a partial graph using a schedule, changing the objective function, constraints and variable bounds.
|
| |
| bool | forceSolution (int period, const Core::FMTSchedule &proportionschedulewithlock) |
| | Force a solution using a schedule based on proportions instead of area, placing only the parts of the solution possible with the model modifications.
|
| |
| Core::FMTSchedule | getSolution (int period, bool withlock=false) const final |
| | Get the standard solution for a given period, without the natural growth solution.
|
| |
| Core::FMTSchedule | getScheduleProportions (int period, bool withlock) const |
| | Same as getSolution but the schedule area represents the percentage of area of the development.
|
| |
| Graph::FMTGraphStats | getStats () const |
| | Get the graph stats of the graph and matrix (number of columns, rows, edges, vertices).
|
| |
| Graph::FMTGraphStats | getGraphStats (const Core::FMTMask &p_Subset) const |
| | Get the graph stats of the graph and matrix (number of columns, rows, edges, vertices) for a mask subset.
|
| |
| virtual std::unique_ptr< FMTModel > | getCopy (int period=0) const |
| | Return a copy of the FMTModel for the selected period.
|
| |
| virtual std::map< std::string, double > | getOutput (const Core::FMTOutput &output, int period, Core::FMToutputlevel level=Core::FMToutputlevel::standard) const |
| | Get the output value for a period using the matrix solution.
|
| |
| Graph::FMTGraphStats | buildPeriod (Core::FMTSchedule schedule=Core::FMTSchedule(), bool forcepartialbuild=false, int compressageclassoperability=1) |
| | Main function used to build the graph and the matrix, adding a period within the graph and the matrix.
|
| |
| int | getFirstActivePeriod () const |
| | Return the first active period.
|
| |
| virtual std::vector< Core::FMTActualDevelopment > | getArea (int period=0, bool beforegrowanddeath=false) const override |
| | Return the area for a given period for a FMTSrModel.
|
| |
| std::vector< Core::FMTActualDevelopment > | getPotentialArea (int p_Period=0, bool p_BeforeGrowAndDeath=false) const |
| | Compute the potential (maximum) development area for a period by forcing all solver decision variables to 1.0.
|
| |
| FMTLpSolver * | getSolverPtr () |
| | Get a pointer to the solver behind the model.
|
| |
| const FMTLpSolver * | getConstSolverPtr () const |
| | Get a pointer to the const solver behind the model.
|
| |
| virtual std::unique_ptr< FMTModel > | clone () const override |
| | Get a clone of the FMTSrModel.
|
| |
| void | passInLogger (const std::unique_ptr< Logging::FMTLogger > &logger) override |
| | Pass in the logger, overridden for the osisolverinterface.
|
| |
| virtual std::unique_ptr< FMTModel > | preSolve (std::vector< Core::FMTActualDevelopment > optionaldevelopments=std::vector< Core::FMTActualDevelopment >()) const override |
| | Return a presolved copy of the FMTSrModel.
|
| |
| bool | boundSolution (int period, double tolerance=FMT_DBL_TOLERANCE) |
| | Bound the primal variables to the primal solution present in the matrix for a given period and tolerance.
|
| |
| bool | setParameter (const FMTintmodelparameters &key, const int &value) override |
| | Override setter for int model parameters.
|
| |
| bool | setParameter (const FMTboolmodelparameters &key, const bool &value) override |
| | Override setter for bool model parameters.
|
| |
| std::set< Core::FMTSerie > | getRotations (const Core::FMTMask &mask, const std::string &aggregate) const |
| | Get all the unique rotations (in periods) taken to complete a serie of actions for a mask and an action aggregate.
|
| |
| virtual bool | isOptimal () const |
| | Return true if the solver considers the solution optimal.
|
| |
| virtual double | getObjectiveValue () const |
| | Return the value of the solver objective.
|
| |
| std::vector< const Core::FMTDevelopment * > | getNoChoice (const Core::FMTMask &base_mask) const |
| | Return the period 0 developments of a base mask that have no actions assigned for the whole planning horizon.
|
| |
| std::set< std::string > | getAllMasks (const std::vector< Core::FMTTheme > &p_selectedThemes) const |
| | Get all masks in string format for a complete graph, only for the selected themes.
|
| |
| bool | SupportsMultiThreading () const override |
| | Return true if the solver support multithreading.
|
| |
| double | getYieldValue (const std::string &p_mask, const std::string &p_yield, int p_age, int p_period) const |
| | Get yield value.
|
| |
| void | setReplicate (size_t p_replicate, int p_ReplanningPeriod) |
| | Set the constraints to the specified Replanning Period.
|
| |
| bool | gotReIgnore (const int &p_replanningPeriod) const |
| | Check if setReIgnore needs to be called.
|
| |
| bool | gotReplicate (const int &p_replanningPeriod) const |
| | Check if setReplicate needs to be called.
|
| |
| FMTModel | buildAction (const std::string &p_actionName, const std::string &p_Targetyield) const |
| | Build an action based on the positive value of a yield.
|
| |
| std::vector< Core::FMTSchedule > | buildSchedule (const Core::FMTAction &p_action, const FMTModel &p_BaseModel, const std::string &p_Targetyield, const std::vector< Core::FMTSchedule > &p_schedules) const |
| | Build a schedule by looking at operability of the actual developments.
|
| |
| void | pushTheme (const std::string &p_themeName, const std::string &p_yieldName, const std::vector< std::string > &p_attributes) |
| | Push a new theme and update the whole model with it.
|
| |
| Models::FMTModel | aggregateAllActions (const std::vector< std::string > &p_Aggregates, std::vector< std::string > p_ActionOrdering) const |
| | Aggregate actions together and create a new model with new actions, transitions, outputs, constraints, yields and lifespan.
|
| |
| Models::FMTModel | splitActions (const std::vector< std::string > &p_Actions, const std::vector< std::string > &p_masks) const |
| | Split actions using the provided masks, new actions are named action_mask and aggregated into the original action name.
|
| |
| std::vector< std::string > | getSchedulesPriorities (const std::vector< Core::FMTSchedule > &p_schedules) const |
| | Return the action names in priority of area scheduled.
|
| |
| std::vector< Core::FMTSchedule > | aggregateSchedules (const std::vector< Core::FMTSchedule > &p_schedules) const |
| | Build a new schedule based on p_schedules with the corresponding aggregated actions.
|
| |
| std::vector< Core::FMTSchedule > | splitSchedules (const std::vector< Core::FMTSchedule > &p_schedules) const |
| | Using the actions of the model change the actions of the schedule.
|
| |
| virtual void | setParallelLogger (Logging::FMTLogger &logger) |
| | Set a thread owned logger so the solver does not work in concurrency.
|
| |
| virtual void | clearCache () |
| | Clear caching elements to reduce memory usage.
|
| |
| | FMTModel (const std::vector< Core::FMTActualDevelopment > &larea, const std::vector< Core::FMTTheme > <hemes, const std::vector< Core::FMTAction > &lactions, const std::vector< Core::FMTTransition > <ransitions, const Core::FMTYields &lyields, const Core::FMTLifespans &llifespan, const std::string &lname, const std::vector< Core::FMTOutput > &loutputs, std::vector< Core::FMTConstraint > lconstraints=std::vector< Core::FMTConstraint >(), FMTModelParameters lparameters=FMTModelParameters()) |
| | Main constructor for FMTModel used in Parser::FMTModelParser, constraints and parameters are optional.
|
| |
| | FMTModel () |
| | Default constructor of FMTModel.
|
| |
| virtual | ~FMTModel ()=default |
| | Default virtual destructor of FMTModel.
|
| |
| | FMTModel (FMTModel &&rhs) |
| | Default move constructor for FMTModel.
|
| |
| FMTModel & | operator= (FMTModel &&rhs) |
| | Default move assignment for FMTModel.
|
| |
| virtual std::vector< Core::FMTActualDevelopment > | getArea (int period=0, bool beforegrowanddeath=false) const |
| | Get the area of a given period as actual developments.
|
| |
| virtual std::unique_ptr< FMTModel > | getCopy (int period=0) const |
| | Return a copy of the FMTModel for the selected period, cleaning the constraints and keeping the objective.
|
| |
| FMTModel | basePreSolve () const |
| | Presolve the model using the existing area.
|
| |
| Core::FMTMaskFilter | getPreSolveFilter (const std::vector< Core::FMTTheme > &originalthemes) const |
| | Get the preSolve filter.
|
| |
| Core::FMTMaskFilter | getPostSolveFilter (const std::vector< Core::FMTTheme > &originalthemes, const Core::FMTMask &devmask) const |
| | Get the postsolve filter used by the preSolve, to turn a presolved mask into a postsolve mask.
|
| |
| Core::FMTMask | getSelectedMask (const std::vector< Core::FMTTheme > &originalthemes) const |
| | Get the selection mask needed to preSolve a FMTMask when the model is presolved.
|
| |
| virtual std::unique_ptr< FMTModel > | preSolve (std::vector< Core::FMTActualDevelopment > optionaldevelopments=std::vector< Core::FMTActualDevelopment >()) const |
| | Return a new presolved FMTModel using developments and the actual transitions of the model.
|
| |
| virtual void | postSolve (const FMTModel &originalbasemodel) |
| | Postsolve the presolved model into the original model.
|
| |
| Core::FMTSchedule | preSolveSchedule (const Core::FMTSchedule &originalbaseschedule, const FMTModel &originalbasemodel) const |
| | Return a new schedule with presolved development masks and actions.
|
| |
| FMTModelStats | getModelStats () const |
| | Return the statistics of the model such as the number of themes, yields, actions and transitions.
|
| |
| void | cleanActionsNTransitions () |
| | Delete actions that have no defined transition and transitions that have no defined action, then sort them.
|
| |
| std::string | getName () const |
| | Return the name of the FMTModel.
|
| |
| std::vector< Core::FMTTheme > | getThemes () const |
| | Return a copy of the themes of the model.
|
| |
| std::vector< Core::FMTAction > | getActions () const |
| | Return a copy of the actions of the model.
|
| |
| std::vector< Core::FMTTransition > | getTransitions () const |
| | Return a copy of the transitions of the model.
|
| |
| Core::FMTYields | getYields () const |
| | Return a copy of the yields of the model.
|
| |
| Core::FMTLifespans | getLifespan () const |
| | Return a copy of the lifespan of the model.
|
| |
| std::vector< Core::FMTOutput > | getOutputs () const |
| | Return a copy of the outputs of the model.
|
| |
| std::vector< Core::FMTConstraint > | getConstraints () const |
| | Return a copy of the constraints of the model.
|
| |
| void | addOutput (const std::string &name, const std::string &maskstring, Core::FMTotar outputtarget, std::string action=std::string(), std::string yield=std::string(), std::string description=std::string(), int targetTheme=-1) |
| | Add one output to the model based only on strings.
|
| |
| template<typename T > |
| void | addYieldHandlers (const std::vector< T > &yieldhandlers) |
| | Add FMTYieldHandler from a vector to the yields.
|
| |
| void | addYieldHandlersFromPtr (const std::vector< std::unique_ptr< Core::FMTYieldHandler > > &yieldhandlers) |
| | Add unique pointers of FMTYieldHandler from a vector to the yields.
|
| |
| bool | operator== (const FMTModel &rhs) const |
| | Equality comparison operator of FMTModel.
|
| |
| bool | operator< (const FMTModel &rhs) const |
| | Less than comparison operator of FMTModel.
|
| |
| void | setArea (const std::vector< Core::FMTActualDevelopment > &ldevs) |
| | Setter for the initial actual developments (area section), replacing the originals.
|
| |
| void | setThemes (const std::vector< Core::FMTTheme > <hemes) |
| | Setter for the themes of the model, replacing the originals.
|
| |
| void | setActions (const std::vector< Core::FMTAction > &lactions) |
| | Setter for the actions of the model, replacing the originals.
|
| |
| void | setTransitions (const std::vector< Core::FMTTransition > <ransitions) |
| | Setter for the transitions of the model, replacing the originals.
|
| |
| void | setConstraints (const std::vector< Core::FMTConstraint > &lconstraint) |
| | Setter for the constraints of the model, replacing the original.
|
| |
| void | setYields (const Core::FMTYields &lylds) |
| | Setter for the yields of the model, replacing the original.
|
| |
| void | setLifespan (const Core::FMTLifespans &llifespan) |
| | Setter for the lifespan of the model, replacing the original.
|
| |
| void | setName (const std::string &newname) |
| | Set the name of the FMTModel.
|
| |
| void | setOutputs (const std::vector< Core::FMTOutput > &newoutputs) |
| | Setter for the outputs of the model.
|
| |
| bool | isValid () |
| | Validate the whole FMTModel through themes, actual developments, yields, actions, transitions, outputs and constraints.
|
| |
| std::vector< const Core::FMTTheme * > | locateStaticThemes (const Core::FMTOutput &output, bool ignoreoutputvariables=false) const |
| | Return the themes that are not used in the transitions and in a given output (static themes).
|
| |
| std::vector< const Core::FMTTheme * > | locateStaticThemes (const Core::FMTOutputNode &output, bool ignoreoutputvariables=false) const |
| | Return the themes that are not used in the transitions and in a given output node (static themes).
|
| |
| std::vector< const Core::FMTTheme * > | locateDynamicThemes (const Core::FMTOutput &outpu, bool ignoreoutputvariables=false) const |
| | Return the themes used in the transition scheme.
|
| |
| Core::FMTMask | getDynamicMask (const Core::FMTOutput &output, bool ignoreoutputvariables=false) const |
| | Return a mask where static attributes have a value of 0 and dynamic attributes a value of 1.
|
| |
| Core::FMTMask | getDynamicMask (const Core::FMTOutputNode &node, bool ignoreoutputvariables=false) const |
| | Return a mask where static attributes have a value of 0 and dynamic attributes a value of 1.
|
| |
| virtual Core::FMTMask | getStaticMask (const Core::FMTOutputNode &node, bool ignoreoutputvariables=false) const |
| | Return a mask where static attributes have a value of 1 and dynamic attributes a value of 0.
|
| |
| bool | isStaticNode (const Core::FMTOutputNode &node, double ratioofset=0.1) const |
| | Return true if the node can be used in static mask functions.
|
| |
| std::vector< const Core::FMTTheme * > | locateStaticTransitionsThemes () const |
| | Return the static themes based on the model transitions.
|
| |
| std::vector< const Core::FMTTheme * > | locateNodeStaticThemes (const Core::FMTOutputNode &node, bool ignoreoutputvariables=false, std::vector< const Core::FMTTheme * > basethemes=std::vector< const Core::FMTTheme * >()) const |
| | Return the static themes of a node based on the model transitions.
|
| |
| | FMTModel (const FMTModel &rhs) |
| | Copy constructor of FMTModel.
|
| |
| FMTModel & | operator= (const FMTModel &rhs) |
| | Copy assignment of FMTModel.
|
| |
| bool | empty () const |
| | Return true if the FMTModel is empty.
|
| |
| void | push_back (const FMTModel &rhs) |
| | Append a FMTModel to this FMTModel without overriding the objective of the base model.
|
| |
| double | getInitialArea () const |
| | Return the sum of the area of the area vector.
|
| |
| void | setAreaPeriod (const int &period) |
| | Change the initial area period to the targeted period.
|
| |
| int | getAreaPeriod () const |
| | get the period of the area section.
|
| |
| Core::FMTSchedule | getPotentialSchedule (std::vector< Core::FMTActualDevelopment > toRemove, std::vector< Core::FMTActualDevelopment > selection, bool withlock=true) const |
| | Test operability of a selection minus the developments to remove and return a schedule with an area of 1.0 for each operable development.
|
| |
| virtual std::vector< Core::FMTConstraint > | getReplanningConstraints (const std::string &modeltype, const std::vector< Core::FMTConstraint > &localconstraints, const int &period) const |
| | Adjust the constraints that need to be set to a value of the global or local model and return all constraints.
|
| |
| virtual bool | doPlanning (const bool &solve, std::vector< Core::FMTSchedule > schedules=std::vector< Core::FMTSchedule >()) |
| | Build the model and do the initial solve or simulate, using the build and solve overridden functions of the different model types.
|
| |
| virtual std::map< std::string, double > | getOutput (const Core::FMTOutput &output, int period, Core::FMToutputlevel level=Core::FMToutputlevel::standard) const |
| | Get the output value of an output for a given period using the spatial solution.
|
| |
| virtual Core::FMTSchedule | getSolution (int period, bool withlock=false) const |
| | Get the standard solution for a given period, without the natural growth solution.
|
| |
| virtual std::map< std::string, std::vector< std::vector< double > > > | getOutputsFromPeriods (const std::vector< Core::FMTOutput > &theoutputs, const int &firstPeriod, const int &lastPeriod, Core::FMToutputlevel level=Core::FMToutputlevel::standard) const |
| | For each output get a vector of output values from the first period to the last period.
|
| |
| virtual std::unique_ptr< FMTModel > | clone () const |
| | Get a clone of the FMTModel.
|
| |
| virtual bool | setParameter (const FMTintmodelparameters &p_key, const int &p_value) |
| | set int parameters to nss model.
|
| |
| virtual bool | setParameter (const FMTdblmodelparameters &key, const double &value) |
| | Setter for double model parameters. See FMTModelParameters.h.
|
| |
| virtual bool | setParameter (const FMTboolmodelparameters &key, const bool &value) |
| | Setter for bool model parameters. See FMTModelParameters.h.
|
| |
| virtual bool | setParameter (const FMTstrmodelparameters &p_key, const std::string &p_value) |
| | Setter forstr model parameters. See FMTModelParameters.h.
|
| |
| int | getParameter (const FMTintmodelparameters &key) const |
| | Getter for int model parameters. See FMTModelParameters.h.
|
| |
| double | getParameter (const FMTdblmodelparameters &key) const |
| | Getter for double model parameters. See FMTModelParameters.h.
|
| |
| bool | getParameter (const FMTboolmodelparameters &key) const |
| | Getter for bool model parameters. See FMTModelParameters.h.
|
| |
| const std::string & | getParameter (const FMTstrmodelparameters &p_key) const |
| | Getter for str model parameters. See FMTModelParameters.h.
|
| |
| bool | setCompressTime (const int &periodStart, const int &periodStop, const int &value) |
| | Set the compresstime value for a range of periods. See FMTModelParameters.h.
|
| |
| std::vector< int > | getCompressTime () const |
| | Return a vector with the compresstime value for each period, the first period being index 0. See FMTModelParameters.h.
|
| |
| std::vector< Core::FMTConstraint > | goalConstraints (double penalty=999999) const |
| | Return all constraints and the objective with goals and penalty.
|
| |
| std::vector< Core::FMTConstraint > | getTacticalConstraints (double penalty=999999, double scheduleweight=999999, double objective=0, double objectivefactor=1.0) const |
| | Get the constraints adapted for a tactical model.
|
| |
| virtual void | showParameters (const bool &showhelp=false) const |
| | Show the parameter values.
|
| |
| virtual bool | build (std::vector< Core::FMTSchedule > schedules=std::vector< Core::FMTSchedule >()) |
| | Build the elements needed to solve the model, overridden by each type of model.
|
| |
| virtual bool | solve () |
| | Solve the model, overridden by each type of model.
|
| |
| virtual bool | isOptimal () const |
| | Return true if the FMTModel is optimal.
|
| |
| virtual double | getObjectiveValue () const |
| | Return the value of the global objective.
|
| |
| std::default_random_engine * | getGeneratorPtr () const |
| | Get a pointer to the generator.
|
| |
| std::vector< size_t > | getStaticTransitionThemes () const |
| | Locate the static transition themes.
|
| |
| virtual bool | SupportsMultiThreading () const |
| | Some solver dont support multithreading.
|
| |
| | FMTObject () |
| | Default constructor for FMTObject.
|
| |
| virtual | ~FMTObject () |
| | Default virtual destructor for FMTObject.
|
| |
| | FMTObject (const std::unique_ptr< Exception::FMTExceptionHandler > exhandler) |
| | Construct a FMTObject passing in the exception handler of another FMTObject.
|
| |
| | FMTObject (const FMTObject &rhs) |
| | Copy constructor for FMTObject.
|
| |
| FMTObject & | operator= (const FMTObject &rhs) |
| | Copy assignment operator for FMTObject.
|
| |
| virtual void | passInLogger (const std::unique_ptr< Logging::FMTLogger > &logger) |
| | Pass in the logger of another FMTObject.
|
| |
| void | passInExceptionHandler (const std::unique_ptr< Exception::FMTExceptionHandler > &exhandler) |
| | Pass in the exception handler of another FMTObject.
|
| |
| void | redirectLogToFile (const std::string &location) |
| | Redirect the log to a specific file, appending to it.
|
| |
| virtual void | setDefaultLogger () |
| | Create and set a default logger to the FMTObject.
|
| |
| virtual void | setQuietLogger () |
| | Create and set a quiet logger to the FMTObject.
|
| |
| virtual void | setTaskLogger () |
| | Create and set a task logger to the FMTObject.
|
| |
| virtual void | setDebugLogger () |
| | Create and set a debug logger to the FMTObject.
|
| |
| void | setDefaultExceptionHandler () |
| | Create and set a default exception handler to the FMTObject.
|
| |
| void | setQuietExceptionHandler () |
| | Create and set a quiet exception handler to the FMTObject.
|
| |
| void | setDebugExceptionHandler () |
| | Create and set a debug exception handler to the FMTObject.
|
| |
| void | setFreeExceptionHandler () |
| | Create and set a free exception handler to the FMTObject.
|
| |
| void | disableNestedExceptions () |
| | Disable the nested exception throw of the exception handler.
|
| |
| void | enableNestedExceptions () |
| | Enable the nested exception throw of the exception handler.
|
| |
| void | setErrorsToWarnings (const std::vector< Exception::FMTexc > &errors) |
| | Set a list of errors to be cast to warnings on the exception handler.
|
| |
| void | setMaxWarningsBeforeSilenced (const size_t &maxwarningcount) |
| | Set the number of warnings raised before being silenced.
|
| |
| template<class Archive > |
| void | serialize (Archive &ar, const unsigned int version) |
| |