i6engine  1.0
Utils
Collaboration diagram for Utils:

Namespaces

 i6e
 
 i6e::utils
 
 i6e::utils::exceptions
 
 i6e::utils::profiling
 

Classes

class  i6e::utils::AutoUpdater< T >
 
class  i6e::utils::Clock< Updater >
 
class  i6e::utils::DoubleBufferQueue< T, producer, consumer >
 
class  i6e::utils::exceptions::ExceptionQueue
 Implements a queue that supports multiple producers but only one consumer. More...
 
struct  i6e::utils::exceptions::loginfo
 Internal data structure for exceptions. More...
 
class  i6e::utils::exceptions::i6exception
 Base type for custom exceptions. More...
 
class  i6e::utils::exceptions::SubsystemException
 Non-fatal, potentially reparable exception within a single subsystem. More...
 
class  i6e::utils::exceptions::SystemFailureException
 Critical exception that cannot be repaired by a single subsystem. More...
 
class  i6e::utils::exceptions::ApiException
 Occurs when the engine detects a programmer's error. More...
 
class  i6e::utils::exceptions::MessageException
 Occurs when a wrong message is detected. More...
 
class  i6e::utils::Future< T >
 class for returning a result before it is ready More...
 
class  i6e::utils::Random
 creates random numbers More...
 
struct  i6e::utils::RangedMap< Key, Value >::iterator
 
class  i6e::utils::RangedMap< Key, Value >
 
class  i6e::utils::RealTimeClock
 
class  i6e::utils::Semaphore
 
class  i6e::utils::sequence_map< KeyType, ValueType, Hash >
 A map with linear access time and an iterator iterating through the elements in creation time. This map is intended for fast accessing complexity with preserving insertion order

Operation Time Desc.
Insert O(1)
Access O(1)
erase(key) O(n) maybe improvable when storing iterators not pointers
erase(iterator) O(n) O(1) as soon as stdlib++ allows const_iterator in erase (bug)
More...
 
struct  i6e::utils::sharedPtrWrapper< T >
 struct handling threadsafe destruction of the wrapped pointer More...
 
class  i6e::utils::sharedPtr< T, U >
 A shared pointer counting references and adds objects being not referenced any more to an internal list required external call of clear to delete all objects, no automatic deletion to stay threadsafe T = type of the pointer, U = base type of the pointer. More...
 
class  i6e::utils::Singleton< T, Dependencies >
 Derive from this templated class to make a class a singleton. Refer to the Singleton Design Pattern if it is not clear what a singleton is. Declare the ctor private but destructor public (because of destruction is handled by shared_ptr) T = type of new Singleton class Dependencies = dependencies of this Singleton, will be initialized before this Singleton is initialized and destroyed after this one is destroyed. More...
 
struct  i6e::utils::Hints
 
class  i6e::utils::Splash
 Opens and displays JPEG (Linux) or BMP (Windows) images as splash screens. More...
 
class  i6e::utils::weakPtr< T, Base >
 A weak pointer observing a sharedPtr. More...
 

Macros

#define ISIXE_THROW_SUBSYSTEM(module, message)
 
#define ISIXE_THROW_FAILURE(module, message)
 
#define ISIXE_THROW_API(module, message)
 
#define ISIXE_THROW_MESSAGE(module, message)
 
#define ISIXE_THROW_API_COND(module, message, condition)
 
#define ISIXE_THROW_API_INFO(module, message, info)
 use this to suggest an information how to resolve the exception More...
 
#define ISIXE_MPLATFORM_WIN32
 
#define ISIXE_MPLATFORM_LINUX
 
#define BOOST_ALL_DYN_LINK
 
#define WIN32_LEAN_AND_MEAN
 
#define ISIXE_MPLATFORM
 
#define I6E_DEBUG
 
#define I6E_RELEASE
 
#define ISIXE_MODE
 
#define ISIXE_UTILS_API
 
#define ISIXE_MATH_API
 
#define ISIXE_CORE_API
 
#define ISIXE_MODULES_API
 
#define ISIXE_RPG_API
 
#define ISIXE_LUA_API
 
#define ASSERT_THREAD_SAFETY_HEADER
 
#define ASSERT_THREAD_SAFETY_CONSTRUCTOR
 
#define ASSERT_THREAD_SAFETY_FUNCTION
 
#define ISIXE_LOG_DEBUG(module, message)
 
#define ISIXE_LOG_INFO(module, message)
 
#define ISIXE_LOG_WARN(module, message)
 
#define ISIXE_LOG_ERROR(module, message)
 
#define ISIXE_LOG_FATAL(module, message)
 
#define ISIXE_LOG_SETLEVEL(level)
 
#define u_char
 

Typedefs

typedef void * HWND
 

Enumerations

enum  { i6e::utils::DoubleBufferQueue< T, producer, consumer >::Bool2Type< v >::value }
 
enum  i6e::utils::LogLevel : short {
  i6e::utils::LogLevel::LOGDEBUG, i6e::utils::LogLevel::LOGINFO, i6e::utils::LogLevel::LOGWARN, i6e::utils::LogLevel::LOGERROR,
  i6e::utils::LogLevel::LOGFATAL, i6e::utils::LogLevel::LOGNONE
}
 Defines values to specify severity/importance of log message. More...
 

Functions

template<typename T >
std::ostream & operator<< (typename std::enable_if< std::is_enum< T >::value, std::ostream >::type &stream, const T &e)
 method is used when using an enum class in an ostream More...
 

Detailed Description

Macro Definition Documentation

#define ASSERT_THREAD_SAFETY_CONSTRUCTOR

Definition at line 38 of file i6eThreadSafety.h.

#define ASSERT_THREAD_SAFETY_FUNCTION

Definition at line 39 of file i6eThreadSafety.h.

#define ASSERT_THREAD_SAFETY_HEADER

Definition at line 37 of file i6eThreadSafety.h.

#define BOOST_ALL_DYN_LINK

Definition at line 33 of file i6eSystemParameters.h.

#define I6E_DEBUG

Definition at line 45 of file i6eSystemParameters.h.

#define I6E_RELEASE

Definition at line 46 of file i6eSystemParameters.h.

#define ISIXE_CORE_API

Definition at line 101 of file i6eSystemParameters.h.

#define ISIXE_LOG_DEBUG (   module,
  message 
)

Definition at line 72 of file Logger.h.

#define ISIXE_LOG_ERROR (   module,
  message 
)

Definition at line 78 of file Logger.h.

#define ISIXE_LOG_FATAL (   module,
  message 
)

Definition at line 80 of file Logger.h.

#define ISIXE_LOG_INFO (   module,
  message 
)

Definition at line 74 of file Logger.h.

#define ISIXE_LOG_SETLEVEL (   level)

Definition at line 83 of file Logger.h.

#define ISIXE_LOG_WARN (   module,
  message 
)

Definition at line 76 of file Logger.h.

#define ISIXE_LUA_API

Definition at line 145 of file i6eSystemParameters.h.

#define ISIXE_MATH_API

Definition at line 84 of file i6eSystemParameters.h.

#define ISIXE_MODE

Definition at line 51 of file i6eSystemParameters.h.

#define ISIXE_MODULES_API

Definition at line 118 of file i6eSystemParameters.h.

#define ISIXE_MPLATFORM

Definition at line 41 of file i6eSystemParameters.h.

#define ISIXE_MPLATFORM_LINUX

Definition at line 32 of file i6eSystemParameters.h.

#define ISIXE_MPLATFORM_WIN32

Definition at line 31 of file i6eSystemParameters.h.

#define ISIXE_RPG_API

Definition at line 135 of file i6eSystemParameters.h.

#define ISIXE_THROW_API (   module,
  message 
)

Definition at line 45 of file Exceptions.h.

#define ISIXE_THROW_API_COND (   module,
  message,
  condition 
)

Definition at line 57 of file Exceptions.h.

#define ISIXE_THROW_API_INFO (   module,
  message,
  info 
)

use this to suggest an information how to resolve the exception

Definition at line 66 of file Exceptions.h.

#define ISIXE_THROW_FAILURE (   module,
  message 
)

Definition at line 39 of file Exceptions.h.

#define ISIXE_THROW_MESSAGE (   module,
  message 
)

Definition at line 51 of file Exceptions.h.

#define ISIXE_THROW_SUBSYSTEM (   module,
  message 
)

Definition at line 33 of file Exceptions.h.

#define ISIXE_UTILS_API

Definition at line 67 of file i6eSystemParameters.h.

#define u_char

Definition at line 46 of file Splash.h.

#define WIN32_LEAN_AND_MEAN

Definition at line 34 of file i6eSystemParameters.h.

Typedef Documentation

typedef void* HWND

necessary to use same API for using window handles

Definition at line 157 of file i6eSystemParameters.h.

Enumeration Type Documentation

template<typename T, bool producer = true, bool consumer = true>
template<bool v>
anonymous enum
Enumerator
value 

Definition at line 49 of file DoubleBufferQueue.h.

enum i6e::utils::LogLevel : short
strong

Defines values to specify severity/importance of log message.

Enumerator
LOGDEBUG 
LOGINFO 
LOGWARN 
LOGERROR 
LOGFATAL 
LOGNONE 

Definition at line 95 of file Logger.h.

Function Documentation

template<typename T >
std::ostream& operator<< ( typename std::enable_if< std::is_enum< T >::value, std::ostream >::type &  stream,
const T &  e 
)

method is used when using an enum class in an ostream

Definition at line 32 of file EnumClassStream.h.