Gromacs  2016.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::internal::EnumIndexStore< EnumType > Class Template Reference

#include <gromacs/options/basicoptions.h>

+ Inheritance diagram for gmx::internal::EnumIndexStore< EnumType >:
+ Collaboration diagram for gmx::internal::EnumIndexStore< EnumType >:

Description

template<typename EnumType>
class gmx::internal::EnumIndexStore< EnumType >

Type-specific implementation for EnumIndexStoreInterface.

This class is instantiated for each enum type for which EnumOption is used, and takes care of managing the int-to-enum conversions as described in EnumIndexStoreInterface. Having this as a template in the header allows the actual storage implementation to not be in the header, which would require exposing all the internals through this one header...

Public Member Functions

 EnumIndexStore (EnumType *store, std::vector< EnumType > *storeVector)
 Initializes the storage for the given actual enum variables.
 
virtual std::vector< int > initialValues () const
 Returns initial values from the actual enum variables.
 
virtual void reserveSpace (size_t count)
 Reserves space for storage in the actual enum variables.
 
virtual void refreshValues (const std::vector< int > &values)
 Updates values in the actual enum variables based on option values.
 

The documentation for this class was generated from the following file: