Teuchos Package Browser (Single Doxygen Collection) Version of the Day
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
Teuchos::WorkspaceStore Class Reference

Workspace encapsulation class. More...

#include <Teuchos_Workspace.hpp>

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

List of all members.

Public Member Functions

 ~WorkspaceStore ()
 
size_t num_bytes_total () const
 Return the total number of bytes that where initially allocated.
size_t num_bytes_remaining () const
 Return the number of bytes remaining currently.
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.
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.
size_t num_current_bytes_total ()
 Return the total number of bytes currently allocated.. This is the total number of bytes currently being used.
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.

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

Definition at line 305 of file Teuchos_Workspace.hpp.

Definition at line 307 of file Teuchos_Workspace.hpp.

Definition at line 309 of file Teuchos_Workspace.hpp.

Definition at line 311 of file Teuchos_Workspace.hpp.

Definition at line 313 of file Teuchos_Workspace.hpp.

Definition at line 316 of file Teuchos_Workspace.hpp.

Definition at line 317 of file Teuchos_Workspace.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines