Skip to content

Instantly share code, notes, and snippets.

@RklAlx
RklAlx / SocketServer.cpp
Created September 27, 2013 11:45
Socket Listener
#include "StdAfx.h"
#include "SocketServer.h"
#include <iostream>
using namespace std;
SocketServer::SocketServer()
: m_AccepterSocket(INVALID_SOCKET),
m_nPort(0),
m_dwAccepterThreadID(0)
@RklAlx
RklAlx / CC.cpp
Created September 27, 2013 12:00
Private Constructor and make_shared: Solution: Using Pass-Key-Idiom Pattern URL: http://anthony-arnold.com/2012/04/05/three-fun-cpp-techniques/
#include "C.h"
std::shared_ptr<CC> CC::CreateCC(int x)
{
return std::make_shared<CC>(CC::Key(),x);
}
CC::CC(const Key& rk, int xy)
{
y = xy;
// https://helloacm.com/how-to-find-out-whether-a-machine-is-big-endian-or-little-endian-in-cc/
#include <stdio.h>
 
#define BIG_ENDIAN 0
#define LITTLE_ENDIAN 1
 
int TestByteOrder() {
        short int word = 0x0001;
        char *b = (char *)&word;
        return (b[0] ? LITTLE_ENDIAN : BIG_ENDIAN);
@RklAlx
RklAlx / map.cpp
Created November 4, 2013 16:46
std::map
#include <map>
#include <string>
using std::map;
using std::string;
class CTeste
{
public:
CTeste(){}
@RklAlx
RklAlx / strtrim.h
Created October 16, 2013 09:14
std::string trim
static inline std::string &ltrim(std::string &s){
s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
return s;
}
static inline std::string &rtrim(std::string &s) {
s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
return s;
}
@RklAlx
RklAlx / Sync.cpp
Created September 27, 2013 14:50
Critical Section for Linux
// ---
// - Creating critical section variable -
// ---
pthread_mutex_t m;
// ---
// - Initializing -
//--
@RklAlx
RklAlx / Compare.cpp
Created September 27, 2013 12:11
InterlockedCompare
/*
Syntax:
LONG __cdecl InterlockedCompareExchange(__inout LONG volatile *Destination,
__in LONG Exchange,
__in LONG Comparand
);
Returns the initial value of 'Destination'.
Note:
@RklAlx
RklAlx / CThreadObj.cpp
Created September 27, 2013 12:09
Threads
bool CMyObj::StartThread()
{
m_Running = true;
m_hThreadHandle = CreateThread(NULL,0,ThreadFunction,this,0,&this->m_ThreadID);
if(m_hThreadHandle == nullptr)
m_Running = false;
return m_Running
}
@RklAlx
RklAlx / Sync.cpp
Created September 27, 2013 12:07
Critical Section
#include "Sync.h"
Sync::Sync()
{
InitializeCriticalSection(&m_cs);
}
Sync::~Sync()
{
DeleteCriticalSection(&m_cs);
@RklAlx
RklAlx / Max.cpp
Created September 27, 2013 12:04
std::for_each
//MAX using Lambda
std::vector<int> m_MsgTypeMaximumSize;
m_MsgTypeMaximumSize.push_back(7);
m_MsgTypeMaximumSize.push_back(5);
m_MsgTypeMaximumSize.push_back(20);
m_MsgTypeMaximumSize.push_back(1);
m_MsgTypeMaximumSize.push_back(3);
int max = 0;