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

Encapulsation object for raw temporary workspace that has been allocated. These objects can only be created on the stack and should not be included as the member of any other classes. More...

#include <Teuchos_Workspace.hpp>

Public Member Functions

 RawWorkspace (WorkspaceStore *workspace_store, size_t num_bytes)
 Allocate num_bytes bytes of temporary workspace. When this object is created if workspace_store != NULL the workspace_store object will be used to get the raw memory. If workspace_store == NULL || workspace_store->num_bytes_remaining() < num_bytes then this memory will have to be dynamically allocated. More...
 
 ~RawWorkspace ()
 Deallocate workspace. More...
 
size_t num_bytes () const
 Return the number of bytes of raw workspace. More...
 
char * workspace_ptr ()
 Give a raw pointer to the beginning of the workspace. More...
 
const char * workspace_ptr () const
 

Friends

class WorkspaceStore
 

Detailed Description

Encapulsation object for raw temporary workspace that has been allocated. These objects can only be created on the stack and should not be included as the member of any other classes.

Definition at line 71 of file Teuchos_Workspace.hpp.

Constructor & Destructor Documentation

Teuchos::RawWorkspace::RawWorkspace ( WorkspaceStore workspace_store,
size_t  num_bytes 
)

Allocate num_bytes bytes of temporary workspace. When this object is created if workspace_store != NULL the workspace_store object will be used to get the raw memory. If workspace_store == NULL || workspace_store->num_bytes_remaining() < num_bytes then this memory will have to be dynamically allocated.

Preconditons:

  • num_bytes >= 0 (throw std::invalid_arguemnt)

Postconditons:

Parameters
workspace_store[in] Pointer to the workspace object to get the memory from. This can be NULL in which case new T[] and delete [] will be used instead.
num_bytes[in] The number of bytes to allocate.

Definition at line 90 of file Teuchos_Workspace.cpp.

Teuchos::RawWorkspace::~RawWorkspace ( )

Deallocate workspace.

Definition at line 122 of file Teuchos_Workspace.cpp.

Member Function Documentation

size_t Teuchos::RawWorkspace::num_bytes ( ) const
inline

Return the number of bytes of raw workspace.

Definition at line 490 of file Teuchos_Workspace.hpp.

char * Teuchos::RawWorkspace::workspace_ptr ( )
inline

Give a raw pointer to the beginning of the workspace.

Definition at line 496 of file Teuchos_Workspace.hpp.

const char * Teuchos::RawWorkspace::workspace_ptr ( ) const
inline

Definition at line 502 of file Teuchos_Workspace.hpp.

Friends And Related Function Documentation

friend class WorkspaceStore
friend

Definition at line 74 of file Teuchos_Workspace.hpp.


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