From c09cd7512491cee1e82c1ad8128ce9fd4bc3f79b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 22 Sep 2017 23:32:28 +0200 Subject: Initial modularization with both Clang and VC hacks Note: gave up on VC about half way though. --- libbutl/pager.cxx | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 43 insertions(+), 8 deletions(-) (limited to 'libbutl/pager.cxx') diff --git a/libbutl/pager.cxx b/libbutl/pager.cxx index 3910443..6453120 100644 --- a/libbutl/pager.cxx +++ b/libbutl/pager.cxx @@ -2,24 +2,59 @@ // copyright : Copyright (c) 2014-2017 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file -#include +#ifndef __cpp_modules +#include +#endif + +#include // E* #ifndef _WIN32 # include // STDOUT_FILENO # include // ioctl() +#else +# include +#endif +#ifndef __cpp_lib_modules +#include +#include +#include + +#include // strchr() +#include // move() +#ifndef _WIN32 # include # include // this_thread::sleep_for() -#else -# include +#endif #endif -#include // strchr() -#include // move() +// Other includes. -#include // operator<<(ostream, exception), - // throw_generic_error() -#include // fdclose() +#ifdef __cpp_modules +module butl.pager; + +// Only imports additional to interface. +#ifdef __clang__ +#ifdef __cpp_lib_modules +import std.core; +import std.io; +#endif +import butl.process; +import butl.fdstream; +#endif + +#ifndef _WIN32 +import std.core; //@@ MOD TODO: import std.threading. +#endif + +import butl.utility; // operator<<(ostream, exception), throw_generic_error() +import butl.optional; +import butl.fdstream; // fdclose() +#else +#include +#include +#include +#endif using namespace std; -- cgit v1.1