WinStd
Additional templates and function helpers for Microsoft Windows using Standard C++ classes
Public Member Functions | Public Attributes | List of all members
winstd::file Class Reference

File handle wrapper. More...

#include <WinStd/Win.h>

Inheritance diagram for winstd::file:
winstd::win_handle< INVALID_HANDLE_VALUE > winstd::handle< HANDLE, INVALID >

Public Member Functions

 __declspec (deprecated("Use CreateFile")) bool create(LPCTSTR lpFileName
 Opens file handle. More...
 
- Public Member Functions inherited from winstd::win_handle< INVALID_HANDLE_VALUE >
virtual ~win_handle ()
 Closes an open object handle. More...
 
- Public Member Functions inherited from winstd::handle< HANDLE, INVALID >
 handle () noexcept
 Initializes a new class instance with the object handle set to INVAL.
 
 handle (handle_type h) noexcept
 Initializes a new class instance with an already available object handle. More...
 
 handle (handle< handle_type, INVAL > &&h) noexcept
 Move constructor. More...
 
handle< handle_type, INVAL > & operator= (handle_type h) noexcept
 Attaches already available object handle. More...
 
handle< handle_type, INVAL > & operator= (handle< handle_type, INVAL > &&h) noexcept
 Move assignment. More...
 
 operator handle_type () const
 Auto-typecasting operator. More...
 
handle_type *& operator* () const
 Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). More...
 
handle_typeoperator& ()
 Returns the object handle reference. More...
 
handle_type operator-> () const
 Provides object handle member access when the object handle is a pointer to a class or struct. More...
 
bool operator! () const
 Tests if the object handle is INVAL. More...
 
bool operator< (handle_type h) const
 Is handle less than? More...
 
bool operator<= (handle_type h) const
 Is handle less than or equal to? More...
 
bool operator>= (handle_type h) const
 Is handle greater than or equal to? More...
 
bool operator> (handle_type h) const
 Is handle greater than? More...
 
bool operator!= (handle_type h) const
 Is handle not equal to? More...
 
bool operator== (handle_type h) const
 Is handle equal to? More...
 
void attach (handle_type h) noexcept
 Sets a new object handle for the class. More...
 
handle_type detach ()
 Dismisses the object handle from this class. More...
 
void free ()
 Destroys the object.
 

Public Attributes

DWORD dwDesiredAccess
 
DWORD DWORD dwShareMode
 
DWORD DWORD DWORD dwCreationDisposition
 
DWORD DWORD DWORD DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL
 
DWORD DWORD DWORD DWORD LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL
 

Additional Inherited Members

- Public Types inherited from winstd::handle< HANDLE, INVALID >
typedef HANDLE handle_type
 Datatype of the object handle this template class handles.
 
- Static Public Attributes inherited from winstd::handle< HANDLE, INVALID >
static const HANDLE invalid
 Invalid handle value.
 
- Protected Member Functions inherited from winstd::win_handle< INVALID_HANDLE_VALUE >
void free_internal () noexcept override
 Closes an open object handle. More...
 
virtual void free_internal () noexcept=0
 Abstract member function that must be implemented by child classes to do the actual object destruction. More...
 
- Protected Attributes inherited from winstd::handle< HANDLE, INVALID >
handle_type m_h
 Object handle.
 

Detailed Description

File handle wrapper.

Member Function Documentation

◆ __declspec()

winstd::file::__declspec ( deprecated("Use CreateFile")  )

Opens file handle.

See also
CreateFile function
Returns
  • true when succeeds;
  • false when fails. Use GetLastError() for failure reason.

The documentation for this class was generated from the following file: