LLVM API Documentation

llvm::SlowOperationInformer Class Reference

#include <SlowOperationInformer.h>

Collaboration diagram for llvm::SlowOperationInformer:
[legend]

List of all members.

Public Member Functions

 SlowOperationInformer (const std::string &Name)
 ~SlowOperationInformer ()
bool progress (unsigned Amount)
bool progress (unsigned Current, unsigned Maximum)


Detailed Description

Definition at line 37 of file SlowOperationInformer.h.


Constructor & Destructor Documentation

SlowOperationInformer::SlowOperationInformer ( const std::string &  Name  ) 

Definition at line 21 of file SlowOperationInformer.cpp.

References llvm::sys::SetupAlarm().

SlowOperationInformer::~SlowOperationInformer (  ) 

Definition at line 26 of file SlowOperationInformer.cpp.

References llvm::cout(), and llvm::sys::TerminateAlarm().


Member Function Documentation

bool SlowOperationInformer::progress ( unsigned  Amount  ) 

progress - Clients should periodically call this method when they can handle cancellation. The Amount variable should indicate how far along the operation is, given in 1/10ths of a percent (in other words, Amount should range from 0 to 1000). If the user cancels the operation, this returns true, false otherwise.

progress - Clients should periodically call this method when they are in an exception-safe state. The Amount variable should indicate how far along the operation is, given in 1/10ths of a percent (in other words, Amount should range from 0 to 1000).

Definition at line 40 of file SlowOperationInformer.cpp.

References llvm::sys::AlarmStatus(), llvm::cout(), and OS.

Referenced by llvm::ProgramInfo::getSourceFiles(), llvm::ProgramInfo::getSourceFunctions(), and progress().

bool llvm::SlowOperationInformer::progress ( unsigned  Current,
unsigned  Maximum 
) [inline]

progress - Same as the method above, but this performs the division for you, and helps you avoid overflow if you are dealing with largish numbers.

Definition at line 57 of file SlowOperationInformer.h.

References progress().


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