EDoc Namespace Reference


Data Structures

class  ArchiveIFace
 Standard interface for accessing files inside different types of archives. More...
class  BinaryPersistence
 An implementation of PersistenceIFace for writing to binary files. More...
class  CatchBlock
 Represents a catch statement in a block of code. More...
class  CodeBlock
 Represents a block of code that may call functions, throw exceptions or contain try/catch blocks. More...
class  Dictionary
 Represents one or more merged translation units. More...
class  DictionarySpecific
 Encapsulates functionality common to all dictionary specific types. More...
class  DirectoryArchive
 Represents an archive of data files within a directory. More...
class  Exception
 Represents a throw statement in C++ code. More...
class  Throwable
 Base class from which all EDoc exception types will derive. More...
class  BugException
class  BaseException
class  MergeException
class  PythonException
class  FileIOException
class  EOFException
class  UnknownFileTypeException
class  File
 Represents a source file used during compilation. More...
class  Function
 Represents a function in C/C++ code that has been encounterd during compilation. More...
class  FunctionLoc
 Is a conglomerate of a reference to a Function object and a Location in a source file. More...
class  FunctionType
 Represents a C/C++ function pointer type. More...
class  FunctionTypeLoc
 Is a conglomerate of a reference to a FunctionType object and a Location in a source file. More...
class  Location
 Represents a location in a source file used during compilation. More...
class  Logger
 Simple logging singleton class. More...
class  ManagedFile
 Represents a file that can have some sort of cleanup action associated with it when it is no longer being used. More...
class  ManagedFileCleanupIFace
class  ManagedObject
 Generic representation for a collection of StringIdentifiedObject instances. More...
class  NotificationIFace
 Notifies user of errors/warnings. More...
class  Persistence
 Manages automatic switching between TextPersistence and BinaryPersistence as necessary. More...
class  PersistenceIFace
 Defines an interface for reading/writing various types of primitive data. More...
class  ProgressBar
 Displays a percentage progress bar as a bar of '=' characters across the screen. More...
class  ProgressIFace
 Interface used for giving progress indication on a task. More...
class  PropogatingException
 Represents an exception that propogates out a function. More...
class  PStack
 Stores a stack of pointers that provides "set" like capabilities. More...
class  SpecificManagedObject
 Provides a managed container for types that are specifically derived from StringIdentifiedObject. More...
class  StackRef
 Pushes/Pops pointers into a PStack instance. More...
class  StdErrFunctionProgress
 Displays a progress indication for functions being processed to stderr. More...
class  StdErrNotifier
 Standard implementation of NotificationIFace that notifies users of events through the stderr stream. More...
class  StringIdentifiedObject
 Represents a fundamental DictionarySpecific data type that has a unique string identifier. More...
class  TextPersistence
 An implementation of PersistenceIFace for writing to text files. More...
class  TranslationUnit
 Represents a translation unit in code. More...
class  TryBlock
 Represents a try block in C++ code. More...
class  Type
 Represents a type in C/C++ code that has been encounterd during compilation. More...
class  TypeLoc
 Is a conglomerate of a reference to a Type object and a Location in a source file. More...
class  IndexedObject
 Stores a map of StringIdentifiedObject's that are indexed by an integer value. More...
class  SpecificIndexedObject
 Specific varient of IndexedObject for a particular StringIdentifiedObject derivation type like, File, Function etc. More...
class  IndexedDictionary
 Manages all File, Type, FunctionType, and Function instances as they are being loaded from a EDoc++ data file. More...

Typedefs

typedef std::list< ArchiveIFace * > ArchiveList
typedef CodeBlockCodeBlockPtr
typedef std::vector< CatchBlockCatchBlockVec
typedef CodeBlockCodeBlockPtr
typedef std::list< CodeBlock * > CodeBlockPList
typedef std::list< ExceptionExcepList
typedef std::list< Exception * > ExcepPList
typedef std::list< File * > FilePList
typedef std::map< std::string,
EDoc::Function * > 
FuncPMap
typedef std::list< EDoc::Function * > FuncPList
typedef std::list< FunctionLocFuncLocList
typedef std::list< FunctionTypeLocFTypeLocList
typedef std::list< ManagedFileMngdFileList
typedef ManagedObjectManagedObjectPtr
typedef std::list< ManagedObject * > MngObjPList
typedef std::vector< ManagedObject * > MngObjPVec
typedef uint32_t EventCode
typedef ProgressIFace< FunctionFunctionProgressIFace
typedef FunctionProgressIFaceFunctionProgressIFacePtr
typedef std::list< PropogatingExceptionPropExcepList
typedef std::list< PropogatingException * > PropExcepPList
typedef StringIdentifiedObjectStringIdentifiedObjectPtr
typedef std::map< std::string,
StringIdentifiedObject * > 
StrIDObjPMap
typedef std::vector< TranslationUnit * > TUnitPVec
typedef std::list< TryBlockTryBlockList
typedef std::vector< EDoc::Type * > TypePVec

Enumerations

enum  EventType { EVENT_ERROR, EVENT_WARNING }
 Enumerates the event types that exist. More...
enum  Events {
  Type, Name, ENOT_THROW, WDIFF_THROW,
  WDIFF_IMPL, WUNUSED_CATCH, WSET_UNEXPECTED, EV_UNDEFINED
}
 Define the standard set of errors and warnings used by EDoc. More...

Functions

DictionaryGetCurrentDictionary ()
 Returns the currently active dictionary instance that is in the staging area.
void SetCurrentDictionary (Dictionary *current_in)
 Set the currently active dictionary.
DictionaryGetCurrentDictionaryAssert ()
 Returns the currently active dictionary instance that is in the staging area.
void AllocNew (File *&obj, Dictionary &dict, std::string key_name)
 (BRIEF DESC NOT PROVIDED).
void AllocNew (Type *&obj, Dictionary &dict, std::string key_name)
 (BRIEF DESC NOT PROVIDED).
void AllocNew (Function *&obj, Dictionary &dict, std::string key_name)
 (BRIEF DESC NOT PROVIDED).
void AllocNew (FunctionType *&obj, Dictionary &dict, std::string key_name)
 (BRIEF DESC NOT PROVIDED).
void AllocNew (File *&obj, Dictionary &dict, uint32_t index)
 (BRIEF DESC NOT PROVIDED).
void AllocNew (Type *&obj, Dictionary &dict, uint32_t index)
 (BRIEF DESC NOT PROVIDED).
void AllocNew (Function *&obj, Dictionary &dict, uint32_t index)
 (BRIEF DESC NOT PROVIDED).
void AllocNew (FunctionType *&obj, Dictionary &dict, uint32_t index)
 (BRIEF DESC NOT PROVIDED).
NotificationIFaceGetGlobalNotifier ()
 Returns a reference to the global notifier.
NotificationIFaceGetGlobalNotifierAssert ()
 Returns a reference to the global notifier or throws a BugException if it is not set.
void SetGlobalNotifier (NotificationIFace *gn)
 Sets the global notifier.
std::string GetFileExtension (std::string name)
 Returns the extension of the given file name.
std::pair< std::string, std::string > SplitFileExtension (std::string name)
 Returns both the extension and the base name of the given file name.
std::string CreateTempFilename (std::string base="EDoctmp")
 Creates a new temporary file.
template<typename T>
bool ListContains (const T &cont, typename T::const_reference item)
 Returns true if the given STL container contains an item.
template<typename T>
T::iterator VecFind (T &cont, typename T::const_reference item)
 Returns an iterator for the item that matches.
template<typename T>
void PushBackUnique (T &cont, typename T::const_reference item)
 Pushes item to the back of the STL container if it does not already exist in the container.
template<typename T>
void AppendUnique (T &cont1, const T &cont2)
 Appends items from one STL container to the back of a seccond STL container if the items are not already in the second container.
template<typename T>
T & Append (T &cont1, const T &cont2)
 Appends contents of STL container cont2 to the end of cont1.
template<typename T>
void Erase (T &cont)
 Erases all items from the given container.
std::vector< std::string > Split (std::string str, char sep= ' ')
 Splits the given string into a vector of strings using sep as a seperator.
int RunProgram (std::string command_in)
 Executes the given command and returns its exit status.
int RunProgramRedirect (std::string &out, std::string &err, std::string command)
 Executes the given command and returns its exit status.
void MkDirs (std::string dir)
 Creates a directory structure if it does not exist.
void CopyFile (std::string source, std::string destination)
 Copies source file to destination file.
bool FileExists (std::string filename)
 Returns true if the specified filename exists as a file.
std::string TrimWhitespace (const std::string &str)
 Trims all whitespace from the beginning and end of the string.
std::string MakeTemporaryFile (std::string prefix="", std::string suffix="", std::string directory="/tmp")
 Creates a temporary file on the system using the given template.
static bool LessThanCallComplexity (const Function *left, const Function *right)
 Returns true if the callgraph complexity of left is less than that of right.
static void AddRethrow (std::list< PropogatingException > &exceptions, PropogatingException &exception, FunctionLoc &fcall, std::list< PropogatingException > &poss_curr_catch_types)
 (BRIEF DESC NOT PROVIDED).
static bool AddPException (Dictionary &dict, std::list< PropogatingException > &exceptions, PropogatingException &exception, FunctionLoc &fcall, std::list< PropogatingException > &poss_curr_catch_types)
 (BRIEF DESC NOT PROVIDED).
static bool AddOException (Dictionary &dict, std::list< PropogatingException > &exceptions, Exception &exception, std::list< PropogatingException > &poss_curr_catch_types)
 (BRIEF DESC NOT PROVIDED).
static bool AddExceptions (std::list< PropogatingException > &exceptions, std::list< PropogatingException > &add)
 (BRIEF DESC NOT PROVIDED).
static int CalculateTotalFunctionCalls (std::set< Function * > &processed, std::vector< Function * > &curr_stack, Function *f)
static int CalculateTotalFunctionCalls (std::set< Function * > &processed, std::vector< Function * > &curr_stack, CodeBlock &cb)
static bool IsDirectory (std::string dirname)
 (BRIEF DESC NOT PROVIDED).
static std::list< ManagedFileGetAllFiles (const ManagedFile &arch, std::string subdir)
 (BRIEF DESC NOT PROVIDED).
bool PushBack (const std::string &name, std::vector< std::string > &list)
 (BRIEF DESC NOT PROVIDED).
static int mkdirs (char *path, mode_t mode)
 (BRIEF DESC NOT PROVIDED).
static const std::string white_space (" \t\r\n")

Variables

static char const *const INDENT_STR = "\t"
 used in a number of places within the Print() functions to provide indentation.
static Dictionarycurrent = NULL
static NotificationIFaceglobal_notifier = NULL
std::list< std::string > open_temp_files


Typedef Documentation

typedef std::list<ArchiveIFace*> EDoc::ArchiveList

Definition at line 80 of file ArchiveIFace.h.

typedef std::vector<CatchBlock> EDoc::CatchBlockVec

Definition at line 167 of file CatchBlock.h.

typedef std::list<CodeBlock*> EDoc::CodeBlockPList

Definition at line 310 of file CodeBlock.h.

typedef CodeBlock* EDoc::CodeBlockPtr

Definition at line 309 of file CodeBlock.h.

typedef CodeBlock* EDoc::CodeBlockPtr

Definition at line 39 of file CatchBlock.h.

typedef uint32_t EDoc::EventCode

Definition at line 47 of file NotificationIFace.h.

typedef std::list<Exception> EDoc::ExcepList

Definition at line 163 of file Exception.h.

typedef std::list<Exception*> EDoc::ExcepPList

Definition at line 164 of file Exception.h.

typedef std::list<File*> EDoc::FilePList

Definition at line 138 of file File.h.

typedef std::list<FunctionTypeLoc> EDoc::FTypeLocList

Definition at line 127 of file FunctionTypeLoc.h.

typedef std::list<FunctionLoc> EDoc::FuncLocList

Definition at line 160 of file FunctionLoc.h.

typedef std::list<EDoc::Function*> EDoc::FuncPList

Definition at line 523 of file Function.h.

typedef std::map<std::string, EDoc::Function*> EDoc::FuncPMap

Definition at line 522 of file Function.h.

typedef ProgressIFace<Function> EDoc::FunctionProgressIFace

Definition at line 59 of file ProgressIFace.h.

typedef FunctionProgressIFace* EDoc::FunctionProgressIFacePtr

Definition at line 61 of file ProgressIFace.h.

typedef ManagedObject* EDoc::ManagedObjectPtr

Definition at line 179 of file ManagedObject.h.

typedef std::list<ManagedFile> EDoc::MngdFileList

Definition at line 180 of file ManagedFile.h.

typedef std::list<ManagedObject*> EDoc::MngObjPList

Definition at line 180 of file ManagedObject.h.

typedef std::vector<ManagedObject*> EDoc::MngObjPVec

Definition at line 181 of file ManagedObject.h.

typedef std::list<PropogatingException> EDoc::PropExcepList

Definition at line 176 of file PropogatingException.h.

typedef std::list<PropogatingException*> EDoc::PropExcepPList

Definition at line 177 of file PropogatingException.h.

typedef std::map<std::string, StringIdentifiedObject* > EDoc::StrIDObjPMap

Definition at line 212 of file StringIdentifiedObject.h.

typedef StringIdentifiedObject* EDoc::StringIdentifiedObjectPtr

Definition at line 211 of file StringIdentifiedObject.h.

typedef std::list<TryBlock> EDoc::TryBlockList

Definition at line 148 of file TryBlock.h.

typedef std::vector<TranslationUnit*> EDoc::TUnitPVec

Definition at line 168 of file TranslationUnit.h.

typedef std::vector<EDoc::Type*> EDoc::TypePVec

Definition at line 258 of file Type.h.


Enumeration Type Documentation

enum EDoc::Events

Define the standard set of errors and warnings used by EDoc.

Enumerator:
Type 
Name 
ENOT_THROW 
WDIFF_THROW 
WDIFF_IMPL 
WUNUSED_CATCH 
WSET_UNEXPECTED 
EV_UNDEFINED 

Definition at line 211 of file NotificationIFace.h.

enum EDoc::EventType

Enumerates the event types that exist.

Enumerator:
EVENT_ERROR 
EVENT_WARNING 

Definition at line 41 of file NotificationIFace.h.


Function Documentation

EDoc::AddExceptions ( std::list< PropogatingException > &  exceptions,
std::list< PropogatingException > &  add 
) [static]

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 298 of file Dictionary.cpp.

References AppendUnique(), and EDOC_FOREACH.

Referenced by EDoc::Dictionary::HandleCircularCallgraph(), and EDoc::Dictionary::ProcessTryBlock().

EDoc::AddOException ( EDoc::Dictionary dict,
std::list< PropogatingException > &  exceptions,
EDoc::Exception exception,
std::list< PropogatingException > &  poss_curr_catch_types 
) [inline, static]

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 269 of file Dictionary.cpp.

References AddPException(), and EDoc::Dictionary::UNKNOWN_LOCATION.

Referenced by EDoc::Dictionary::ProcessCodeBlock().

EDoc::AddPException ( EDoc::Dictionary dict,
std::list< PropogatingException > &  exceptions,
EDoc::PropogatingException exception,
EDoc::FunctionLoc fcall,
std::list< PropogatingException > &  poss_curr_catch_types 
) [inline, static]

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 201 of file Dictionary.cpp.

References AddRethrow(), EDOC_Fine, EDOC_Finer, EDOC_FOREACH, EDoc::PropogatingException::exception, EDoc::Type::GetDeclaredName(), EDoc::FunctionLoc::possible, EDoc::PropogatingException::possible, EDoc::Exception::type, EDoc::TypeLoc::value, and EDoc::PropogatingException::visible.

Referenced by AddOException(), and EDoc::Dictionary::ProcessCodeBlock().

EDoc::AddRethrow ( std::list< PropogatingException > &  exceptions,
EDoc::PropogatingException exception,
EDoc::FunctionLoc fcall,
std::list< PropogatingException > &  poss_curr_catch_types 
) [static]

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 120 of file Dictionary.cpp.

References EDOC_Fine, EDOC_FOREACH, EDoc::PropogatingException::exception, EDoc::Type::GetDeclaredName(), EDoc::PropogatingException::possible, EDoc::FunctionLoc::possible, EDoc::PropogatingException::rethrows, EDoc::Exception::type, EDoc::TypeLoc::value, and EDoc::PropogatingException::visible.

Referenced by AddPException().

EDoc::AllocNew ( EDoc::FunctionType *&  obj,
EDoc::Dictionary dict,
uint32_t  index 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 80 of file ManagedObject.cpp.

References EDOC_ASSERT.

EDoc::AllocNew ( EDoc::Function *&  obj,
EDoc::Dictionary dict,
uint32_t  index 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 74 of file ManagedObject.cpp.

References EDOC_ASSERT.

EDoc::AllocNew ( EDoc::Type *&  obj,
EDoc::Dictionary dict,
uint32_t  index 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 68 of file ManagedObject.cpp.

References EDOC_ASSERT, and Type.

EDoc::AllocNew ( EDoc::File *&  obj,
EDoc::Dictionary dict,
uint32_t  index 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 61 of file ManagedObject.cpp.

References EDOC_ASSERT, and EDOC_Finer.

EDoc::AllocNew ( EDoc::FunctionType *&  obj,
EDoc::Dictionary dict,
std::string  key_name 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 54 of file ManagedObject.cpp.

References EDOC_ASSERT.

EDoc::AllocNew ( EDoc::Function *&  obj,
EDoc::Dictionary dict,
std::string  key_name 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 48 of file ManagedObject.cpp.

References EDOC_ASSERT.

EDoc::AllocNew ( EDoc::Type *&  obj,
EDoc::Dictionary dict,
std::string  key_name 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 42 of file ManagedObject.cpp.

References EDOC_ASSERT, and Type.

EDoc::AllocNew ( EDoc::File *&  obj,
EDoc::Dictionary dict,
std::string  key_name 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 35 of file ManagedObject.cpp.

References EDOC_ASSERT, and EDOC_Finer.

Referenced by EDoc::SpecificIndexedObject< EDoc::Type >::New(), and EDoc::SpecificManagedObject< EDoc::Type >::New().

template<typename T>
EDoc::Append ( T &  cont1,
const T &  cont2 
) [inline]

Appends contents of STL container cont2 to the end of cont1.

Note:
EDoc++ data included.

Definition at line 170 of file utils.h.

Referenced by EDoc::CodeBlock::AllFunctionCalls(), EDoc::CodeBlock::GetAllCodeBlocks(), GetAllFiles(), EDocBFD::ProcessReadBFD(), and EDoc::Persistence::ReadExtract().

template<typename T>
void EDoc::AppendUnique ( T &  cont1,
const T &  cont2 
) [inline]

Appends items from one STL container to the back of a seccond STL container if the items are not already in the second container.

Definition at line 158 of file utils.h.

References EDOC_FOREACH_CONST, and PushBackUnique().

Referenced by AddExceptions().

static int EDoc::CalculateTotalFunctionCalls ( std::set< Function * > &  processed,
std::vector< Function * > &  curr_stack,
CodeBlock &  cb 
) [inline, static]

Definition at line 805 of file Dictionary.cpp.

References CalculateTotalFunctionCalls(), EDOC_FOREACH, EDoc::CodeBlock::function_calls, EDoc::CodeBlock::possible_function_calls, and EDoc::CodeBlock::try_blocks.

static int EDoc::CalculateTotalFunctionCalls ( std::set< Function * > &  processed,
std::vector< Function * > &  curr_stack,
Function *  f 
) [static]

Definition at line 838 of file Dictionary.cpp.

References EDoc::Function::circular, EDOC_ASSERT, EDOC_FOREACH, Erase(), and EDoc::Function::implementation.

Referenced by EDoc::Dictionary::CalculateCallComplexity(), and CalculateTotalFunctionCalls().

EDoc::CopyFile ( std::string  source,
std::string  destination 
)

Copies source file to destination file.

Note:
EDoc++ data included.
Exceptions:
EDoc::FileIOException 

Definition at line 514 of file utils.cpp.

References EDOC_THROW_EXCEPTION, and RunProgram().

EDoc::CreateTempFilename ( std::string  base = "EDoctmp"  ) 

Creates a new temporary file.

Note:
EDoc++ data included.

Definition at line 185 of file utils.cpp.

References EDOC_THROW_EXCEPTION.

Referenced by EDocBFD::EmbedFileInBinary(), EDocBFD::HandleEDocSection(), and EDocBFD::BFDArchive::WriteOpen().

template<typename T>
EDoc::Erase ( T &  cont  )  [inline]

Erases all items from the given container.

Note:
EDoc++ data included.

Definition at line 180 of file utils.h.

Referenced by CalculateTotalFunctionCalls(), EDoc::ManagedFile::DecRef(), EDoc::ManagedObject::EraseAll(), EDoc::Dictionary::ErasePropogatingExceptions(), EDocBFD::HandleEDocSection(), EDoc::Type::operator=(), EDoc::TryBlock::operator=(), EDoc::FunctionType::operator=(), EDoc::Function::operator=(), EDoc::CodeBlock::operator=(), EDoc::Dictionary::ProcessFunction(), EDocBFD::ProcessReadBFD(), EDoc::TryBlock::Read(), EDoc::FunctionType::Read(), EDoc::CodeBlock::Read(), and EDoc::Dictionary::UpdateFunctionAddressLists().

EDoc::FileExists ( std::string  filename  ) 

Returns true if the specified filename exists as a file.

Note:
EDoc++ data included.

Definition at line 529 of file utils.cpp.

EDoc::GetAllFiles ( const ManagedFile &  arch,
std::string  subdir 
) [static]

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.
Exceptions:
EDoc::FileIOException 

Definition at line 56 of file DirectoryArchive.cpp.

References Append(), EDOC_THROW_EXCEPTION, EDoc::ManagedFile::GetIdentifier(), EDoc::ManagedFile::GetWorkFileName(), and IsDirectory().

Referenced by EDoc::DirectoryArchive::ReadExtractAll().

EDoc::GetCurrentDictionary (  ) 

Returns the currently active dictionary instance that is in the staging area.

Note:
EDoc++ data included.

Definition at line 333 of file Dictionary.cpp.

References current.

EDoc::GetCurrentDictionaryAssert (  ) 

Returns the currently active dictionary instance that is in the staging area.

Note:
EDoc++ data included.

Definition at line 338 of file Dictionary.cpp.

References current, and EDOC_ASSERT.

EDoc::GetFileExtension ( std::string  name  ) 

Returns the extension of the given file name.

Note:
EDoc++ data included.

Definition at line 162 of file utils.cpp.

EDoc::GetGlobalNotifier (  ) 

Returns a reference to the global notifier.

Note:
EDoc++ data included.

Definition at line 33 of file NotificationIFace.cpp.

References global_notifier.

EDoc::GetGlobalNotifierAssert (  ) 

Returns a reference to the global notifier or throws a BugException if it is not set.

Note:
EDoc++ data included.

Definition at line 38 of file NotificationIFace.cpp.

References EDOC_ASSERT, and global_notifier.

EDoc::IsDirectory ( std::string  dirname  )  [static]

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 45 of file DirectoryArchive.cpp.

Referenced by GetAllFiles(), and EDoc::DirectoryArchive::HandlesType().

EDoc::LessThanCallComplexity ( const Function *  left,
const Function *  right 
) [static]

Returns true if the callgraph complexity of left is less than that of right.

Complexity is defined by the following in order of precedence:

Definition at line 71 of file Dictionary.cpp.

References EDoc::Function::circular, and EDoc::Function::total_calls.

Referenced by EDoc::Dictionary::CalculateCallComplexity().

template<typename T>
bool EDoc::ListContains ( const T &  cont,
typename T::const_reference  item 
) [inline]

Returns true if the given STL container contains an item.

Definition at line 107 of file utils.h.

References EDOC_FOREACH_CONST.

Referenced by PushBackUnique().

EDoc::MakeTemporaryFile ( std::string  prefix = "",
std::string  suffix = "",
std::string  directory = "/tmp" 
)

Creates a temporary file on the system using the given template.

Note:
EDoc++ data included.
Exceptions:
EDoc::FileIOException 

Definition at line 563 of file utils.cpp.

References EDOC_THROW_EXCEPTION.

Referenced by EDoc::Logger::Logger().

EDoc::mkdirs ( char *  path,
mode_t  mode 
) [static]

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 464 of file utils.cpp.

References EDOC_Debug.

Referenced by MkDirs().

EDoc::MkDirs ( std::string  dir  ) 

Creates a directory structure if it does not exist.

Note:
EDoc++ data included.
Exceptions:
EDoc::FileIOException 

Definition at line 502 of file utils.cpp.

References EDOC_THROW_EXCEPTION, and mkdirs().

EDoc::PushBack ( const std::string &  name,
std::vector< std::string > &  list 
)

(BRIEF DESC NOT PROVIDED).

Note:
EDoc++ data included.

Definition at line 142 of file utils.cpp.

template<typename T>
void EDoc::PushBackUnique ( T &  cont,
typename T::const_reference  item 
) [inline]

Pushes item to the back of the STL container if it does not already exist in the container.

Definition at line 144 of file utils.h.

References ListContains().

Referenced by AppendUnique(), EDoc::Dictionary::HandleCircularCallgraph(), EDoc::Type::Merge(), EDoc::Function::Merge(), EDoc::Dictionary::Merge(), and EDoc::Dictionary::UpdateFunctionAddressLists().

EDoc::RunProgram ( std::string  command_in  ) 

Executes the given command and returns its exit status.

Note:
EDoc++ data included.

Definition at line 231 of file utils.cpp.

References EDOC_Debug, EDOC_THROW_EXCEPTION, and Split().

Referenced by CopyFile(), and EDocBFD::EmbedFileInBinary().

EDoc::RunProgramRedirect ( std::string &  out,
std::string &  err,
std::string  command 
)

Executes the given command and returns its exit status.

Note:
EDoc++ data included.

Definition at line 284 of file utils.cpp.

References EDOC_Debug, EDOC_THROW_EXCEPTION, and Split().

EDoc::SetCurrentDictionary ( EDoc::Dictionary current_in  ) 

Set the currently active dictionary.

Note:
EDoc++ data included.

Definition at line 344 of file Dictionary.cpp.

References current.

EDoc::SetGlobalNotifier ( EDoc::NotificationIFace gn  ) 

Sets the global notifier.

Note:
EDoc++ data included.

Definition at line 28 of file NotificationIFace.cpp.

References global_notifier.

EDoc::Split ( std::string  str,
char  sep = ' ' 
)

Splits the given string into a vector of strings using sep as a seperator.

Note:
EDoc++ data included.

Definition at line 208 of file utils.cpp.

Referenced by RunProgram(), and RunProgramRedirect().

EDoc::SplitFileExtension ( std::string  name  ) 

Returns both the extension and the base name of the given file name.

Note:
EDoc++ data included.

Definition at line 173 of file utils.cpp.

EDoc::TrimWhitespace ( const std::string &  str  ) 

Trims all whitespace from the beginning and end of the string.

Note:
EDoc++ data included.

Definition at line 541 of file utils.cpp.

References white_space().

template<typename T>
T::iterator EDoc::VecFind ( T &  cont,
typename T::const_reference  item 
) [inline]

Returns an iterator for the item that matches.

Most containers in STL have a .find() function. But apparently not std::vector.

Definition at line 127 of file utils.h.

References EDOC_FOREACH.

static const std::string EDoc::white_space ( " \t\r\n"   )  [static]

Referenced by TrimWhitespace().


Variable Documentation

Dictionary* EDoc::current = NULL [static]

Definition at line 331 of file Dictionary.cpp.

Referenced by GetCurrentDictionary(), GetCurrentDictionaryAssert(), and SetCurrentDictionary().

NotificationIFace* EDoc::global_notifier = NULL [static]

Definition at line 26 of file NotificationIFace.cpp.

Referenced by GetGlobalNotifier(), GetGlobalNotifierAssert(), and SetGlobalNotifier().

char const* const EDoc::INDENT_STR = "\t" [static]

used in a number of places within the Print() functions to provide indentation.

Definition at line 78 of file utils.h.

Referenced by EDoc::PropogatingException::Print(), EDoc::Function::Print(), EDoc::Exception::Print(), and EDoc::CodeBlock::Print().

std::list<std::string> EDoc::open_temp_files

Definition at line 140 of file utils.cpp.


Generated on Tue Jan 20 18:26:08 2009 for EDoc-0.2.1 by  doxygen 1.5.1