IRC_SERVER
By @hyunjunk (hyunjun2372@gmail.com)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
IRCCore Namespace Reference

Namespaces

namespace  detail
 

Classes

class  FixedMemoryPool
 Memory pool that can allocate fixed amount of data. More...
 
class  FlexibleFixedMemoryPool
 A memory pool that can allocate flexible number of data. More...
 
class  FlexibleMemoryPoolingBase
 Base class for memory pooling with new/delete operator overloading. More...
 
class  SharedPtr
 Shared pointer custom implementation for C++98 standard. More...
 
class  WeakPtr
 Weak pointer custom implementation for C++98 standard. More...
 

Enumerations

enum  GLOBAL_CONSTANTS {
  CACHE_LINE_SIZE = 64 ,
  PAGE_SIZE = 4096 ,
  QUAD_PAGE_SIZE = PAGE_SIZE * 4
}
 

Functions

void CoreLog (const std::string &msg)
 
void CoreMemoryLog (const std::string &msg)
 
void CoreMemoryLeakLog (const std::string &msg)
 
template<typename T >
std::string ValToString (const T value)
 
template<typename T >
std::string ValToStringByHex (const T value)
 
MakeSharedGroup

Function to create a shared pointer with a new object.

Parameters
TType of the object to be created. (Not support Array type. e.g. int[], char[])
...Arguments to be passed to the constructor of the object. (up to 4 arguments)
Returns
A new shared pointer to the object.

Support only up to 4 arguments because variadic template is not available in c++98. Example usage:

Shared pointer custom implementation for C++98 standard.
Definition SharedPtr.hpp:164
SharedPtr< T > MakeShared()
Definition SharedPtr.hpp:86

SharedPtr

template<typename T >
SharedPtr< T > MakeShared ()
 
template<typename T , typename A1 >
SharedPtr< T > MakeShared (A1 a1)
 
template<typename T , typename A1 , typename A2 >
SharedPtr< T > MakeShared (A1 a1, A2 a2)
 
template<typename T , typename A1 , typename A2 , typename A3 >
SharedPtr< T > MakeShared (A1 a1, A2 a2, A3 a3)
 
template<typename T , typename A1 , typename A2 , typename A3 , typename A4 >
SharedPtr< T > MakeShared (A1 a1, A2 a2, A3 a3, A4 a4)
 

Enumeration Type Documentation

◆ GLOBAL_CONSTANTS

Enumerator
CACHE_LINE_SIZE 
PAGE_SIZE 
QUAD_PAGE_SIZE 

Function Documentation

◆ CoreLog()

void IRCCore::CoreLog ( const std::string & msg)

◆ CoreMemoryLog()

void IRCCore::CoreMemoryLog ( const std::string & msg)

◆ CoreMemoryLeakLog()

void IRCCore::CoreMemoryLeakLog ( const std::string & msg)

◆ ValToString()

template<typename T >
std::string IRCCore::ValToString ( const T value)

◆ ValToStringByHex()

template<typename T >
std::string IRCCore::ValToStringByHex ( const T value)

◆ MakeShared() [1/5]

template<typename T >
SharedPtr< T > IRCCore::MakeShared ( )

◆ MakeShared() [2/5]

template<typename T , typename A1 >
SharedPtr< T > IRCCore::MakeShared ( A1 a1)

◆ MakeShared() [3/5]

template<typename T , typename A1 , typename A2 >
SharedPtr< T > IRCCore::MakeShared ( A1 a1,
A2 a2 )

◆ MakeShared() [4/5]

template<typename T , typename A1 , typename A2 , typename A3 >
SharedPtr< T > IRCCore::MakeShared ( A1 a1,
A2 a2,
A3 a3 )

◆ MakeShared() [5/5]

template<typename T , typename A1 , typename A2 , typename A3 , typename A4 >
SharedPtr< T > IRCCore::MakeShared ( A1 a1,
A2 a2,
A3 a3,
A4 a4 )