You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.4 KiB

  1. // -*- C++ -*-
  2. // Module: Log4CPLUS
  3. // File: fstreams.h
  4. // Created: 4/2003
  5. // Author: Tad E. Smith
  6. //
  7. //
  8. // Copyright 2003-2013 Tad E. Smith
  9. //
  10. // Licensed under the Apache License, Version 2.0 (the "License");
  11. // you may not use this file except in compliance with the License.
  12. // You may obtain a copy of the License at
  13. //
  14. // http://www.apache.org/licenses/LICENSE-2.0
  15. //
  16. // Unless required by applicable law or agreed to in writing, software
  17. // distributed under the License is distributed on an "AS IS" BASIS,
  18. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  19. // See the License for the specific language governing permissions and
  20. // limitations under the License.
  21. /** @file */
  22. #ifndef LOG4CPLUS_FSTREAMS_HEADER_
  23. #define LOG4CPLUS_FSTREAMS_HEADER_
  24. #include <log4cplus/config.hxx>
  25. #if defined (LOG4CPLUS_HAVE_PRAGMA_ONCE)
  26. #pragma once
  27. #endif
  28. #include <log4cplus/tchar.h>
  29. #include <iosfwd>
  30. namespace log4cplus
  31. {
  32. typedef std::basic_ofstream<tchar> tofstream;
  33. typedef std::basic_ifstream<tchar> tifstream;
  34. //! \def LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(X)
  35. //! \brief Expands into expression that picks the right type for
  36. //! std::fstream file name parameter.
  37. #if defined (LOG4CPLUS_FSTREAM_ACCEPTS_WCHAR_T) && defined (UNICODE)
  38. # define LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(X) (X)
  39. #else
  40. # define LOG4CPLUS_FSTREAM_PREFERED_FILE_NAME(X) (LOG4CPLUS_TSTRING_TO_STRING(X))
  41. #endif
  42. }
  43. #endif // LOG4CPLUS_FSTREAMS_HEADER_