Public Member Functions | Protected Attributes | Related Functions
vil_memory_chunk Class Reference

Ref. counted block of data on the heap. More...

#include <vil_memory_chunk.h>

List of all members.

Public Member Functions

 vil_memory_chunk ()
 Dflt ctor.
 vil_memory_chunk (vcl_size_t n, vil_pixel_format pixel_format)
 Allocate n bytes of memory.
 vil_memory_chunk (const vil_memory_chunk &)
 Copy ctor.
vil_memory_chunkoperator= (const vil_memory_chunk &)
 Copy operator.
virtual ~vil_memory_chunk ()
 Destructor.
void ref ()
 Increment reference count.
void unref ()
 Decrement reference count.
int ref_count () const
 Number of objects referring to this data.
virtual void * data ()
 Pointer to first element of data.
virtual void * const_data () const
 Pointer to first element of data.
vil_pixel_format pixel_format () const
 Indicate what format data is to be saved as in binary IO.
vcl_size_t size () const
 Number of bytes allocated.
virtual void set_size (unsigned long n, vil_pixel_format pixel_format)
 Create space for n bytes.

Protected Attributes

void * data_
 Data.
vcl_size_t size_
 Number of elements (bytes).
vil_pixel_format pixel_format_
 Indicate what format data is (used for binary IO).
vcl_atomic_count ref_count_
 Reference count.

Related Functions

(Note that these are not member functions.)

void vsl_b_write (vsl_b_ostream &os, const vil_memory_chunk &chunk)
 Binary save vil_memory_chunk to stream.
void vsl_b_read (vsl_b_istream &is, vil_memory_chunk &chunk)
 Binary load vil_memory_chunk from stream.
void vsl_b_write (vsl_b_ostream &os, const vil_memory_chunk *chunk)
 Binary save vil_memory_chunk to stream by pointer.
void vsl_b_read (vsl_b_istream &is, vil_memory_chunk *&chunk)
 Binary load vil_memory_chunk from stream onto the heap.
void vsl_print_summary (vcl_ostream &os, const vil_memory_chunk &chunk)
 Print human readable summary of a vil_memory_chunk object to a stream.
void vsl_print_summary (vcl_ostream &os, const vil_memory_chunk *chunk)
 Print human readable summary of a vil_memory_chunk object to a stream.

Detailed Description

Ref. counted block of data on the heap.

Image data block used by vil_image_view<T>.

Definition at line 16 of file vil_memory_chunk.h.


Constructor & Destructor Documentation

vil_memory_chunk::vil_memory_chunk ( )

Dflt ctor.

Definition at line 11 of file vil_memory_chunk.cxx.

vil_memory_chunk::vil_memory_chunk ( vcl_size_t  n,
vil_pixel_format  pixel_format 
)

Allocate n bytes of memory.

Parameters:
pixel_formatindicates what format to be used for binary IO, and should always be a scalar type.

Definition at line 17 of file vil_memory_chunk.cxx.

vil_memory_chunk::vil_memory_chunk ( const vil_memory_chunk d)

Copy ctor.

Definition at line 31 of file vil_memory_chunk.cxx.

vil_memory_chunk::~vil_memory_chunk ( ) [virtual]

Destructor.

Definition at line 25 of file vil_memory_chunk.cxx.


Member Function Documentation

void * vil_memory_chunk::const_data ( ) const [virtual]

Pointer to first element of data.

Definition at line 65 of file vil_memory_chunk.cxx.

void * vil_memory_chunk::data ( ) [virtual]

Pointer to first element of data.

Definition at line 62 of file vil_memory_chunk.cxx.

vil_memory_chunk & vil_memory_chunk::operator= ( const vil_memory_chunk d)

Copy operator.

Assignment operator.

Definition at line 38 of file vil_memory_chunk.cxx.

vil_pixel_format vil_memory_chunk::pixel_format ( ) const [inline]

Indicate what format data is to be saved as in binary IO.

Definition at line 66 of file vil_memory_chunk.h.

void vil_memory_chunk::ref ( ) [inline]

Increment reference count.

Definition at line 51 of file vil_memory_chunk.h.

int vil_memory_chunk::ref_count ( ) const [inline]

Number of objects referring to this data.

Definition at line 57 of file vil_memory_chunk.h.

void vil_memory_chunk::set_size ( unsigned long  n,
vil_pixel_format  pixel_form 
) [virtual]

Create space for n bytes.

Create empty space for n elements.

pixel_format indicates what format to be used for binary IO

Leave existing data untouched if the size is already n.

Definition at line 69 of file vil_memory_chunk.cxx.

vcl_size_t vil_memory_chunk::size ( ) const [inline]

Number of bytes allocated.

Definition at line 69 of file vil_memory_chunk.h.

void vil_memory_chunk::unref ( )

Decrement reference count.

Decrement reference count and call destructor when it becomes zero.

Definition at line 48 of file vil_memory_chunk.cxx.


Friends And Related Function Documentation

void vsl_b_read ( vsl_b_istream &  is,
vil_memory_chunk chunk 
) [related]

Binary load vil_memory_chunk from stream.

Definition at line 99 of file vil_io_memory_chunk.cxx.

void vsl_b_read ( vsl_b_istream &  is,
vil_memory_chunk *&  chunk 
) [related]

Binary load vil_memory_chunk from stream onto the heap.

Definition at line 287 of file vil_io_memory_chunk.cxx.

void vsl_b_write ( vsl_b_ostream &  os,
const vil_memory_chunk chunk 
) [related]

Binary save vil_memory_chunk to stream.

Definition at line 21 of file vil_io_memory_chunk.cxx.

void vsl_b_write ( vsl_b_ostream &  os,
const vil_memory_chunk chunk 
) [related]

Binary save vil_memory_chunk to stream by pointer.

Definition at line 278 of file vil_io_memory_chunk.cxx.

void vsl_print_summary ( vcl_ostream &  os,
const vil_memory_chunk chunk 
) [related]

Print human readable summary of a vil_memory_chunk object to a stream.

Definition at line 302 of file vil_io_memory_chunk.cxx.

void vsl_print_summary ( vcl_ostream &  os,
const vil_memory_chunk chunk 
) [related]

Print human readable summary of a vil_memory_chunk object to a stream.

Definition at line 34 of file vil_io_memory_chunk.h.


Member Data Documentation

void* vil_memory_chunk::data_ [protected]

Data.

Definition at line 20 of file vil_memory_chunk.h.

Indicate what format data is (used for binary IO).

Should always be a scalar type.

Definition at line 27 of file vil_memory_chunk.h.

vcl_atomic_count vil_memory_chunk::ref_count_ [protected]

Reference count.

Definition at line 30 of file vil_memory_chunk.h.

vcl_size_t vil_memory_chunk::size_ [protected]

Number of elements (bytes).

Definition at line 23 of file vil_memory_chunk.h.


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