IRC_SERVER
By @hyunjunk (hyunjun2372@gmail.com)
Loading...
Searching...
No Matches
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:

SharedPtr<int> A = MakeShared<int>(5);
Shared pointer custom implementation for C++98 standard.
Definition SharedPtr.hpp:164

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 )