LLDB  mainline
Public Member Functions | Private Attributes | List of all members
lldb_private::repro::MultiProvider< T, V > Class Template Reference

The MultiProvider is a provider that hands out recorder which can be used to capture data for different instances of the same object. More...

#include <ReproducerProvider.h>

Inheritance diagram for lldb_private::repro::MultiProvider< T, V >:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::repro::MultiProvider< T, V >:
Collaboration graph
[legend]

Public Member Functions

 MultiProvider (const FileSpec &directory)
 
T * GetNewRecorder ()
 
void Keep () override
 The Keep method is called when it is decided that we need to keep the data in order to provide a reproducer. More...
 
void Discard () override
 The Discard method is called when it is decided that we do not need to keep any information and will not generate a reproducer. More...
 
- Public Member Functions inherited from lldb_private::repro::Provider< V >
const void * DynamicClassID () const override
 
llvm::StringRef GetName () const override
 
llvm::StringRef GetFile () const override
 
- Public Member Functions inherited from lldb_private::repro::ProviderBase
virtual ~ProviderBase ()=default
 
const FileSpecGetRoot () const
 
virtual const void * DynamicClassID () const =0
 
virtual llvm::StringRef GetName () const =0
 
virtual llvm::StringRef GetFile () const =0
 

Private Attributes

std::vector< std::unique_ptr< T > > m_recorders
 

Additional Inherited Members

- Static Public Member Functions inherited from lldb_private::repro::Provider< V >
static const void * ClassID ()
 
- Static Public Member Functions inherited from lldb_private::repro::ProviderBase
static const void * ClassID ()
 
- Protected Member Functions inherited from lldb_private::repro::Provider< V >
 ProviderBase (const FileSpec &root)
 
- Protected Member Functions inherited from lldb_private::repro::ProviderBase
 ProviderBase (const FileSpec &root)
 

Detailed Description

template<typename T, typename V>
class lldb_private::repro::MultiProvider< T, V >

The MultiProvider is a provider that hands out recorder which can be used to capture data for different instances of the same object.

The recorders can be passed around or stored as an instance member.

The Info::file for the MultiProvider contains an index of files for every recorder. Use the MultiLoader to read the index and get the individual files.

Definition at line 265 of file ReproducerProvider.h.

Constructor & Destructor Documentation

◆ MultiProvider()

template<typename T , typename V >
lldb_private::repro::MultiProvider< T, V >::MultiProvider ( const FileSpec directory)
inline

Definition at line 267 of file ReproducerProvider.h.

Member Function Documentation

◆ Discard()

template<typename T , typename V >
void lldb_private::repro::MultiProvider< T, V >::Discard ( )
inlineoverridevirtual

The Discard method is called when it is decided that we do not need to keep any information and will not generate a reproducer.

Reimplemented from lldb_private::repro::ProviderBase.

Definition at line 301 of file ReproducerProvider.h.

◆ GetNewRecorder()

template<typename T , typename V >
T* lldb_private::repro::MultiProvider< T, V >::GetNewRecorder ( )
inline

Definition at line 269 of file ReproducerProvider.h.

◆ Keep()

template<typename T , typename V >
void lldb_private::repro::MultiProvider< T, V >::Keep ( )
inlineoverridevirtual

The Keep method is called when it is decided that we need to keep the data in order to provide a reproducer.

Reimplemented from lldb_private::repro::ProviderBase.

Definition at line 285 of file ReproducerProvider.h.

Member Data Documentation

◆ m_recorders

template<typename T , typename V >
std::vector<std::unique_ptr<T> > lldb_private::repro::MultiProvider< T, V >::m_recorders
private

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