stdex::idrec::read_id added

This commit is contained in:
Simon Rozman 2016-03-02 14:42:23 +01:00
parent fbb20a2042
commit f413026bbc

View File

@ -28,6 +28,28 @@
namespace stdex { namespace stdex {
namespace idrec { namespace idrec {
///
/// Reads record ID
///
/// \param[in] stream Input stream
/// \param[out] id Record ID
/// \param[in] end Position limit. Default is -1 (no limit).
///
/// \returns
/// - true when succeeded
/// - false otherwise
///
template <class T_ID>
inline bool read_id(_In_ std::istream& stream, _Out_ T_ID &id, _In_opt_ std::streamoff end = (std::streamoff)-1)
{
if (end == (std::streamoff)-1 || stream.tellg() < end) {
stream.read((char*)&id, sizeof(id));
return stream.good();
} else
return false;
}
/// ///
/// Skips current record data /// Skips current record data
/// ///