phdMesh  Version of the Day
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups
Public Member Functions | List of all members
phdmesh::ArrayDimTag Class Referenceabstract

Abstract base class for array dimension tags supplied to the Array template class. More...

#include <Array.hpp>

Inheritance diagram for phdmesh::ArrayDimTag:
phdmesh::ArrayDimension

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 (unsigned dimension, unsigned index) const
 Given a dimension and index produce a string for output. Default to converting index to a string.
 
virtual unsigned to_index (unsigned dimension, const std::string &label) const
 Given a dimension and input strige produce an index. Default to converting label to an integer.
 

Detailed Description

Abstract base class for array dimension tags supplied to the Array template class.

See Also
Array

A derived array dimension tag class must provide the name method and tag singleton method as in the following example.

struct MyTag : public phdmesh::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 160 of file Array.hpp.


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