LLVM  6.0.0svn
Public Types | Public Member Functions | List of all members
llvm::DWARFUnitSection< UnitType > Class Template Referencefinal

Concrete instance of DWARFUnitSection, specialized for one Unit type. More...

#include "llvm/DebugInfo/DWARF/DWARFUnit.h"

Inheritance diagram for llvm::DWARFUnitSection< UnitType >:
Inheritance graph
[legend]
Collaboration diagram for llvm::DWARFUnitSection< UnitType >:
Collaboration graph
[legend]

Public Types

using UnitVector = SmallVectorImpl< std::unique_ptr< UnitType > >
 
using iterator = typename UnitVector::iterator
 
using iterator_range = llvm::iterator_range< typename UnitVector::iterator >
 
- Public Types inherited from llvm::SmallVectorImpl< std::unique_ptr< UnitType > >
using iterator = typename SuperClass::iterator
 
using const_iterator = typename SuperClass::const_iterator
 
using size_type = typename SuperClass::size_type
 
- Public Types inherited from llvm::SmallVectorTemplateCommon< T >
using size_type = size_t
 
using difference_type = ptrdiff_t
 
using value_type = T
 
using iterator = T *
 
using const_iterator = const T *
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using reference = T &
 
using const_reference = const T &
 
using pointer = T *
 
using const_pointer = const T *
 

Public Member Functions

UnitType * getUnitForOffset (uint32_t Offset) const override
 Returns the Unit that contains the given section offset in the same section this Unit originated from. More...
 
UnitType * getUnitForIndexEntry (const DWARFUnitIndex::Entry &E) override
 
- Public Member Functions inherited from llvm::SmallVector< std::unique_ptr< UnitType >, 1 >
 SmallVector ()
 
 SmallVector (size_t Size, const std::unique_ptr< UnitType > &Value=std::unique_ptr< UnitType >())
 
 SmallVector (ItTy S, ItTy E)
 
 SmallVector (const iterator_range< RangeTy > &R)
 
 SmallVector (std::initializer_list< std::unique_ptr< UnitType > > IL)
 
 SmallVector (const SmallVector &RHS)
 
 SmallVector (SmallVector &&RHS)
 
 SmallVector (SmallVectorImpl< std::unique_ptr< UnitType > > &&RHS)
 
const SmallVectoroperator= (const SmallVector &RHS)
 
const SmallVectoroperator= (SmallVector &&RHS)
 
const SmallVectoroperator= (SmallVectorImpl< std::unique_ptr< UnitType > > &&RHS)
 
const SmallVectoroperator= (std::initializer_list< std::unique_ptr< UnitType > > IL)
 
- Public Member Functions inherited from llvm::SmallVectorImpl< std::unique_ptr< UnitType > >
 SmallVectorImpl (const SmallVectorImpl &)=delete
 
 ~SmallVectorImpl ()
 
void clear ()
 
void resize (size_type N)
 
void resize (size_type N, const std::unique_ptr< UnitType > &NV)
 
void reserve (size_type N)
 
LLVM_NODISCARD std::unique_ptr< UnitType > pop_back_val ()
 
void swap (SmallVectorImpl &RHS)
 
void append (in_iter in_start, in_iter in_end)
 Add the specified range to the end of the SmallVector. More...
 
void append (size_type NumInputs, const std::unique_ptr< UnitType > &Elt)
 Add the specified range to the end of the SmallVector. More...
 
void append (std::initializer_list< std::unique_ptr< UnitType > > IL)
 
void assign (size_type NumElts, const std::unique_ptr< UnitType > &Elt)
 
void assign (in_iter in_start, in_iter in_end)
 
void assign (std::initializer_list< std::unique_ptr< UnitType > > IL)
 
iterator erase (const_iterator CI)
 
iterator erase (const_iterator CS, const_iterator CE)
 
iterator insert (iterator I, std::unique_ptr< UnitType > &&Elt)
 
iterator insert (iterator I, const std::unique_ptr< UnitType > &Elt)
 
iterator insert (iterator I, size_type NumToInsert, const std::unique_ptr< UnitType > &Elt)
 
iterator insert (iterator I, ItTy From, ItTy To)
 
void insert (iterator I, std::initializer_list< std::unique_ptr< UnitType > > IL)
 
void emplace_back (ArgTypes &&... Args)
 
SmallVectorImploperator= (const SmallVectorImpl &RHS)
 
SmallVectorImploperator= (SmallVectorImpl &&RHS)
 
bool operator== (const SmallVectorImpl &RHS) const
 
bool operator!= (const SmallVectorImpl &RHS) const
 
bool operator< (const SmallVectorImpl &RHS) const
 
void set_size (size_type N)
 Set the array size to N, which the current array must have enough capacity for. More...
 
- Public Member Functions inherited from llvm::SmallVectorTemplateBase< T, isPodLike >
void push_back (const T &Elt)
 
void push_back (T &&Elt)
 
void pop_back ()
 
- Public Member Functions inherited from llvm::SmallVectorTemplateCommon< T >
LLVM_ATTRIBUTE_ALWAYS_INLINE iterator begin ()
 
LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator begin () const
 
LLVM_ATTRIBUTE_ALWAYS_INLINE iterator end ()
 
LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
LLVM_ATTRIBUTE_ALWAYS_INLINE size_type size () const
 
size_type max_size () const
 
size_t capacity () const
 Return the total number of elements in the currently allocated buffer. More...
 
pointer data ()
 Return a pointer to the vector's buffer, even if empty(). More...
 
const_pointer data () const
 Return a pointer to the vector's buffer, even if empty(). More...
 
LLVM_ATTRIBUTE_ALWAYS_INLINE reference operator[] (size_type idx)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE const_reference operator[] (size_type idx) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
- Public Member Functions inherited from llvm::SmallVectorBase
size_t size_in_bytes () const
 This returns size()*sizeof(T). More...
 
size_t capacity_in_bytes () const
 capacity_in_bytes - This returns capacity()*sizeof(T). More...
 
LLVM_NODISCARD bool empty () const
 
- Public Member Functions inherited from llvm::DWARFUnitSectionBase
void parse (DWARFContext &C, const DWARFSection &Section)
 
void parseDWO (DWARFContext &C, const DWARFSection &DWOSection, bool Lazy=false)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::SmallVectorImpl< std::unique_ptr< UnitType > >
 SmallVectorImpl (unsigned N)
 
- Protected Member Functions inherited from llvm::SmallVectorTemplateBase< T, isPodLike >
 SmallVectorTemplateBase (size_t Size)
 
void grow (size_t MinSize=0)
 Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory. More...
 
- Protected Member Functions inherited from llvm::SmallVectorTemplateCommon< T >
 SmallVectorTemplateCommon (size_t Size)
 
void grow_pod (size_t MinSizeInBytes, size_t TSize)
 
bool isSmall () const
 Return true if this is a smallvector which has not had dynamic memory allocated for it. More...
 
void resetToSmall ()
 Put this vector in a state of being small. More...
 
void setEnd (T *P)
 
iterator capacity_ptr ()
 
const_iterator capacity_ptr () const
 
- Protected Member Functions inherited from llvm::SmallVectorBase
 SmallVectorBase (void *FirstEl, size_t Size)
 
void grow_pod (void *FirstEl, size_t MinSizeInBytes, size_t TSize)
 This is an implementation of the grow() method which only works on POD-like data types and is out of line to reduce code duplication. More...
 
- Protected Member Functions inherited from llvm::DWARFUnitSectionBase
 ~DWARFUnitSectionBase ()=default
 
- Static Protected Member Functions inherited from llvm::SmallVectorTemplateBase< T, isPodLike >
static void destroy_range (T *S, T *E)
 
template<typename It1 , typename It2 >
static void uninitialized_move (It1 I, It1 E, It2 Dest)
 Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed. More...
 
template<typename It1 , typename It2 >
static void uninitialized_copy (It1 I, It1 E, It2 Dest)
 Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed. More...
 
- Protected Attributes inherited from llvm::SmallVectorBase
void * BeginX
 
void * EndX
 
void * CapacityX
 

Detailed Description

template<typename UnitType>
class llvm::DWARFUnitSection< UnitType >

Concrete instance of DWARFUnitSection, specialized for one Unit type.

Definition at line 71 of file DWARFUnit.h.

Member Typedef Documentation

◆ iterator

template<typename UnitType>
using llvm::DWARFUnitSection< UnitType >::iterator = typename UnitVector::iterator

Definition at line 78 of file DWARFUnit.h.

◆ iterator_range

template<typename UnitType>
using llvm::DWARFUnitSection< UnitType >::iterator_range = llvm::iterator_range<typename UnitVector::iterator>

Definition at line 79 of file DWARFUnit.h.

◆ UnitVector

template<typename UnitType>
using llvm::DWARFUnitSection< UnitType >::UnitVector = SmallVectorImpl<std::unique_ptr<UnitType> >

Definition at line 77 of file DWARFUnit.h.

Member Function Documentation

◆ getUnitForIndexEntry()

template<typename UnitType>
UnitType* llvm::DWARFUnitSection< UnitType >::getUnitForIndexEntry ( const DWARFUnitIndex::Entry E)
inlineoverridevirtual

Implements llvm::DWARFUnitSectionBase.

Definition at line 91 of file DWARFUnit.h.

◆ getUnitForOffset()

template<typename UnitType>
UnitType* llvm::DWARFUnitSection< UnitType >::getUnitForOffset ( uint32_t  Offset) const
inlineoverridevirtual

Returns the Unit that contains the given section offset in the same section this Unit originated from.

Implements llvm::DWARFUnitSectionBase.

Definition at line 81 of file DWARFUnit.h.


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