Public Member Functions | Private 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.
void * data ()
 Pointer to first element of data.
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.
void set_size (unsigned long n, vil_pixel_format pixel_format)
 Create space for n bytes.

Private 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 [inline]

Pointer to first element of data.

Definition at line 62 of file vil_memory_chunk.h.

void* vil_memory_chunk::data ( ) [inline]

Pointer to first element of data.

Definition at line 59 of file vil_memory_chunk.h.

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 65 of file vil_memory_chunk.h.

void vil_memory_chunk::ref ( ) [inline]

Increment reference count.

Definition at line 50 of file vil_memory_chunk.h.

int vil_memory_chunk::ref_count ( ) const [inline]

Number of objects referring to this data.

Definition at line 56 of file vil_memory_chunk.h.

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

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 61 of file vil_memory_chunk.cxx.

vcl_size_t vil_memory_chunk::size ( ) const [inline]

Number of bytes allocated.

Definition at line 68 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.

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

Binary load vil_memory_chunk from stream onto the heap.

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

Binary save vil_memory_chunk to stream.

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

Binary save vil_memory_chunk to stream by pointer.

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.

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_ [private]

Data.

Definition at line 19 of file vil_memory_chunk.h.

vil_pixel_format vil_memory_chunk::pixel_format_ [private]

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

Should always be a scalar type.

Definition at line 26 of file vil_memory_chunk.h.

vcl_atomic_count vil_memory_chunk::ref_count_ [private]

Reference count.

Definition at line 29 of file vil_memory_chunk.h.

vcl_size_t vil_memory_chunk::size_ [private]

Number of elements (bytes).

Definition at line 22 of file vil_memory_chunk.h.


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