gpucalc::Application Class Reference

Represent application. More...

#include <application.h>

Inheritance diagram for gpucalc::Application:

Inheritance graph

List of all members.

Public Member Functions

void addGraphicCore (GraphicCore *Core)
 Add GraphicCore.
void addShaderSystem (ShaderSystem *System)
 Add ShaderSystem.
void addTaskManager (TaskManager *TaskMgr)
 Adds TaskManager to our application.
 Application (const InputArguments &InputArgs)
 default constructor
const std::string & getClassName () const
 Returns name of class of our object.
GraphicCoregetCompatibleGraphicCore (const ShaderSystem *System=Application::getSingleton().getDefaultShaderSystem())
 Returns GraphicCore compatible with given ShaderSystem.
ShaderSystemgetCompatibleShaderSystem (const GraphicCore *Core=Application::getSingleton().getDefaultGraphicCore())
 Returns ShaderSystem compatible with given GraphicCore.
GraphicCoregetDefaultGraphicCore ()
 Returns pointer to default GraphicCore.
ShaderSystemgetDefaultShaderSystem ()
 Returns pointer to default ShaderSystem.
TaskManagergetDefaultTaskManager () const
 Gets default TaskManager.
const InputArgumentsgetInputArguments () const
const std::string & getObjectName () const
 Returns name of our object.
void getSpecificParameter (const std::string &ParameterName, void *ParameterValue)
 Method for obtaining some specific parameters, such as texture specific params, and so on.
TaskManagergetTaskManager (const std::string &TaskMgrName) const
 Gets TaskManager by name.
void installPlugin (Plugin *plugin)
 Install selected plugin.
bool isLocked () const
 returns state of object.
void loadLibrary (const std::string &LibraryFileName)
 Load dynamic library with selected name.
template<>
TimermSingleton
template<>
TimermSingleton
template<>
ProfilermSingleton
template<>
LogManagermSingleton
template<>
debugger::DebuggermSingleton
template<>
debugger::CommandParsermSingleton
template<>
ApplicationmSingleton
void removeGraphicCore (GraphicCore *Core)
 Remove graphic core.
void removeShaderSystem (ShaderSystem *System)
 Remove shader system.
void removeTaskManager (TaskManager *TaskMgr)
 Removes TaskManager from our application.
void setWarningStatus (bool DisableWarning)
 Set warning status.
bool supressWarnings () const
 If true, WARNING does nothing.
void uninstallPlugin (Plugin *plugin)
 Uninstall selected plugin.
void unloadLibrary (const std::string &LibraryFileName)
 ~Application ()
 default destructor

Static Public Member Functions

static ApplicationgetSingleton ()
static ApplicationgetSingletonPtr ()

Protected Member Functions

void addSpecificParameter (const std::string &ParameterName, void *ParameterValue, size_t Size)
void lock ()
void unlock ()

Static Protected Attributes

static T * mSingleton

Private Types

typedef std::list< GraphicCore * > GraphicCoreVector
typedef std::map< std::string,
Library * > 
LibraryMap
typedef std::map< std::string,
Plugin * > 
PluginMap
typedef std::list< ShaderSystem * > ShaderSystemVector
typedef std::map< std::string,
TaskManager * > 
TaskManagerMap

Private Member Functions

void applyInputArguments ()
void automaticUninstallPlugins ()
void automaticUnloadLibraries ()

Private Attributes

debugger::DebuggermDebugger
GraphicCoremDefaultGraphicCore
ShaderSystemmDefaultShaderSystem
TaskManagermDefaultTaskManager
GraphicCoreVector mGraphicCoreVector
InputArguments mInputArguments
LibraryMap mLibraryMap
LogManagermLogManager
PluginMap mPluginMap
ProfilermProfiler
ShaderSystemVector mShaderSystemVector
bool mSupressWarnings
TaskManagerMap mTaskManagerMap
TimermTimer


Detailed Description

Represent application.

This class can load and unload plugins, also gets pointers to some useful objects

See also:
GraphicCore and

ShaderSystem

Definition at line 54 of file application.h.


Member Typedef Documentation

typedef std::list<GraphicCore *> gpucalc::Application::GraphicCoreVector [private]

Definition at line 245 of file application.h.

typedef std::map<std::string, Library *> gpucalc::Application::LibraryMap [private]

Definition at line 263 of file application.h.

typedef std::map<std::string, Plugin *> gpucalc::Application::PluginMap [private]

Definition at line 259 of file application.h.

Definition at line 250 of file application.h.

typedef std::map<std::string, TaskManager *> gpucalc::Application::TaskManagerMap [private]

Definition at line 255 of file application.h.


Constructor & Destructor Documentation

gpucalc::Application::Application ( const InputArguments InputArgs  ) 

default constructor

Creates instance of our application, creates log file, parse arguments and config file

Definition at line 59 of file application.cpp.

00059                                                             :
00060         Singleton<Application>(_ApplicationClassName), mLogManager(new LogManager()), mTimer(new Timer), mProfiler(new Profiler),
00061         mDefaultGraphicCore(0), mGraphicCoreVector(), mDefaultShaderSystem(0), mShaderSystemVector(),
00062         mDefaultTaskManager(0), mTaskManagerMap(), mPluginMap(), mLibraryMap(), mSupressWarnings(false), mInputArguments(InputArgs)
00063     {
00064   mLogManager->createLog(InputArgs.getLogFile(), true, 15, 20, true);
00065   mLogManager->setLogDetail(mInputArguments.getLoggingLevel());
00066         applyInputArguments();
00067 
00068         LogManager::getSingleton().logMessage(this, "---===========================================---");
00069         LogManager::getSingleton().logMessage(this, "---===         Application created         ===---");
00070         LogManager::getSingleton().logMessage(this, std::string("---===Using \"gpucalc\" library version ") + gpucalc_version + "===---");
00071         LogManager::getSingleton().logMessage(this, "---===========================================---");
00072 
00073         LogManager::getSingleton().logMessage(this, "Application name is \"" + InputArgs.getApplicationName() + "\"");
00074         LogManager::getSingleton().logMessage(this, "Configuration file name is \"" + InputArgs.getConfigFile() + "\"");
00075 
00076         addTaskManager(new SimpleTaskManager());
00077 
00078         mDebugger = new debugger::Debugger();
00079     }

gpucalc::Application::~Application (  ) 

default destructor

deletes instance of our application, deletes singletons and unloads all plugins and libraries, registered earlier

See also:
unloadLibrary, uninstallPlugin

Definition at line 82 of file application.cpp.

00083     {
00084         automaticUnloadLibraries();
00085         automaticUninstallPlugins();
00086 
00087         clearContainer(mGraphicCoreVector);
00088         clearContainer(mShaderSystemVector);
00089         clearContainer(mTaskManagerMap);
00090 
00091         delete mDebugger;
00092 
00093         LogManager::getSingleton().logMessage(this, "---===========================================---");
00094         LogManager::getSingleton().logMessage(this, "---===         Application deleted         ===---");
00095         LogManager::getSingleton().logMessage(this, "---===========================================---");
00096         delete mLogManager;
00097     }


Member Function Documentation

void gpucalc::Application::addGraphicCore ( GraphicCore Core  ) 

Add GraphicCore.

Also this method set Core as default GraphicCore pointer

See also:
Application::getGraphicCore

Definition at line 100 of file application.cpp.

00101     {
00102         assert(Core && "adding non initialized GraphicCore pointer is not allowed");
00103         addToContainer(Core, mGraphicCoreVector);
00104         mDefaultGraphicCore = Core;
00105     }

void gpucalc::Application::addShaderSystem ( ShaderSystem System  ) 

Add ShaderSystem.

Also this method set shadersystem as default ShaderSystem pointer

See also:
Application::getShaderSystem

Definition at line 142 of file application.cpp.

00143  {
00144   assert(System && "adding non initialized ShaderSystem pointer is not allowed.");
00145   addToContainer(System, mShaderSystemVector);
00146   mDefaultShaderSystem = System;
00147  }

void gpucalc::Object::addSpecificParameter ( const std::string &  ParameterName,
void *  ParameterValue,
size_t  Size 
) [inline, protected, inherited]

Definition at line 254 of file object.h.

00255    {
00256     SpecificParametersMap::iterator i = mSpecificParameters.find(ParameterName);
00257     if (i != mSpecificParameters.end())
00258     {
00259      mSpecificParameters.erase(i);
00260     }
00261     mSpecificParameters[ParameterName] = Any(ParameterValue, Size);
00262    }

void gpucalc::Application::addTaskManager ( TaskManager TaskMgr  ) 

Adds TaskManager to our application.

Definition at line 182 of file application.cpp.

00183  {
00184   if (!addToContainer(TaskMgr, TaskMgr->getObjectName(), mTaskManagerMap))
00185   {
00186    Warning<ERR_DUPLICATE_ITEM>(this, "TaskManager \"" + TaskMgr->getObjectName() + "\" already exists!!! Nothing added.",
00187     "Application::addTaskManager()", __FILE__, __LINE__);
00188   }
00189   else
00190   {
00191    mDefaultTaskManager = TaskMgr;
00192   }
00193  }

void gpucalc::Application::applyInputArguments (  )  [private]

Definition at line 326 of file application.cpp.

00327     {
00328         const StringList & pluginList = mInputArguments.getPluginList();
00329         for (StringList::const_iterator i = pluginList.begin(); i != pluginList.end(); ++i)
00330         {
00331             try
00332             {
00333                 loadLibrary(*i);
00334             }
00335             catch(const Exception & e)
00336             {
00337                 // does nothing
00338             }
00339         }
00340 
00341         // assume that our graphic core and shader system are compatible
00342         mDefaultGraphicCore->start(mInputArguments.getArgc(), mInputArguments.getArgv());
00343         mDefaultShaderSystem->start();
00344 
00345 
00346         const StringMap & shaders = mInputArguments.getShaders();
00347         for (StringMap::const_iterator i = shaders.begin(); i != shaders.end(); ++i)
00348         {
00349             mDefaultShaderSystem->preCompile(i->first, auxillary::TextFileLoader::load(i->second));
00350         }
00351     }

void gpucalc::Application::automaticUninstallPlugins (  )  [private]

Definition at line 308 of file application.cpp.

00309  {
00310   if (!mPluginMap.empty())
00311   {
00312    Warning<ERR_INVALID_STATE>(this, "Called automatic plugins uninstalling.\
00313     It is preferred to uninstall its manualy by calling method Application::uninstallPLugin",
00314     "Application::AutomaticuninstallPlugins", __FILE__, __LINE__);
00315    for (PluginMap::iterator i = mPluginMap.begin(); i != mPluginMap.end(); ++i)
00316    {
00317     i->second->uninstall();
00318     delete i->second;
00319     LogManager::getSingleton().logMessage(this, "Plugin \"" + i->first + "\" successfully uninstalled");
00320    }
00321    mPluginMap.clear();
00322   }
00323  }

void gpucalc::Application::automaticUnloadLibraries (  )  [private]

Definition at line 289 of file application.cpp.

00290  {
00291   if (!mLibraryMap.empty())
00292   {
00293    Warning<ERR_INVALID_STATE>(this, "Called automatic unloading libraries.\
00294     It is preferred to unload its manualy by calling method Application::unloadLibrary()",
00295     "Application::AutomaticUnloadLibraries()", __FILE__, __LINE__);
00296    for (LibraryMap::iterator i = mLibraryMap.begin(); i != mLibraryMap.end(); ++i)
00297    {
00298     DLL_STOP_PLUGIN pFunc = (DLL_STOP_PLUGIN)i->second->getSymbol("dllStopPlugin");
00299     pFunc();
00300     delete i->second;
00301     LogManager::getSingleton().logMessage(this, "Library \"" + i->first + "\" successfully unloaded");
00302    }
00303    mLibraryMap.clear();
00304   }
00305  }

const std::string& gpucalc::Object::getClassName (  )  const [inline, inherited]

Returns name of class of our object.

Definition at line 92 of file object.h.

00093    {
00094     return mClassName;
00095    }

GraphicCore * gpucalc::Application::getCompatibleGraphicCore ( const ShaderSystem System = Application::getSingleton().getDefaultShaderSystem()  ) 

Returns GraphicCore compatible with given ShaderSystem.

Note:
This method sets GraphicCore and ShaderSystem as default.

Set this GraphicCore as a default

Definition at line 108 of file application.cpp.

00109     {
00110         for (GraphicCoreVector::iterator i = mGraphicCoreVector.begin(); i != mGraphicCoreVector.end(); ++i)
00111         {
00112             if ((*i)->isAcceptSystem(System))
00113             {
00115             mDefaultGraphicCore = *i;
00116             //mDefaultShaderSystem = System;
00117             return mDefaultGraphicCore;
00118             }
00119         }
00120         Except<ERR_ITEM_NOT_FOUND>(this, "Cannot find valid acceptable GraphicCore.", "Application::getGraphicCore", __FILE__, __LINE__);
00121         return 0;
00122     }

ShaderSystem * gpucalc::Application::getCompatibleShaderSystem ( const GraphicCore Core = Application::getSingleton().getDefaultGraphicCore()  ) 

Returns ShaderSystem compatible with given GraphicCore.

Note:
This method sets ShaderSystem and GraphicCore as default.

Definition at line 150 of file application.cpp.

00151  {
00152   for (ShaderSystemVector::iterator i = mShaderSystemVector.begin(); i != mShaderSystemVector.end(); ++i)
00153   {
00154    if ((*i)->isAcceptCore(Core))
00155    {
00156     mDefaultShaderSystem = *i;
00157     return mDefaultShaderSystem;
00158    }
00159   }
00160   Except<ERR_ITEM_NOT_FOUND>(this, "Cannot find valid acceptable ShaderSystem.", "Application::getShaderSystem()", __FILE__, __LINE__);
00161   return 0;
00162  }

GraphicCore* gpucalc::Application::getDefaultGraphicCore (  )  [inline]

Returns pointer to default GraphicCore.

Definition at line 115 of file application.h.

00116    {
00117     assert(mDefaultGraphicCore && "Default GraphicCore does not exists!!!");
00118     return mDefaultGraphicCore;
00119    }

ShaderSystem* gpucalc::Application::getDefaultShaderSystem (  )  [inline]

Returns pointer to default ShaderSystem.

Definition at line 151 of file application.h.

00152    {
00153     assert(mDefaultGraphicCore && "Default ShaderSystem does not exists!!!");
00154     return mDefaultShaderSystem;
00155    }

TaskManager * gpucalc::Application::getDefaultTaskManager (  )  const

Gets default TaskManager.

Definition at line 196 of file application.cpp.

00197  {
00198   return mDefaultTaskManager;
00199  }

const InputArguments& gpucalc::Application::getInputArguments (  )  const [inline]

Definition at line 219 of file application.h.

00220             {
00221                 return mInputArguments;
00222             }

const std::string& gpucalc::Object::getObjectName (  )  const [inline, inherited]

Returns name of our object.

Definition at line 101 of file object.h.

00102    {
00103     return mObjectName;
00104    }

Application & gpucalc::Application::getSingleton (  )  [static]

Override standard Singleton retrieval.

Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll.

This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.

Reimplemented from gpucalc::Singleton< T >.

Definition at line 52 of file application.cpp.

00053     {
00054         assert(mSingleton);
00055         return(* mSingleton);
00056     }

Application * gpucalc::Application::getSingletonPtr (  )  [static]

Override standard Singleton retrieval.

Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll.

This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.

Reimplemented from gpucalc::Singleton< T >.

Definition at line 46 of file application.cpp.

00047     {
00048         return mSingleton;
00049     }

void gpucalc::Object::getSpecificParameter ( const std::string &  ParameterName,
void *  ParameterValue 
) [inline, inherited]

Method for obtaining some specific parameters, such as texture specific params, and so on.

Parameters:
ParameterName - name of parameter, usually it similar to specific method of some object (for example, GLTextureID)
ParameterValue - contain value of named parameter, it must be allocated and have sufficient size.
Todo:
Think for better realization.

Definition at line 128 of file object.h.

00129    {
00130     SpecificParametersMap::iterator i = mSpecificParameters.find(ParameterName);
00131     if (i != mSpecificParameters.end())
00132     {
00133      i->second.copyValue(ParameterValue);
00134     }
00135     else
00136     {
00137      Except<ERR_ITEM_NOT_FOUND>(this, "Parameter \"" + ParameterName + "\" does not exists.", "Object::getSpecificParameter()", __FILE__, __LINE__);
00138     }
00139    }

TaskManager * gpucalc::Application::getTaskManager ( const std::string &  TaskMgrName  )  const

Gets TaskManager by name.

Definition at line 202 of file application.cpp.

00203  {
00204   TaskManagerMap::const_iterator i = mTaskManagerMap.find(TaskMgrName);
00205   if (i != mTaskManagerMap.end())
00206   {
00207    return i->second;
00208   }
00209   else
00210   {
00211    Except<ERR_ITEM_NOT_FOUND>(this, "TaskManager \"" + TaskMgrName + "\" cannot be found.", "Application::getTaskManager()", __FILE__, __LINE__);
00212    return 0;
00213   }
00214  }

void gpucalc::Application::installPlugin ( Plugin plugin  ) 

Install selected plugin.

if plugin has already installed, does nothing

Definition at line 228 of file application.cpp.

00229  {
00230   if (addToContainer(plugin, plugin->getObjectName(), mPluginMap))
00231   {
00232    plugin->install();
00233   }
00234   else
00235   {
00236    Warning<ERR_DUPLICATE_ITEM>(this, "Plugin \"" + plugin->getObjectName() + "\" already exists!!! Nothing added.",
00237     "Application::installPlugin()", __FILE__, __LINE__);
00238   }
00239  }

bool gpucalc::Object::isLocked (  )  const [inline, inherited]

returns state of object.

If object is locked then we cannot change some state of it, because object is used in computation. If object is unlocked then we can change some state of it, object is not in computation.

Definition at line 113 of file object.h.

00114    {
00115     return mIsLocked;
00116    }

void gpucalc::Application::loadLibrary ( const std::string &  LibraryFileName  ) 

Load dynamic library with selected name.

if Library has already loaded, does nothing

Definition at line 253 of file application.cpp.

00254  {
00255         LibraryMap::iterator i = mLibraryMap.find(LibraryFileName);
00256         if (i == mLibraryMap.end())
00257         {
00258             LogManager::getSingleton().logMessage(this, "Loading \"" + LibraryFileName + "\"...");
00259             Library * lib = new Library(LibraryFileName);
00260    lib->load();
00261    addToContainer(lib, LibraryFileName, mLibraryMap);
00262 
00263    DLL_START_PLUGIN pFunc = (DLL_START_PLUGIN)lib->getSymbol("dllStartPlugin");
00264    if (!pFunc)
00265    {
00266     Except<ERR_FILE_NOT_FOUND>(this, "Entry point in plugin \"" +  LibraryFileName + "\" cannot be found",
00267      "Application::loadPlugin", __FILE__, __LINE__);
00268    }
00269    pFunc();
00270    LogManager::getSingleton().logMessage(this, "Library \"" + LibraryFileName + "\" successfully loaded");
00271   }
00272  }

void gpucalc::Object::lock (  )  [inline, protected, inherited]

Definition at line 265 of file object.h.

00266    {
00267     mIsLocked = true;
00268    }

template<>
Timer * gpucalc::Singleton< Timer >::mSingleton (  )  [inline, inherited]

Definition at line 42 of file win32_timer_impl.cpp.

template<>
Timer * gpucalc::Singleton< Timer >::mSingleton (  )  [inline, inherited]

Definition at line 45 of file unix_timer_impl.cpp.

template<>
Profiler * gpucalc::Singleton< Profiler >::mSingleton (  )  [inline, inherited]

Definition at line 39 of file profiler.cpp.

template<>
LogManager * gpucalc::Singleton< LogManager >::mSingleton (  )  [inline, inherited]

Definition at line 38 of file log_manager.cpp.

template<>
debugger::Debugger * gpucalc::Singleton< debugger::Debugger >::mSingleton (  )  [inline, inherited]

Definition at line 42 of file debugger.cpp.

template<>
debugger::CommandParser * gpucalc::Singleton< debugger::CommandParser >::mSingleton (  )  [inline, inherited]

Definition at line 41 of file command_parser.cpp.

template<>
Application * gpucalc::Singleton< Application >::mSingleton (  )  [inline, inherited]

Definition at line 44 of file application.cpp.

void gpucalc::Application::removeGraphicCore ( GraphicCore Core  ) 

Remove graphic core.

This method does not delete GraphicCore, but erases it from list of registered GraphicCore s. This object deleted in corresponding Plugin class

Definition at line 125 of file application.cpp.

00126  {
00127   removeFromContainer(Core, mGraphicCoreVector);
00128   if (Core == mDefaultGraphicCore)
00129   {
00130    if (mGraphicCoreVector.empty())
00131    {
00132     mDefaultGraphicCore = 0;
00133    }
00134    else
00135    {
00136     mDefaultGraphicCore = (*mGraphicCoreVector.begin());
00137    }
00138   }
00139  }

void gpucalc::Application::removeShaderSystem ( ShaderSystem System  ) 

Remove shader system.

This method does not delete ShaderSystem, but erases it from list of registered ShaderSystems. This object deleted in corresponding Plugin class

Definition at line 165 of file application.cpp.

00166  {
00167   removeFromContainer(System, mShaderSystemVector);
00168   if (System == mDefaultShaderSystem)
00169   {
00170    if (mShaderSystemVector.empty())
00171    {
00172     mDefaultShaderSystem = 0;
00173    }
00174    else
00175    {
00176     mDefaultShaderSystem = (*mShaderSystemVector.begin());
00177    }
00178   }
00179  }

void gpucalc::Application::removeTaskManager ( TaskManager TaskMgr  ) 

Removes TaskManager from our application.

Definition at line 217 of file application.cpp.

00218  {
00219   if (!removeFromContainer(TaskMgr->getObjectName(), mTaskManagerMap))
00220   {
00221    Warning<ERR_ITEM_NOT_FOUND>(this, "TaskManager \"" + TaskMgr->getObjectName() + "\" cannot be found!!! Deleting anyway.",
00222     "Application::removeTaskManager()", __FILE__, __LINE__);
00223   }
00224   delete TaskMgr;
00225  }

void gpucalc::Application::setWarningStatus ( bool  DisableWarning  )  [inline]

Set warning status.

Definition at line 213 of file application.h.

00214    {
00215     mSupressWarnings = DisableWarning;
00216    }

bool gpucalc::Application::supressWarnings (  )  const [inline]

If true, WARNING does nothing.

See also:
exception.h

Definition at line 204 of file application.h.

00205    {
00206     return mSupressWarnings;
00207    }

void gpucalc::Application::uninstallPlugin ( Plugin plugin  ) 

Uninstall selected plugin.

Definition at line 242 of file application.cpp.

00243  {
00244   if (!removeFromContainer(plugin->getObjectName(), mPluginMap))
00245   {
00246    Warning<ERR_ITEM_NOT_FOUND>(this, "Plugin \"" + plugin->getObjectName() + "\" cannot be found!!! Uninstalling anyway.",
00247     "Application::uninstallPLugin()", __FILE__, __LINE__);
00248   }
00249   plugin->uninstall();
00250  }

void gpucalc::Application::unloadLibrary ( const std::string &  LibraryFileName  ) 

Definition at line 275 of file application.cpp.

00276  {
00277   LibraryMap::iterator i = mLibraryMap.find(LibraryFileName);
00278   if (i != mLibraryMap.end())
00279   {
00280    DLL_STOP_PLUGIN pFunc = (DLL_STOP_PLUGIN)i->second->getSymbol("dllStopPlugin");
00281    pFunc();
00282    delete i->second;
00283    mLibraryMap.erase(i);
00284    LogManager::getSingleton().logMessage(this, "Library \"" + LibraryFileName + "\" successfully unloaded");
00285   }
00286  }

void gpucalc::Object::unlock (  )  [inline, protected, inherited]

Definition at line 271 of file object.h.

00272    {
00273     mIsLocked = false;
00274    }


Member Data Documentation

Definition at line 241 of file application.h.

Definition at line 244 of file application.h.

Definition at line 249 of file application.h.

Definition at line 254 of file application.h.

Definition at line 246 of file application.h.

Definition at line 269 of file application.h.

Definition at line 264 of file application.h.

Definition at line 238 of file application.h.

Definition at line 260 of file application.h.

Definition at line 240 of file application.h.

Definition at line 251 of file application.h.

template<typename T>
T* gpucalc::Singleton< T >::mSingleton [static, protected, inherited]

Definition at line 108 of file singleton.h.

Definition at line 267 of file application.h.

Definition at line 256 of file application.h.

Definition at line 239 of file application.h.


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

Generated on Thu Mar 5 22:36:42 2009 for gpucalc by  doxygen 1.5.6