Listing 4
(a)#if defined(RECLS_PLATFORM_IS_UNIX) # include <unixstl.h> # include <unixstl_filesystem_traits.h> # include <unixstl_glob_sequence.h> namespace platform_stl = ::unixstl; #elif defined(RECLS_PLATFORM_IS_WIN32) # include <winstl.h> # include <winstl_filesystem_traits.h> # include <winstl_glob_sequence.h> namespace platform_stl = ::winstl; #else /* unrecognised platform */ # error The platform is not recognized #endif /* platform */(b)
... class ReclsFileSearchDirectoryNode { public: typedef platform_stl::filesystem_traits<recls_char_t> traits_type; typedef platform_stl::basic_file_path_buffer<recls_char_t> file_path_buffer_type; private: typedef stlsoft::basic_simple_string<recls_char_t> string_type; ...(c)
... #if defined(RECLS_PLATFORM_IS_UNIX) typedef unixstl::glob_sequence file_find_sequence_type; #elif defined(RECLS_PLATFORM_IS_WIN32) typedef winstl::basic_findfile_sequence< recls_char_t, traits_type> file_find_sequence_type; #else /* unrecognized platform */ # error The platform is not recognized #endif /* platform */ ...