FileReaderFwd.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * FileReaderFwd.h
  3. * ---------------
  4. * Purpose: Forward declaration for class FileReader.
  5. * Notes : (currently none)
  6. * Authors: OpenMPT Devs
  7. * The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
  8. */
  9. #pragma once
  10. #include "openmpt/all/BuildSettings.hpp"
  11. #include "mpt/base/namespace.hpp"
  12. namespace mpt {
  13. inline namespace MPT_INLINE_NS {
  14. namespace IO {
  15. class FileCursorTraitsMemory;
  16. class FileCursorTraitsFileData;
  17. class FileCursorFilenameTraitsNone;
  18. template <typename Tpath>
  19. class FileCursorFilenameTraits;
  20. template <typename Ttraits, typename Tfilenametraits>
  21. class FileCursor;
  22. }
  23. }
  24. }
  25. OPENMPT_NAMESPACE_BEGIN
  26. namespace mpt {
  27. } // namespace mpt
  28. namespace detail {
  29. template <typename Ttraits, typename Tfilenametraits>
  30. using FileCursor = mpt::IO::FileCursor<Ttraits, Tfilenametraits>;
  31. template <typename Ttraits, typename Tfilenametraits>
  32. class FileReader;
  33. } // namespace detail
  34. namespace mpt {
  35. class PathString;
  36. } // namespace mpt
  37. using FileCursor = detail::FileCursor<mpt::IO::FileCursorTraitsFileData, mpt::IO::FileCursorFilenameTraits<mpt::PathString>>;
  38. using FileReader = detail::FileReader<mpt::IO::FileCursorTraitsFileData, mpt::IO::FileCursorFilenameTraits<mpt::PathString>>;
  39. using MemoryFileCursor = detail::FileCursor<mpt::IO::FileCursorTraitsMemory, mpt::IO::FileCursorFilenameTraitsNone>;
  40. using MemoryFileReader = detail::FileReader<mpt::IO::FileCursorTraitsMemory, mpt::IO::FileCursorFilenameTraitsNone>;
  41. OPENMPT_NAMESPACE_END