diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-09-22 23:32:28 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-09-22 23:32:28 +0200 |
commit | c09cd7512491cee1e82c1ad8128ce9fd4bc3f79b (patch) | |
tree | a659ed768d849130ab5780a11b7f791a463a1a91 /libbutl/pager.cxx | |
parent | 2a00871f07067f8f9e2de08bb9c8f50e1bf6a650 (diff) |
Initial modularization with both Clang and VC hacks
Note: gave up on VC about half way though.
Diffstat (limited to 'libbutl/pager.cxx')
-rw-r--r-- | libbutl/pager.cxx | 51 |
1 files changed, 43 insertions, 8 deletions
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 <libbutl/pager.hxx> +#ifndef __cpp_modules +#include <libbutl/pager.mxx> +#endif + +#include <errno.h> // E* #ifndef _WIN32 # include <unistd.h> // STDOUT_FILENO # include <sys/ioctl.h> // ioctl() +#else +# include <libbutl/win32-utility.hxx> +#endif +#ifndef __cpp_lib_modules +#include <string> +#include <vector> +#include <iostream> + +#include <cstring> // strchr() +#include <utility> // move() +#ifndef _WIN32 # include <chrono> # include <thread> // this_thread::sleep_for() -#else -# include <libbutl/win32-utility.hxx> +#endif #endif -#include <cstring> // strchr() -#include <utility> // move() +// Other includes. -#include <libbutl/utility.hxx> // operator<<(ostream, exception), - // throw_generic_error() -#include <libbutl/fdstream.hxx> // 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 <libbutl/utility.mxx> +#include <libbutl/optional.mxx> +#include <libbutl/fdstream.mxx> +#endif using namespace std; |