/*
 * ************************************************************************************************************
 * Author: Marcin Załęczny
 * Copyright (C)2011 Marcin Załęczny <mzaleczny@hotmail.com>
 * License: The GNU Lesser General Public License, version 3.0 (LGPLv3)
 * Library Name: mzstdprint
 * Version: 1.02
 * First release date:   2011-02-03
 * Current release date: 2011-03-04
 *
 *
 * This file is part of mzstdprint library
 * 
 * mzstdprint library is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * mzstdprint library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 * ************************************************************************************************************
 */

#ifndef __MZSTDPRINT_COMMON_H__
#define __MZSTDPRINT_COMMON_H__

#include <windows.h>


// if we compile dll based project
#ifdef MZSTDPRINT_DLL
    // if we compile dll library
    #ifdef MZSTDPRINT_INTERNAL
        #define DECLSPEC_MZSTDPRINT __declspec(dllexport)
    #else
        #define DECLSPEC_MZSTDPRINT __declspec(dllimport)
    #endif
#endif

// if we compile static lib based project
#ifdef MZSTDPRINT_STATIC
    #ifdef MZSTDPRINT_INTERNAL
        #define DECLSPEC_MZSTDPRINT __declspec(dllexport)
    #else
        #define DECLSPEC_MZSTDPRINT
    #endif
#endif

#ifndef DECLSPEC_MZSTDPRINT
    #define DECLSPEC_MZSTDPRINT
#endif




#ifdef MZSTDPRINT_DLL
    #ifdef MZSTDPRINT_INTERNAL
        VOID* __cdecl operator new(size_t size);
        VOID* __cdecl operator new(size_t size, CHAR ch);
        VOID* __cdecl operator new[](size_t size);
        VOID  __cdecl operator delete(VOID* p);
        VOID  __cdecl operator delete[](VOID* p);
    #endif
#endif

#endif
