windows.find_file.h.xml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <chapter xml:id="windows.find_file.h">
  2. <title><tt>__vic/windows/find_file.h</tt></title>
  3. <chapter xml:id="windows--FindFile">
  4. <title><tt>windows::FindFile</tt></title>
  5. <code-block lang="C++">
  6. class windows::FindFile : public WIN32_FIND_DATA, private non_copyable
  7. {
  8. public:
  9. FindFile();
  10. ~FindFile();
  11. bool FindFirst(LPCTSTR filename);
  12. bool FindNext();
  13. bool IsOpen() const;
  14. void Close();
  15. bool CloseNT() noexcept;
  16. };
  17. </code-block>
  18. <p>Обёртка для функций Win32 API
  19. <tt>FindFirstFile()</tt>/<tt>FindNextFile()</tt>. Специальные элементы <tt>.</tt>
  20. и <tt>..</tt> никогда не включаются в результирующий набор.</p>
  21. <section><title>Члены класса</title>
  22. <synopsis>
  23. <prototype>FindFile()</prototype>
  24. <postcondition><tt>IsOpen() == false</tt></postcondition>
  25. </synopsis>
  26. <synopsis>
  27. <prototype>~FindFile()</prototype>
  28. <p>Вызывает <tt>CloseNT()</tt>, если <tt>IsOpen() == true</tt>.</p>
  29. </synopsis>
  30. <synopsis>
  31. <prototype>bool FindFirst(LPCTSTR filename)</prototype>
  32. <p>Вызывает <tt>FindFirstFile()</tt>. Возвращает <tt>false</tt>, если таких
  33. файлов не найдено. Бросает <xref to="windows--error"/> в случае других ошибок.</p>
  34. <precondition><tt>IsOpen() == false</tt></precondition>
  35. </synopsis>
  36. <synopsis>
  37. <prototype>bool FindNext()</prototype>
  38. <p>Вызывает <tt>FindNextFile()</tt>. Возвращает <tt>false</tt>, если больше
  39. таких файлов нет. Бросает <xref to="windows--error"/> в случае других
  40. ошибок.</p>
  41. <precondition><tt>IsOpen() == true</tt></precondition>
  42. </synopsis>
  43. <synopsis>
  44. <prototype>bool Close()</prototype>
  45. <p>Закрывает поисковый дескриптор. Бросает <xref to="windows--error"/> в случае
  46. ошибок.</p>
  47. <precondition><tt>IsOpen() == true</tt></precondition>
  48. <postcondition><tt>IsOpen() == false</tt></postcondition>
  49. </synopsis>
  50. <synopsis>
  51. <prototype>bool CloseNT() noexcept</prototype>
  52. <p>То же самое, что <tt>Close()</tt>, но возвращает <tt>false</tt> вместо того,
  53. чтобы бросать исключения.</p>
  54. <precondition><tt>IsOpen() == true</tt></precondition>
  55. <postcondition><tt>IsOpen() == false</tt></postcondition>
  56. </synopsis>
  57. </section>
  58. </chapter>
  59. </chapter>