Base Classes and Functions

Collaboration diagram for Base Classes and Functions:


Classes

class  TC::Application
 Base class for all applications Class stores and reads settings form application.init file Class stores, handles and reads messages from files. More...
class  TC::Delete
 Default delete object The deleted pointer is set to null. More...
class  TC::CheckedDelete
 Delete object which checks for null pointer The deleted pointer is set to null. More...
class  TC::ArrayDelete
 Default array delete object The deleted pointer is set to null. More...
class  TC::CheckedArrayDelete
 Array delete object which checks for null pointer The deleted pointer is set to null. More...
class  TC::NoDelete
 delete object when ptr should not be deleted More...
class  TC::Exception
 Base class for all exceptions wrapping the std::exception because they differ on some compilers :(. More...
struct  TC::Hash< KEY_TYPE >
 Functor for calculating a hash value. More...
struct  TC::Hash< sint8 >
 Functor specialization (sint8) for calculating a hash value. More...
struct  TC::Hash< uint8 >
 Functor specialization (uint8) for calculating a hash value. More...
struct  TC::Hash< sint16 >
 Functor specialization (sint16) for calculating a hash value. More...
struct  TC::Hash< uint16 >
 Functor specialization (uint16) for calculating a hash value. More...
struct  TC::Hash< sint32 >
 Functor specialization (sint32) for calculating a hash value. More...
struct  TC::Hash< uint32 >
 Functor specialization (uint32) for calculating a hash value. More...
struct  TC::Hash< char * >
 Functor specialization (char*) for calculating a hash value. More...
struct  TC::Hash< std::string >
 Functor specialization (std::string) for calculating a hash value. More...
class  TC::HashTable< KEY_TYPE, MAP_TYPE, HASH_FUNC, KEY_VALUE_COMPARE_FUNC >
 Generic hash table. More...
class  TC::NonCopyAble
 Disallows copying of derived classes Private copy constructor and copy assignment ensure classes derived from class TCNonCopyable cannot be copied. More...
class  TC::Rng
 Provides functions to get/create/set file information. More...
class  TC::ScopedArray< DATA_TYPE, DELETER >
 A class whose instances act like arrays and delete the data when the instance goes out of scope. More...
class  TC::ScopedPtr< T, DELETER >
 A class whose instances act like pointers and delete the pointer when the instance goes out of scope. More...
struct  TC::SharedPtrTraits< T >
struct  TC::SharedPtrTraits< void >
struct  TC::SharedPtrTraits< const void >
struct  TC::SharedPtrTraits< const volatile void >
class  TC::SharedPtr< T >
 A class whose instances act like pointers that manage their reference count automatically. More...
class  TC::Time
 Class holding information about absolute time in seconds + nano seconds. More...
class  TC::Value< T >
 Class for holding none byte ordered data types. More...
class  TC::ByteOrderedValue< T, IS_LITTLE_ENDIAN >
 Class for holding byte ordered data types. More...
class  TC::LittleEndianValue< T >
 Class for all kind of basic types where the byte ordering is always little endian. More...
class  TC::BigEndianValue< T >
 Class for all kind of basic types where the byte ordering is always little endian. More...
class  TC::WeakPtr< T >
 The WeakPtr class template stores a "weak reference" to an object that's already managed by a SharedPtr. More...

Namespaces

namespace  TC::Factory
 Factory for creating TC objects.
namespace  TC::FileName
 This namespace provided functions for manipulating file names or file paths.
namespace  TC::Interlocked
 Methods for interlocked modifying of integer values.
namespace  TC::MLS
 Base class for all codec method fro encoding and decoding standard types and prepares methods for decoding and encoding.
namespace  TC::String
 This namespace provided functions for manipulating and converting strings.
namespace  TC::System
 Namespace for getting operating system depending information.
namespace  TC::Util
 Defines basic functions like Min, Max, Swap .

Modules

 Implementation Details
 IO Classes and Functions
 Debug Support Classes

Files

file  TCApplication.h
 This file provides the definition of TC::BaseApplication.
file  TCDefines.h
 This file provides the definition PLATFORM depending defines.
file  TCDelete.h
 This header file provides the definition of the classes TC::Delete TC::CheckedDelete TC::ArrayDelete TC::CheckedArrayDelete.
file  TCException.h
 This file provides the definition of TC::Exception.
file  TCFactory.h
 This header file provides the definition of the namespace TC::Factory.
file  TCFileName.h
 This file provides the definition of TC::FileName.
file  TCHashTable.h
 This header file provides the definition of the class TC::HashTable.
file  TCInterlocked.h
 Defines the namespace TC::Interlocked.
file  TCMLSHandler.h
 This file provides the definition of TC::MLS::Handler, TC::MLS::Text and TC::MLS::Texts.
file  TCNonCopyable.h
 This file provides the definition of TC::NonCopyAble.
file  TCRng.h
 This file provides the definition of TC::Rng.
file  TCScopedArray.h
 This header file provides the definition of the class TC::ScopedArray.
file  TCScopedPtr.h
 This header file provides the definition of the class TC::ScopedPtr.
file  TCSharedPtr.h
 This header file provides the definition of the class TC::SharedPtr.
file  TCString.h
 This header file provides the definition of the namespace TC::String.
file  TCSystem.h
 This header file provides the definition of the namespace TC::System.
file  TCTime.h
 This header file provides the definition of TC::Time.
file  TCTypes.h
 This file provides the definition of global data types like sint32, uint32.
file  TCUtil.h
 This header file provides the definition of the namespace TC::Util.
file  TCValue.h
 This header file provides the definition of the class TC::Value, TC::ByteOrderedValue, TC::LittleEndianValue and TC::BigEndianValue.
file  TCWeakPtr.h
 This header file provides the definition of the class TC::WeakPtr.

Defines

#define _WIN32_WINNT   0x0500
#define WINVER   0x0500
#define TCVERSION_STR   "1.4.0"
 Version string of TCSystem.
#define TCPRODUCT_STR   "TCSystem"
 The TCSystem string.
#define TCPRODUCT_ID_STR   TCPRODUCT_STR "(" TCVERSION_STR ")"
 The Version string + TCSystem string.
#define TC_EXPORT_DLL   __declspec(dllexport)
#define TC_IMPORT_DLL   __declspec(dllimport)
#define TC_DLL_LOCAL
#define TCBASE_API   TC_IMPORT_DLL
 TC_EXPORT_DLL
#define TC_SINT64_FORMAT   "I64d"
 Defines the format which should be used for sint64 data type.
#define TC_SINT64_WFORMAT   L"I64d"
#define TC_UINT64_FORMAT   "I64u"
 Defines the format which should be used for uint64 data type.
#define TC_UINT64_WFORMAT   L"I64u"
#define TC_UINT64_VAL(val)   (val##ui64)
 Makro for initialising 64 bit values.
#define TC_SINT64_VAL(val)   (val##i64)
#define _WINSOCKAPI_
#define TC_NO_FRIEND_TEMPLATES

Typedefs

typedef SharedPtr< Rng > TC::RngPtr
typedef char TC::sint8
 typedef for 8bit signed int
typedef short TC::sint16
 typedef for 16bit signed int
typedef int TC::sint32
 typedef for singned int 32bit
typedef __int64 TC::sint64
 typedef for 64bit signed int
typedef unsigned char TC::uint8
 typedef for 8bit unsigned int
typedef unsigned short TC::uint16
 typedef for 16bit unsigned int
typedef unsigned int TC::uint32
 typedef for 32bit unsigned int
typedef unsigned __int64 TC::uint64
 typedef for 64bit signed int
typedef unsigned char TC::uchar
 typedef for 8bit unsigned char

Functions

 TC::Exception::Exception (const char *what)
 TC::Exception::Exception (const std::string &what)
 TC::Exception::~Exception () throw ()
virtual const char * TC::Exception::what () const throw ()
 Get some information about the exception.
void TC::Exception::SetExceptionString (const std::string &text)
template<class M_PTR , class N_PTR >
bool TC::operator== (const SharedPtr< M_PTR > &a, const SharedPtr< N_PTR > &b)
 equal operator with another smart pointer
template<class M_PTR , class N_PTR >
bool TC::operator!= (const SharedPtr< M_PTR > &a, const SharedPtr< N_PTR > &b)
 not equal operator with another smart pointer
template<class M_PTR , class N_PTR >
bool TC::operator< (const SharedPtr< M_PTR > &a, const SharedPtr< N_PTR > &b)
 less operator with another smart pointer
static Time TC::Time::FromMilliSeconds (uint64 milli_seconds)
 Create a Time object with specified milli seconds.
static Time TC::Time::FromMicroSeconds (uint64 micro_seconds)
 Create a Time object with specified micro seconds.
static Time TC::Time::FromNanoSeconds (uint64 nanos_seconds)
 Create a Time object with specified nano seconds.
static Time TC::Time::Now ()
 Create a Time object with current time values.
static Time TC::Time::Since (const Time &start_time)
 Create a Time object holding the time ellapsed since specified time.
uint64 TC::Time::Seconds () const
 Get the seconds of the time object.
uint64 TC::Time::NanoSeconds () const
 Get the nano seconds of the time object.
uint64 TC::Time::ToMilliSeconds () const
 Get Total time in milli seconds.
uint64 TC::Time::ToMicroSeconds () const
 Get Total time in micro seconds.
uint64 TC::Time::ToNanoSeconds () const
 Get Total time in nano seconds.
Time & TC::Time::operator+= (const Time &time_to_add)
Time & TC::Time::operator-= (const Time &time_to_add)
bool TC::Time::operator== (const Time &a)
bool TC::Time::operator!= (const Time &a)
const Time TC::operator+ (const Time &a, const Time &b)
const Time TC::operator- (const Time &a, const Time &b)
template<class M_PTR , class N_PTR >
bool TC::operator== (const WeakPtr< M_PTR > &a, const WeakPtr< N_PTR > &b)
 equal operator with another weak pointer
template<class M_PTR , class N_PTR >
bool TC::operator!= (const WeakPtr< M_PTR > &a, const WeakPtr< N_PTR > &b)
 not equal operator with another weak pointer
template<class M_PTR , class N_PTR >
bool TC::operator< (const WeakPtr< M_PTR > &a, const WeakPtr< N_PTR > &b)
 less operator with another weak pointer

Variables

std::string TC::Exception::m_what
uint64 TC::Time::m_secs
uint64 TC::Time::m_nsecs

Define Documentation

#define _WIN32_WINNT   0x0500

Definition at line 79 of file TCDefines.h.

#define WINVER   0x0500

Definition at line 80 of file TCDefines.h.

#define TCVERSION_STR   "1.4.0"

Version string of TCSystem.

Definition at line 88 of file TCDefines.h.

#define TCPRODUCT_STR   "TCSystem"

The TCSystem string.

Definition at line 90 of file TCDefines.h.

#define TCPRODUCT_ID_STR   TCPRODUCT_STR "(" TCVERSION_STR ")"

The Version string + TCSystem string.

Definition at line 92 of file TCDefines.h.

#define TC_EXPORT_DLL   __declspec(dllexport)

Definition at line 98 of file TCDefines.h.

#define TC_IMPORT_DLL   __declspec(dllimport)

Definition at line 99 of file TCDefines.h.

#define TC_DLL_LOCAL

Definition at line 100 of file TCDefines.h.

#define TCBASE_API   TC_IMPORT_DLL

TC_EXPORT_DLL

Define for exporting classes functions from a dll TC_IMPORT_DLL Define for importing classes functions from a dll TC_DLL_LOCAL Define for not exporting a symbol from the dll define for exporting or importing classes and functions from the TC dll

Definition at line 138 of file TCDefines.h.

#define TC_SINT64_FORMAT   "I64d"

Defines the format which should be used for sint64 data type.

Definition at line 146 of file TCDefines.h.

#define TC_SINT64_WFORMAT   L"I64d"

Definition at line 147 of file TCDefines.h.

#define TC_UINT64_FORMAT   "I64u"

Defines the format which should be used for uint64 data type.

Definition at line 149 of file TCDefines.h.

#define TC_UINT64_WFORMAT   L"I64u"

Definition at line 150 of file TCDefines.h.

#define TC_UINT64_VAL ( val   )     (val##ui64)

Makro for initialising 64 bit values.

The literal of a 64bit integer is not the same on all compilers e.g. the gcc does not compile if you do not add the integer literal

Instead:

 uint64 val = 0xffffffffffffffff;

Use:

 uint64 val = UINT64_VAL(0xffffffffffffffff);

This will automatically add the correct integer literal for the 64bit value

Definition at line 170 of file TCDefines.h.

#define TC_SINT64_VAL ( val   )     (val##i64)

Definition at line 171 of file TCDefines.h.

#define _WINSOCKAPI_

Definition at line 184 of file TCDefines.h.

#define TC_NO_FRIEND_TEMPLATES

Definition at line 188 of file TCDefines.h.


Typedef Documentation

typedef SharedPtr<Rng> TC::RngPtr

Definition at line 83 of file TCRng.h.

typedef char TC::sint8

typedef for 8bit signed int

Definition at line 55 of file TCTypes.h.

typedef short TC::sint16

typedef for 16bit signed int

Definition at line 57 of file TCTypes.h.

typedef int TC::sint32

typedef for singned int 32bit

Definition at line 59 of file TCTypes.h.

typedef __int64 TC::sint64

typedef for 64bit signed int

Definition at line 62 of file TCTypes.h.

typedef unsigned char TC::uint8

typedef for 8bit unsigned int

Definition at line 74 of file TCTypes.h.

typedef unsigned short TC::uint16

typedef for 16bit unsigned int

Definition at line 76 of file TCTypes.h.

typedef unsigned int TC::uint32

typedef for 32bit unsigned int

Definition at line 78 of file TCTypes.h.

typedef unsigned __int64 TC::uint64

typedef for 64bit signed int

Definition at line 81 of file TCTypes.h.

typedef unsigned char TC::uchar

typedef for 8bit unsigned char

Definition at line 97 of file TCTypes.h.


Function Documentation

TC::Exception::Exception ( const char *  what  )  [inherited]

TC::Exception::Exception ( const std::string &  what  )  [inherited]

TC::Exception::~Exception (  )  throw () [inherited]

virtual const char* TC::Exception::what (  )  const throw () [virtual, inherited]

Get some information about the exception.

void TC::Exception::SetExceptionString ( const std::string &  text  )  [protected, inherited]

template<class M_PTR , class N_PTR >
bool TC::operator== ( const SharedPtr< M_PTR > &  a,
const SharedPtr< N_PTR > &  b 
) [inline]

equal operator with another smart pointer

Definition at line 209 of file TCSharedPtr.h.

References TC::SharedPtr< T >::Equal().

Referenced by TC::Time::operator!=().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class M_PTR , class N_PTR >
bool TC::operator!= ( const SharedPtr< M_PTR > &  a,
const SharedPtr< N_PTR > &  b 
) [inline]

not equal operator with another smart pointer

Definition at line 213 of file TCSharedPtr.h.

References TC::SharedPtr< T >::Equal().

Here is the call graph for this function:

template<class M_PTR , class N_PTR >
bool TC::operator< ( const SharedPtr< M_PTR > &  a,
const SharedPtr< N_PTR > &  b 
) [inline]

less operator with another smart pointer

Definition at line 217 of file TCSharedPtr.h.

static Time TC::Time::FromMilliSeconds ( uint64  milli_seconds  )  [static, inherited]

Create a Time object with specified milli seconds.

static Time TC::Time::FromMicroSeconds ( uint64  micro_seconds  )  [static, inherited]

Create a Time object with specified micro seconds.

static Time TC::Time::FromNanoSeconds ( uint64  nanos_seconds  )  [static, inherited]

Create a Time object with specified nano seconds.

static Time TC::Time::Now (  )  [static, inherited]

Create a Time object with current time values.

static Time TC::Time::Since ( const Time start_time  )  [inline, static, inherited]

Create a Time object holding the time ellapsed since specified time.

Definition at line 72 of file TCTime.h.

uint64 TC::Time::Seconds (  )  const [inline, inherited]

Get the seconds of the time object.

Definition at line 78 of file TCTime.h.

uint64 TC::Time::NanoSeconds (  )  const [inline, inherited]

Get the nano seconds of the time object.

Definition at line 80 of file TCTime.h.

uint64 TC::Time::ToMilliSeconds (  )  const [inline, inherited]

Get Total time in milli seconds.

Definition at line 83 of file TCTime.h.

uint64 TC::Time::ToMicroSeconds (  )  const [inline, inherited]

Get Total time in micro seconds.

Definition at line 89 of file TCTime.h.

uint64 TC::Time::ToNanoSeconds (  )  const [inline, inherited]

Get Total time in nano seconds.

Definition at line 95 of file TCTime.h.

Time& TC::Time::operator+= ( const Time time_to_add  )  [inline, inherited]

Definition at line 100 of file TCTime.h.

References TC::Time::m_nsecs, and TC::Time::m_secs.

Time& TC::Time::operator-= ( const Time time_to_add  )  [inline, inherited]

Definition at line 112 of file TCTime.h.

References TC::Time::m_nsecs, and TC::Time::m_secs.

bool TC::Time::operator== ( const Time a  )  [inline, inherited]

Definition at line 124 of file TCTime.h.

References TC::Time::m_nsecs, and TC::Time::m_secs.

bool TC::Time::operator!= ( const Time a  )  [inline, inherited]

Definition at line 129 of file TCTime.h.

References TC::operator==().

Here is the call graph for this function:

const Time TC::operator+ ( const Time &  a,
const Time &  b 
) [inline]

Definition at line 139 of file TCTime.h.

const Time TC::operator- ( const Time &  a,
const Time &  b 
) [inline]

Definition at line 144 of file TCTime.h.

template<class M_PTR , class N_PTR >
bool TC::operator== ( const WeakPtr< M_PTR > &  a,
const WeakPtr< N_PTR > &  b 
) [inline]

equal operator with another weak pointer

Definition at line 115 of file TCWeakPtr.h.

References TC::WeakPtr< T >::Equal().

Here is the call graph for this function:

template<class M_PTR , class N_PTR >
bool TC::operator!= ( const WeakPtr< M_PTR > &  a,
const WeakPtr< N_PTR > &  b 
) [inline]

not equal operator with another weak pointer

Definition at line 119 of file TCWeakPtr.h.

References TC::WeakPtr< T >::Equal().

Here is the call graph for this function:

template<class M_PTR , class N_PTR >
bool TC::operator< ( const WeakPtr< M_PTR > &  a,
const WeakPtr< N_PTR > &  b 
) [inline]

less operator with another weak pointer

Definition at line 123 of file TCWeakPtr.h.


Variable Documentation

std::string TC::Exception::m_what [private, inherited]

Definition at line 75 of file TCException.h.

uint64 TC::Time::m_secs [private, inherited]

Definition at line 135 of file TCTime.h.

Referenced by TC::Time::operator+=(), TC::Time::operator-=(), and TC::Time::operator==().

uint64 TC::Time::m_nsecs [private, inherited]

Definition at line 136 of file TCTime.h.

Referenced by TC::Time::operator+=(), TC::Time::operator-=(), and TC::Time::operator==().


Copyright (c) Thomas Goessler 2003 - 2008