Epetra Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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
[legend]

Protected Attributes

int ReferenceCount_
 

Constructor/Destructor Methods

 Epetra_Data ()
 Epetra_Data Serial Constructor. More...
 
 Epetra_Data (const Epetra_Data &Data)
 Epetra_Data Copy Constructor. More...
 
virtual ~Epetra_Data ()
 Epetra_Data Destructor. More...
 

Reference-Counting Methods

void IncrementReferenceCount ()
 Increment reference count. More...
 
void DecrementReferenceCount ()
 Decrement reference count. More...
 
int ReferenceCount () const
 Get reference count. More...
 

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.

Definition at line 73 of file Epetra_Data.h.

Constructor & Destructor Documentation

Epetra_Data::Epetra_Data ( )
protected

Epetra_Data Serial Constructor.

Definition at line 47 of file Epetra_Data.cpp.

Epetra_Data::Epetra_Data ( const Epetra_Data Data)
protected

Epetra_Data Copy Constructor.

Reference count will be set to 1 on new instance.

Definition at line 51 of file Epetra_Data.cpp.

Epetra_Data::~Epetra_Data ( )
protectedvirtual

Epetra_Data Destructor.

Definition at line 58 of file Epetra_Data.cpp.

Member Function Documentation

void Epetra_Data::IncrementReferenceCount ( )
protected

Increment reference count.

Definition at line 61 of file Epetra_Data.cpp.

void Epetra_Data::DecrementReferenceCount ( )
protected

Decrement reference count.

Definition at line 66 of file Epetra_Data.cpp.

int Epetra_Data::ReferenceCount ( ) const
protected

Get reference count.

Definition at line 71 of file Epetra_Data.cpp.

Member Data Documentation

int Epetra_Data::ReferenceCount_
protected

Definition at line 104 of file Epetra_Data.h.


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