LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
llvm::SmallVectorImpl< T > Class Template Reference

#include <APInt.h>

Inherits llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >.

Inherited by llvm::SmallVector< T, N >.

Collaboration diagram for llvm::SmallVectorImpl< T >:
Collaboration graph
[legend]

Public Types

typedef SuperClass::iterator iterator
 
typedef SuperClass::size_type size_type
 
- Public Types inherited from llvm::SmallVectorTemplateCommon< T >
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef T value_type
 
typedef Titerator
 
typedef const Tconst_iterator
 
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 
typedef std::reverse_iterator
< iterator
reverse_iterator
 
typedef Treference
 
typedef const Tconst_reference
 
typedef Tpointer
 
typedef const Tconst_pointer
 

Public Member Functions

 ~SmallVectorImpl ()
 
void clear ()
 
void resize (unsigned N)
 
void resize (unsigned N, const T &NV)
 
void reserve (unsigned N)
 
T LLVM_ATTRIBUTE_UNUSED_RESULT pop_back_val ()
 
void swap (SmallVectorImpl &RHS)
 
template<typename in_iter >
void append (in_iter in_start, in_iter in_end)
 
void append (size_type NumInputs, const T &Elt)
 
void assign (unsigned NumElts, const T &Elt)
 
iterator erase (iterator I)
 
iterator erase (iterator S, iterator E)
 
iterator insert (iterator I, const T &Elt)
 
iterator insert (iterator I, size_type NumToInsert, const T &Elt)
 
template<typename ItTy >
iterator insert (iterator I, ItTy From, ItTy To)
 
SmallVectorImploperator= (const SmallVectorImpl &RHS)
 
bool operator== (const SmallVectorImpl &RHS) const
 
bool operator!= (const SmallVectorImpl &RHS) const
 
bool operator< (const SmallVectorImpl &RHS) const
 
void set_size (unsigned N)
 
- Public Member Functions inherited from llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >
void push_back (const T &Elt)
 
void pop_back ()
 
- Public Member Functions inherited from llvm::SmallVectorTemplateCommon< T >
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
size_type size () const
 
size_type max_size () const
 
size_t capacity () const
 
pointer data ()
 data - Return a pointer to the vector's buffer, even if empty(). More...
 
const_pointer data () const
 data - Return a pointer to the vector's buffer, even if empty(). More...
 
reference operator[] (unsigned idx)
 
const_reference operator[] (unsigned 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
 size_in_bytes - This returns size()*sizeof(T). More...
 
size_t capacity_in_bytes () const
 capacity_in_bytes - This returns capacity()*sizeof(T). More...
 
bool LLVM_ATTRIBUTE_UNUSED_RESULT empty () const
 

Protected Member Functions

 SmallVectorImpl (unsigned N)
 
- Protected Member Functions inherited from llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >
 SmallVectorTemplateBase (size_t Size)
 
void grow (size_t MinSize=0)
 
- Protected Member Functions inherited from llvm::SmallVectorTemplateCommon< T >
 SmallVectorTemplateCommon (size_t Size)
 
void grow_pod (size_t MinSizeInBytes, size_t TSize)
 
bool isSmall () const
 
void resetToSmall ()
 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)
 

Additional Inherited Members

- Static Protected Member Functions inherited from llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >
static void destroy_range (T *S, T *E)
 
static It2 move (It1 I, It1 E, It2 Dest)
 
static It2 move_backward (It1 I, It1 E, It2 Dest)
 
static void uninitialized_move (It1 I, It1 E, It2 Dest)
 
static void uninitialized_copy (It1 I, It1 E, It2 Dest)
 
- Protected Attributes inherited from llvm::SmallVectorBase
void * BeginX
 
void * EndX
 
void * CapacityX
 

Detailed Description

template<typename T>
class llvm::SmallVectorImpl< T >

SmallVectorImpl - This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter.

Definition at line 35 of file APInt.h.

Member Typedef Documentation

template<typename T>
typedef SuperClass::iterator llvm::SmallVectorImpl< T >::iterator

Definition at line 376 of file SmallVector.h.

template<typename T>
typedef SuperClass::size_type llvm::SmallVectorImpl< T >::size_type

Definition at line 377 of file SmallVector.h.

Constructor & Destructor Documentation

template<typename T>
llvm::SmallVectorImpl< T >::SmallVectorImpl ( unsigned  N)
inlineexplicitprotected

Definition at line 381 of file SmallVector.h.

template<typename T>
llvm::SmallVectorImpl< T >::~SmallVectorImpl ( )
inline

Definition at line 386 of file SmallVector.h.

Member Function Documentation

template<typename T>
template<typename in_iter >
void llvm::SmallVectorImpl< T >::append ( in_iter  in_start,
in_iter  in_end 
)
inline

append - Add the specified range to the end of the SmallVector.

Definition at line 445 of file SmallVector.h.

Referenced by llvm::FoldingSetNodeID::AddNodeID(), llvm::FoldingSetNodeID::AddPointer(), llvm::FoldingSetNodeID::AddString(), llvm::SmallString< 256 >::append(), llvm::sys::path::append(), llvm::SmallString< 256 >::assign(), llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::closeTop(), ConstantFoldGetElementPtrImpl(), llvm::DIBuilder::createComplexVariable(), llvm::MCObjectStreamer::EmitBytes(), llvm::MCObjectStreamer::EmitFill(), llvm::MCObjectStreamer::EmitInstToFragment(), llvm::FindInsertedValue(), fixupSubprogramName(), llvm::AttributeSet::get(), llvm::ScalarEvolution::getAddExpr(), llvm::ScalarEvolution::getAddRecExpr(), llvm::DominatorTreeBase< llvm::MachineBasicBlock >::getDescendants(), llvm::ScalarEvolution::getMulExpr(), llvm::Mangler::getNameWithPrefix(), llvm::SelectionDAG::getNode(), llvm::object::MachOObjectFile::getRelocationTypeName(), llvm::object::COFFObjectFile::getRelocationTypeName(), llvm::object::ELFFile< ELFT >::getRelocationTypeName(), llvm::object::MachOObjectFile::getRelocationValueString(), llvm::object::ELFObjectFile< ELFT >::getRelocationValueString(), llvm::object::COFFObjectFile::getRelocationValueString(), llvm::ScalarEvolution::getSMaxExpr(), llvm::ConstantDataArray::getString(), llvm::ScalarEvolution::getUMaxExpr(), llvm::opt::InputArgList::InputArgList(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::BitstreamCursor::readRecord(), llvm::sys::path::replace_extension(), llvm::EngineBuilder::setMAttrs(), SimplifyAddOperands(), SplitAddRecs(), llvm::sys::path::system_temp_directory(), llvm::APInt::toString(), llvm::InstCombiner::visitGetElementPtrInst(), WriteAttributeGroupTable(), WriteModuleMetadata(), WriteModuleMetadataStore(), and llvm::LLVMContextImpl::~LLVMContextImpl().

template<typename T>
void llvm::SmallVectorImpl< T >::append ( size_type  NumInputs,
const T Elt 
)
inline

append - Add the specified range to the end of the SmallVector.

Definition at line 460 of file SmallVector.h.

template<typename T>
void llvm::SmallVectorImpl< T >::assign ( unsigned  NumElts,
const T Elt 
)
inline
template<typename T>
void llvm::SmallVectorImpl< T >::clear ( )
inline

Definition at line 396 of file SmallVector.h.

Referenced by llvm::PMDataManager::add(), llvm::LiveIntervals::addKillFlags(), llvm::ARMBaseInstrInfo::AnalyzeBranch(), llvm::SparcInstrInfo::AnalyzeBranch(), llvm::MSP430InstrInfo::AnalyzeBranch(), llvm::SystemZInstrInfo::AnalyzeBranch(), llvm::X86InstrInfo::AnalyzeBranch(), llvm::SSAUpdaterImpl< UpdaterT >::BuildBlockList(), CleanupPointerRootUsers(), llvm::IntEqClasses::clear(), llvm::SpillPlacement::Node::clear(), llvm::ArrayRecycler< llvm::MachineOperand >::clear(), llvm::SchedDFSResult::clear(), llvm::SparseSet< unsigned, llvm::VirtReg2IndexFunctor >::clear(), llvm::LiveRange::clear(), llvm::FoldingSetNodeID::clear(), llvm::SparseMultiSet< VReg2SUnit, VirtReg2IndexFunctor >::clear(), llvm::CCState::clearByValRegsInfo(), collectDebugValues(), emitComments(), llvm::TargetSubtargetInfo::enablePostRAScheduler(), llvm::MachineModuleInfo::EndFunction(), llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::X86TargetLowering::ExpandInlineAsm(), llvm::finalizeBundle(), findConsecutiveLoad(), FindMostPopularDest(), llvm::SplitEditor::finish(), llvm::BitstreamCursor::freeState(), llvm::ScalarEvolution::getAddExpr(), getAdjustedPtr(), llvm::DominatorTreeBase< llvm::MachineBasicBlock >::getDescendants(), getMemmoveLoadsAndStores(), llvm::MemoryDependenceAnalysis::getNonLocalPointerDependency(), GetOptionInfo(), llvm::ScalarEvolution::getUDivExpr(), getUnderlyingObjectsForInstr(), llvm::Loop::getUniqueExitBlocks(), llvm::yaml::ScalarNode::getValue(), insertVector(), llvm::TargetLowering::LowerCallTo(), LowerVECTOR_SHUFFLE_256(), LowerVECTOR_SHUFFLEv16i8(), LowerVECTOR_SHUFFLEv8i16(), llvm::Regex::match(), MoveBelowOrigChain(), llvm::sys::path::native(), llvm::IntervalPressure::openBottom(), llvm::RegionPressure::openBottom(), llvm::IntervalPressure::openTop(), llvm::RegionPressure::openTop(), llvm::cl::ParseCommandLineOptions(), llvm::SpillPlacement::prepare(), llvm::BitstreamCursor::ReadBlockInfoBlock(), llvm::LiveIntervals::releaseMemory(), llvm::SlotIndexes::releaseMemory(), removeFinishedSplitUses(), llvm::LiveRange::RenumberValues(), llvm::UnwindOpcodeAssembler::Reset(), llvm::IntervalPressure::reset(), llvm::RegionPressure::reset(), llvm::MachObjectWriter::reset(), llvm::LiveRangeCalc::reset(), llvm::MCStreamer::reset(), llvm::TypeFinder::run(), llvm::RegisterClassInfo::runOnMachineFunction(), llvm::SpillPlacement::scanActiveBundles(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::FileRemover::setFile(), llvm::EngineBuilder::setMAttrs(), SimplifyAddOperands(), llvm::SplitCriticalEdge(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::sys::path::system_temp_directory(), llvm::cl::TokenizeGNUCommandLine(), llvm::cl::TokenizeWindowsCommandLine(), llvm::MachineBasicBlock::updateTerminator(), llvm::ValueEnumerator::ValueEnumerator(), WriteAttributeGroupTable(), WriteAttributeTable(), WriteConstants(), WriteFunction(), WriteInstruction(), WriteMDNode(), WriteMetadataAttachment(), WriteModuleInfo(), WriteModuleMetadata(), WriteModuleMetadataStore(), WriteTypeTable(), WriteValueSymbolTable(), and llvm::GCOVBlock::~GCOVBlock().

template<typename T>
iterator llvm::SmallVectorImpl< T >::erase ( iterator  I)
inline
template<typename T>
iterator llvm::SmallVectorImpl< T >::erase ( iterator  S,
iterator  E 
)
inline

Definition at line 490 of file SmallVector.h.

template<typename T>
iterator llvm::SmallVectorImpl< T >::insert ( iterator  I,
const T Elt 
)
inline
template<typename T>
iterator llvm::SmallVectorImpl< T >::insert ( iterator  I,
size_type  NumToInsert,
const T Elt 
)
inline

Definition at line 568 of file SmallVector.h.

template<typename T>
template<typename ItTy >
iterator llvm::SmallVectorImpl< T >::insert ( iterator  I,
ItTy  From,
ItTy  To 
)
inline

Definition at line 619 of file SmallVector.h.

template<typename T>
bool llvm::SmallVectorImpl< T >::operator!= ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 684 of file SmallVector.h.

template<typename T>
bool llvm::SmallVectorImpl< T >::operator< ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 688 of file SmallVector.h.

template<typename T >
SmallVectorImpl< T > & llvm::SmallVectorImpl< T >::operator= ( const SmallVectorImpl< T > &  RHS)
template<typename T>
bool llvm::SmallVectorImpl< T >::operator== ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 680 of file SmallVector.h.

template<typename T>
T LLVM_ATTRIBUTE_UNUSED_RESULT llvm::SmallVectorImpl< T >::pop_back_val ( )
inline
template<typename T>
void llvm::SmallVectorImpl< T >::reserve ( unsigned  N)
inline
template<typename T>
void llvm::SmallVectorImpl< T >::resize ( unsigned  N)
inline
template<typename T>
void llvm::SmallVectorImpl< T >::resize ( unsigned  N,
const T NV 
)
inline

Definition at line 413 of file SmallVector.h.

template<typename T>
void llvm::SmallVectorImpl< T >::set_size ( unsigned  N)
inline

Set the array size to N, which the current array must have enough capacity for.

This does not construct or destroy any elements in the vector.

Clients can use this in conjunction with capacity() to write past the end of the buffer when they know that more elements are available, and only update the size later. This avoids the cost of value initializing elements which will only be overwritten.

Definition at line 702 of file SmallVector.h.

Referenced by llvm::sys::path::remove_filename(), and llvm::sys::path::replace_extension().

template<typename T >
void llvm::SmallVectorImpl< T >::swap ( SmallVectorImpl< T > &  RHS)

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