PHX::DataLayout Class Reference

A pure virtual class to distinguish a unique data layout in a cell. More...

#include <Phalanx_DataLayout.hpp>

Inheritance diagram for PHX::DataLayout:

Inheritance graph
[legend]

List of all members.

Public Types

typedef unsigned size_type

Public Member Functions

 DataLayout ()
virtual ~DataLayout ()
virtual size_type rank () const =0
virtual void dimensions (std::vector< size_type > &dim) const =0
virtual size_type size () const =0
virtual bool operator== (const DataLayout &left) const =0
virtual bool operator!= (const DataLayout &left) const
virtual std::string identifier () const =0
 Unique name identifier that can be used for strict weak ordering in stl std::map keys.
virtual void print (std::ostream &os, int indent=0) const =0


Detailed Description

A pure virtual class to distinguish a unique data layout in a cell.

The DataLayout class is used to (1) specify the array size of a an algebraic type in a single cell, and (2) to differentiate FieldTags that have the same name, but have different DataLayouts in the FieldManager. For example suppose we want to store density at both the nodes and the quadrature points in a cell. If we use the same string name for the FieldTag, the DataLayout will differentiate the objects. We could probably just use an enumerated type here, but the DataLayout class allows users to derive and pass in auxiliary data via the tag.


Member Typedef Documentation

typedef unsigned PHX::DataLayout::size_type


Constructor & Destructor Documentation

PHX::DataLayout::DataLayout (  )  [inline]

virtual PHX::DataLayout::~DataLayout (  )  [inline, virtual]


Member Function Documentation

virtual void PHX::DataLayout::dimensions ( std::vector< size_type > &  dim  )  const [pure virtual]

virtual std::string PHX::DataLayout::identifier (  )  const [pure virtual]

Unique name identifier that can be used for strict weak ordering in stl std::map keys.

Implemented in PHX::FlatLayout, and PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >.

Referenced by PHX::Tag< DataT >::identifier().

Here is the caller graph for this function:

virtual bool PHX::DataLayout::operator!= ( const DataLayout left  )  const [inline, virtual]

virtual bool PHX::DataLayout::operator== ( const DataLayout left  )  const [pure virtual]

virtual void PHX::DataLayout::print ( std::ostream &  os,
int  indent = 0 
) const [pure virtual]

Implemented in PHX::FlatLayout, and PHX::MDALayout< Tag0, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 >.

Referenced by PHX::operator<<().

Here is the caller graph for this function:

virtual size_type PHX::DataLayout::rank (  )  const [pure virtual]

virtual size_type PHX::DataLayout::size (  )  const [pure virtual]


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

Generated on Thu Dec 17 11:06:19 2009 for Phalanx by  doxygen 1.5.9