Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
Workspace encapsulation class. More...
#include <Teuchos_Workspace.hpp>
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 &) | |
WorkspaceStore & | operator= (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 |
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.
Teuchos::WorkspaceStore::~WorkspaceStore | ( | ) |
Definition at line 99 of file Teuchos_Workspace.cpp.
|
protected |
Definition at line 86 of file Teuchos_Workspace.cpp.
|
private |
|
inline |
Return the total number of bytes that where initially allocated.
Definition at line 469 of file Teuchos_Workspace.hpp.
|
inline |
Return the number of bytes remaining currently.
Definition at line 475 of file Teuchos_Workspace.hpp.
|
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.
|
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.
|
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.
|
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.
|
protected |
Definition at line 103 of file Teuchos_Workspace.cpp.
|
private |
|
friend |
Definition at line 270 of file Teuchos_Workspace.hpp.
|
private |
Definition at line 305 of file Teuchos_Workspace.hpp.
|
private |
Definition at line 307 of file Teuchos_Workspace.hpp.
|
private |
Definition at line 309 of file Teuchos_Workspace.hpp.
|
private |
Definition at line 311 of file Teuchos_Workspace.hpp.
|
private |
Definition at line 313 of file Teuchos_Workspace.hpp.
|
private |
Definition at line 316 of file Teuchos_Workspace.hpp.
|
private |
Definition at line 317 of file Teuchos_Workspace.hpp.