// Matrix Construct // // Copyright (C) Matrix Construct Developers, Authors & Contributors // Copyright (C) 2016-2018 Jason Volk // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice is present in all copies. The // full license for this software is available in the LICENSE file. #pragma once #define HAVE_IRCD_STDINC_H #pragma GCC visibility push(default) // // Standard includes // // This header includes almost everything we use out of the standard library. // This is a pre-compiled header. Project build time is significantly reduced // by doing things this way and C++ std headers have very little namespace // pollution and risk of conflicts. // // Windows Specific #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN 1 #include is not // included here because it generates naive initialization code in every unit, // whereas we conduct it once for libircd in the right place. namespace std { extern istream cin; extern ostream cout; extern ostream cerr; } #pragma GCC visibility pop