Epetra  Development
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
Protected Attributes | List of all members
Epetra_Data Class Reference

Epetra_Data: The Epetra Base Data Class. More...

#include <Epetra_Data.h>

Inheritance diagram for Epetra_Data:
Inheritance graph

Protected Member Functions

Constructor/Destructor Methods
 Epetra_Data ()
 Epetra_Data Serial Constructor.
 Epetra_Data (const Epetra_Data &Data)
 Epetra_Data Copy Constructor. More...
virtual ~Epetra_Data ()
 Epetra_Data Destructor.
Reference-Counting Methods
void IncrementReferenceCount ()
 Increment reference count.
void DecrementReferenceCount ()
 Decrement reference count.
int ReferenceCount () const
 Get reference count.

Protected Attributes

int ReferenceCount_

Detailed Description

Epetra_Data: The Epetra Base Data Class.

The Epetra_Data class is a base class for all Epetra Data Classes. It provides a mechanism so that one data object can be shared by multiple class instances. However, it is meant only to be used internally by another Epetra class. It does not provide smart pointer like capabilities. Incrementing and decrementing the reference count, and deleting the data class instance (if necessary), are duties of the Epetra class utilizing Epetra_Data.

All of Epetra_Data's methods are protected. This is because Epetra_Data should never be used directly. Rather, a class that derives from Epetra_Data should be used instead. For example, Epetra_MpiCommData or Epetra_BlockMapData.

DEVELOPER NOTES: (1) Any class that inherits from Epetra_Data may need to define an assignment operator, if it adds pointers. Epetra_Data doesn't have any, and so the default (compiler-generated) assignment operator is good enough. (2) The behavior of a derived class is left up to the implementer(s) of that class. As such, it cannot be assumed that just because a class inherits from Epetra_Data, that it supports copy construction or assignment, or that it will perform as expected.

Constructor & Destructor Documentation

Epetra_Data::Epetra_Data ( const Epetra_Data Data)

Epetra_Data Copy Constructor.

Reference count will be set to 1 on new instance.

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