Dyninst::Buffer Class Reference

#include <Buffer.h>

Data Structures

class  iterator

Public Types

typedef iterator< unsigned char > byte_iterator
typedef iterator< unsigned int > word_iterator
typedef iterator< unsigned long > long_iterator

Public Member Functions

 Buffer (Address addr, unsigned initial_size)
 Buffer ()
void initialize (Address addr, unsigned initial_size)
 ~Buffer ()
template<class InputIterator >
void copy (InputIterator begin, InputIterator end)
void copy (void *buffer, unsigned size)
unsigned size () const
unsigned max_size () const
bool empty () const
template<class Input >
void push_back (const Input &)
byte_iterator begin () const
byte_iterator end () const
word_iterator w_begin () const
word_iterator w_end () const
long_iterator l_begin () const
long_iterator l_end () const
unsigned char * start_ptr () const
Address startAddr () const
Address curAddr () const
template<>
void copy (unsigned char *begin, unsigned char *end)

Static Public Attributes

static const int ALLOCATION_UNIT = 256

Private Member Functions

void increase_allocation (int added)
unsigned char * cur_ptr () const

Private Attributes

unsigned char * buffer_
unsigned size_
unsigned max_
Address start_

Detailed Description

Definition at line 50 of file Buffer.h.


Member Typedef Documentation

typedef iterator<unsigned char> Dyninst::Buffer::byte_iterator

Definition at line 107 of file Buffer.h.

typedef iterator<unsigned long> Dyninst::Buffer::long_iterator

Definition at line 109 of file Buffer.h.

Definition at line 108 of file Buffer.h.


Constructor & Destructor Documentation

Buffer::Buffer ( Address  addr,
unsigned  initial_size 
)

Definition at line 39 of file Buffer.C.

References initialize().

Buffer::Buffer (  ) 

Definition at line 37 of file Buffer.C.

Buffer::~Buffer (  ) 

Definition at line 43 of file Buffer.C.

References buffer_.


Member Function Documentation

Buffer::byte_iterator Buffer::begin (  )  const

Definition at line 78 of file Buffer.C.

References buffer_.

Referenced by copy().

template<>
void Dyninst::Buffer::copy ( unsigned char *  begin,
unsigned char *  end 
) [inline]

Definition at line 88 of file Buffer.C.

References cur_ptr(), increase_allocation(), max_, and size_.

void Buffer::copy ( void *  buffer,
unsigned  size 
)

Definition at line 97 of file Buffer.C.

References begin(), copy(), and end().

template<class InputIterator >
void Dyninst::Buffer::copy ( InputIterator  begin,
InputIterator  end 
) [inline]

Definition at line 138 of file Buffer.h.

References push_back().

Referenced by copy().

unsigned char * Buffer::cur_ptr (  )  const [private]

Definition at line 74 of file Buffer.C.

References buffer_, and size_.

Referenced by copy(), end(), and push_back().

Address Dyninst::Buffer::curAddr (  )  const [inline]

Definition at line 123 of file Buffer.h.

bool Buffer::empty (  )  const

Definition at line 61 of file Buffer.C.

References size_.

Buffer::byte_iterator Buffer::end (  )  const

Definition at line 82 of file Buffer.C.

References cur_ptr().

Referenced by copy().

void Buffer::increase_allocation ( int  added  )  [private]

Definition at line 65 of file Buffer.C.

References ALLOCATION_UNIT, buffer_, and max_.

Referenced by copy(), initialize(), and push_back().

void Buffer::initialize ( Address  addr,
unsigned  initial_size 
)

Definition at line 48 of file Buffer.C.

References buffer_, increase_allocation(), and start_.

Referenced by Buffer().

long_iterator Dyninst::Buffer::l_begin (  )  const
long_iterator Dyninst::Buffer::l_end (  )  const
unsigned Buffer::max_size (  )  const

Definition at line 58 of file Buffer.C.

References max_.

template<class Input >
void Dyninst::Buffer::push_back ( const Input &  i  )  [inline]

Definition at line 148 of file Buffer.h.

References cur_ptr(), increase_allocation(), max_, and size_.

Referenced by copy().

unsigned Buffer::size (  )  const

Definition at line 55 of file Buffer.C.

References size_.

unsigned char* Dyninst::Buffer::start_ptr (  )  const [inline]

Definition at line 120 of file Buffer.h.

Address Dyninst::Buffer::startAddr (  )  const [inline]

Definition at line 122 of file Buffer.h.

word_iterator Dyninst::Buffer::w_begin (  )  const
word_iterator Dyninst::Buffer::w_end (  )  const

Field Documentation

const int Buffer::ALLOCATION_UNIT = 256 [static]

Definition at line 57 of file Buffer.h.

Referenced by increase_allocation().

unsigned char* Dyninst::Buffer::buffer_ [private]

Definition at line 130 of file Buffer.h.

Referenced by begin(), cur_ptr(), increase_allocation(), initialize(), and ~Buffer().

unsigned Dyninst::Buffer::max_ [private]

Definition at line 132 of file Buffer.h.

Referenced by copy(), increase_allocation(), max_size(), and push_back().

unsigned Dyninst::Buffer::size_ [private]

Definition at line 131 of file Buffer.h.

Referenced by copy(), cur_ptr(), empty(), push_back(), and size().

Definition at line 134 of file Buffer.h.

Referenced by initialize().


The documentation for this class was generated from the following files:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1