Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Zygoma::Freestore Class Reference

#include <freestore.h>

List of all members.


Detailed Description

The kernel freestore is a sequential container of bytes.

Conforming To
ISO/IEC 14882:1998(E)


Public Types

typedef u08 value_type
typedef u08reference
typedef const u08const_reference
typedef u08iterator
typedef const u08const_iterator
typedef std::ptrdiff_t difference_type
typedef std::size_t size_type

Public Member Functions

Construction, Copy, and Assignment
Freestore ()
 Constructs an empty Freestore.
 Freestore (u08 *base, u08 *top)
 Constructs a Freestore with base address, size, and "allocator".
 Freestore (const Freestore &)
 Copy constructs a Freestore.
Freestoreoperator= (const Freestore &)
 Copies a Freestore.
 ~Freestore ()
 Destroys a Freestore.
Capacity
*size_type size () const
 Gets the capacity of the Freestore.
size_type max_size () const
 Gets the maximum capacity of the Freestore.
void resize (size_type sz)
 Resizes the Freestore to contain (at least) the specified number of bytes.
bool empty () const
 Indicates that the Freestore contains no memory.
Iteration
*iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const


Member Typedef Documentation

typedef const u08* Zygoma::Freestore::const_iterator
 

typedef const u08& Zygoma::Freestore::const_reference
 

typedef std::ptrdiff_t Zygoma::Freestore::difference_type
 

typedef u08* Zygoma::Freestore::iterator
 

typedef u08& Zygoma::Freestore::reference
 

typedef std::size_t Zygoma::Freestore::size_type
 

typedef u08 Zygoma::Freestore::value_type
 


Constructor & Destructor Documentation

Freestore::Freestore  ) 
 

Constructs an empty Freestore.

Freestore::Freestore u08 base,
u08 top
 

Constructs a Freestore with base address, size, and "allocator".

Parameters:
base [IN] The base address of the freestore.
top [IN] One-past-the-top of the freestore.
Todo:
Add "allocator" handling.

Freestore::Freestore const Freestore  ) 
 

Copy constructs a Freestore.

Freestore::~Freestore  ) 
 

Destroys a Freestore.


Member Function Documentation

Freestore::const_iterator Freestore::begin  )  const
 

Freestore::iterator Freestore::begin  ) 
 

bool Zygoma::Freestore::empty  )  const [inline]
 

Indicates that the Freestore contains no memory.

Returns:
true if the capacity of the Freestore is zero, false otherwise.

Here is the call graph for this function:

Freestore::const_iterator Freestore::end  )  const
 

Freestore::iterator Freestore::end  ) 
 

size_type Zygoma::Freestore::max_size  )  const
 

Gets the maximum capacity of the Freestore.

Freestore & Freestore::operator= const Freestore  ) 
 

Copies a Freestore.

void Freestore::resize size_type  sz  ) 
 

Resizes the Freestore to contain (at least) the specified number of bytes.

Because the Freestore must expand and contract in units of memory pages, the size() of the object after this call may be larger than the requested size, rounded up to the nearest page.

It is possible this call could result in a page fault.

Parameters:
sz [IN] The number of bytes the Freestore should contain.

* size_type Zygoma::Freestore::size  )  const [inline]
 

Gets the capacity of the Freestore.

Returns:
the number of bytes in the Freestore.

Here is the call graph for this function:


The documentation for this class was generated from the following files:
Generated on Fri Sep 2 10:45:07 2005 for zygoma by doxygen 1.4.2