Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Friends | List of all members
Teuchos::WorkspaceStore Class Reference

Workspace encapsulation class. More...

#include <Teuchos_Workspace.hpp>

Inheritance diagram for Teuchos::WorkspaceStore:
Teuchos::WorkspaceStoreInitializeable

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)
 

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 235 of file Teuchos_Workspace.hpp.

Constructor & Destructor Documentation

Teuchos::WorkspaceStore::~WorkspaceStore ( )

Definition at line 67 of file Teuchos_Workspace.cpp.

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

Definition at line 54 of file Teuchos_Workspace.cpp.

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 437 of file Teuchos_Workspace.hpp.

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

Return the number of bytes remaining currently.

Definition at line 443 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 449 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 455 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 461 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 467 of file Teuchos_Workspace.hpp.

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

Definition at line 71 of file Teuchos_Workspace.cpp.

Friends And Related Function Documentation

friend class RawWorkspace
friend

Definition at line 238 of file Teuchos_Workspace.hpp.


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