Gromacs  2018.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 IOptionValueStore for an enum option.

This class is instantiated for each enum type for which EnumOption is used, and takes care of managing int-to-enum conversions. Having this part 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 int valueCount ()
 Returns the number of values stored so far.
 
virtual ArrayRef< int > values ()
 Returns a reference to the actual values.
 
virtual void clear ()
 Removes all stored values.
 
virtual void reserve (size_t count)
 Reserves memory for additional count entries.
 
virtual void append (const int &value)
 Appends a value to the store.
 

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