diff options
Diffstat (limited to 'thirdparty/raw_pdb/src/PDB_NamesStream.h')
| -rw-r--r-- | thirdparty/raw_pdb/src/PDB_NamesStream.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/thirdparty/raw_pdb/src/PDB_NamesStream.h b/thirdparty/raw_pdb/src/PDB_NamesStream.h new file mode 100644 index 000000000..c305242a5 --- /dev/null +++ b/thirdparty/raw_pdb/src/PDB_NamesStream.h @@ -0,0 +1,48 @@ +// Copyright 2011-2022, Molecular Matters GmbH <[email protected]> +// See LICENSE.txt for licensing details (2-clause BSD License: https://opensource.org/licenses/BSD-2-Clause) + +#pragma once + +#include "Foundation/PDB_Macros.h" +#include "PDB_Types.h" +#include "PDB_CoalescedMSFStream.h" + + +namespace PDB +{ + class RawFile; + + struct NamesHeader + { + uint32_t magic; + uint32_t hashVersion; + uint32_t size; + }; + + class PDB_NO_DISCARD NamesStream + { + public: + NamesStream(void) PDB_NO_EXCEPT; + explicit NamesStream(const RawFile& file, uint32_t streamIndex) PDB_NO_EXCEPT; + + PDB_DEFAULT_MOVE(NamesStream); + + // Returns the header of the stream. + PDB_NO_DISCARD inline const NamesHeader* GetHeader(void) const PDB_NO_EXCEPT + { + return m_header; + } + + PDB_NO_DISCARD inline const char* GetFilename(uint32_t filenameOffset) const PDB_NO_EXCEPT + { + return m_stringTable + filenameOffset; + } + + private: + CoalescedMSFStream m_stream; + const NamesHeader* m_header; + const char* m_stringTable; + + PDB_DISABLE_COPY(NamesStream); + }; +} |