shards
Version of the Day
|
Abstract base class for array dimension tags supplied to the Array template class. More...
#include <Shards_Array.hpp>
Public Types | |
typedef array_traits::int_t | size_type |
Public Member Functions | |
virtual const char * | name () const =0 |
Name of the tag, typically the name of the derived class. | |
virtual std::string | to_string (size_type dimension, size_type index) const |
Given a dimension and index produce a string for output. More... | |
virtual size_type | to_index (size_type dimension, const std::string &label) const |
Given a dimension and input strige produce an index. More... | |
Abstract base class for array dimension tags supplied to the Array template class.
A derived array dimension tag class must provide the name method and tag singleton method as in the following example.
struct MyTag : public shards::ArrayDimTag { const char * name() const ; static const MyTag & tag(); };
An example implementation of these methods is as follows.
const char * MyTag::name() const { static const char my_name[] = "MyTag" ; return my_name ; }
const MyTag & MyTag::tag() { static const MyTag my_tag ; return my_tag ; }
Definition at line 133 of file Shards_Array.hpp.
|
virtual |
Given a dimension and index produce a string for output.
Default to converting index to a string.
|
virtual |
Given a dimension and input strige produce an index.
Default to converting label to an integer.