Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
Teuchos::WorkspaceStore Class Reference

Workspace encapsulation class. More...

#include <Teuchos_Workspace.hpp>

Inheritance diagram for Teuchos::WorkspaceStore:
Inheritance graph
[legend]

Public Member Functions

 ~WorkspaceStore ()
 
size_t num_bytes_total () const
 Return the total number of bytes that where initially allocated. More...
 
size_t num_bytes_remaining () const
 Return the number of bytes remaining currently. More...
 
int num_static_allocations () const
 Return the number of static memory allocations granted thus far. This is the number of memory allocations requested by the creation of RawWorkspace objects where there was sufficient preallocated memory to satisfy the request. More...
 
int num_dyn_allocations () const
 Return the number of dynamic memory allocations granted thus far. This is the number of memory allocations requested by the creation of RawWorkspace objects where there was not sufficient preallocated memory to satisfy the request and dynamic memory had to be created. More...
 
size_t num_current_bytes_total ()
 Return the total number of bytes currently allocated.. This is the total number of bytes currently being used. More...
 
size_t num_max_bytes_needed () const
 Return the maximum storage in bytes needed. This is the maximum total amount of * storage that was needed at any one time. More...
 

Protected Member Functions

 WorkspaceStore (size_t num_bytes)
 
void protected_initialize (size_t num_bytes)
 

Private Member Functions

 WorkspaceStore (const WorkspaceStore &)
 
WorkspaceStoreoperator= (const WorkspaceStore &)
 

Private Attributes

char * workspace_begin_
 
char * workspace_end_
 
char * curr_ws_ptr_
 
int num_static_allocations_
 
int num_dyn_allocations_
 
size_t num_current_bytes_total_
 
size_t num_max_bytes_needed_
 

Friends

class RawWorkspace
 

Detailed Description

Workspace encapsulation class.

Base class for objects that allocate a huge block of memory at once and then allow RawWorkspace (an hense Workspace<T>) objects to be created that make use of this memory in a stack-like fasion. The classes WorkspaceStore and RawWorkspace work closely together and are useless on their own.

Through this interface, a client can not initialize or resize the size of the available workspace and can not directly instantiate objects of this type. Instead it must create a derived WorkspaceStoreInitializeable object defined later.

Definition at line 267 of file Teuchos_Workspace.hpp.

Constructor & Destructor Documentation

Teuchos::WorkspaceStore::~WorkspaceStore ( )

Definition at line 99 of file Teuchos_Workspace.cpp.

Teuchos::WorkspaceStore::WorkspaceStore ( size_t  num_bytes)
protected

Definition at line 86 of file Teuchos_Workspace.cpp.

Teuchos::WorkspaceStore::WorkspaceStore ( const WorkspaceStore )
private

Member Function Documentation

size_t Teuchos::WorkspaceStore::num_bytes_total ( ) const
inline

Return the total number of bytes that where initially allocated.

Definition at line 469 of file Teuchos_Workspace.hpp.

size_t Teuchos::WorkspaceStore::num_bytes_remaining ( ) const
inline

Return the number of bytes remaining currently.

Definition at line 475 of file Teuchos_Workspace.hpp.

int Teuchos::WorkspaceStore::num_static_allocations ( ) const
inline

Return the number of static memory allocations granted thus far. This is the number of memory allocations requested by the creation of RawWorkspace objects where there was sufficient preallocated memory to satisfy the request.

Definition at line 481 of file Teuchos_Workspace.hpp.

int Teuchos::WorkspaceStore::num_dyn_allocations ( ) const
inline

Return the number of dynamic memory allocations granted thus far. This is the number of memory allocations requested by the creation of RawWorkspace objects where there was not sufficient preallocated memory to satisfy the request and dynamic memory had to be created.

Definition at line 487 of file Teuchos_Workspace.hpp.

size_t Teuchos::WorkspaceStore::num_current_bytes_total ( )
inline

Return the total number of bytes currently allocated.. This is the total number of bytes currently being used.

Definition at line 493 of file Teuchos_Workspace.hpp.

size_t Teuchos::WorkspaceStore::num_max_bytes_needed ( ) const
inline

Return the maximum storage in bytes needed. This is the maximum total amount of * storage that was needed at any one time.

Definition at line 499 of file Teuchos_Workspace.hpp.

void Teuchos::WorkspaceStore::protected_initialize ( size_t  num_bytes)
protected

Definition at line 103 of file Teuchos_Workspace.cpp.

WorkspaceStore& Teuchos::WorkspaceStore::operator= ( const WorkspaceStore )
private

Friends And Related Function Documentation

friend class RawWorkspace
friend

Definition at line 270 of file Teuchos_Workspace.hpp.

Member Data Documentation

char* Teuchos::WorkspaceStore::workspace_begin_
private

Definition at line 305 of file Teuchos_Workspace.hpp.

char* Teuchos::WorkspaceStore::workspace_end_
private

Definition at line 307 of file Teuchos_Workspace.hpp.

char* Teuchos::WorkspaceStore::curr_ws_ptr_
private

Definition at line 309 of file Teuchos_Workspace.hpp.

int Teuchos::WorkspaceStore::num_static_allocations_
private

Definition at line 311 of file Teuchos_Workspace.hpp.

int Teuchos::WorkspaceStore::num_dyn_allocations_
private

Definition at line 313 of file Teuchos_Workspace.hpp.

size_t Teuchos::WorkspaceStore::num_current_bytes_total_
private

Definition at line 316 of file Teuchos_Workspace.hpp.

size_t Teuchos::WorkspaceStore::num_max_bytes_needed_
private

Definition at line 317 of file Teuchos_Workspace.hpp.


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