TSDuck v3.41-4220
MPEG Transport Stream Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages Concepts

Utility routines for memory operations. More...

Namespaces

namespace  ts
 TSDuck namespace, containing all TSDuck classes and functions.
 

Macros

#define TS_ZERO(var)   ts::MemZero(&(var), sizeof(var))
 Zeroing an plain memory variable.
 

Functions

template<typename INT >
requires std::integral<INT>
INT ts::GetInt (const void *p)
 Template function getting an integer from serialized data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::GetInt (const void *p, INT &i)
 Template function getting an integer from serialized data in big endian representation.
 
int16_t ts::GetInt16 (const void *p)
 Function getting a 16-bit signed integer from serialized data in big endian representation.
 
void ts::GetInt16 (const void *p, int16_t &i)
 Function getting a 16-bit signed integer from serialized data in big endian representation.
 
int16_t ts::GetInt16BE (const void *p)
 Function getting a 16-bit signed integer from serialized data in big endian representation.
 
void ts::GetInt16BE (const void *p, int16_t &i)
 Function getting a 16-bit signed integer from serialized data in big endian representation.
 
int16_t ts::GetInt16LE (const void *p)
 Function getting a 16-bit signed integer from serialized data in little endian representation.
 
void ts::GetInt16LE (const void *p, int16_t &i)
 Function getting a 16-bit signed integer from serialized data in little endian representation.
 
int32_t ts::GetInt24 (const void *p)
 Function getting a 24-bit signed integer from serialized data in big endian representation.
 
void ts::GetInt24 (const void *p, int32_t &i)
 Function getting a 24-bit signed integer from serialized data in big endian representation.
 
int32_t ts::GetInt24BE (const void *p)
 Function getting a 24-bit signed integer from serialized data in big endian representation.
 
void ts::GetInt24BE (const void *p, int32_t &i)
 Function getting a 24-bit signed integer from serialized data in big endian representation.
 
int32_t ts::GetInt24LE (const void *p)
 Function getting a 24-bit signed integer from serialized data in little endian representation.
 
void ts::GetInt24LE (const void *p, int32_t &i)
 Function getting a 24-bit signed integer from serialized data in little endian representation.
 
int32_t ts::GetInt32 (const void *p)
 Function getting a 32-bit signed integer from serialized data in big endian representation.
 
void ts::GetInt32 (const void *p, int32_t &i)
 Function getting a 32-bit signed integer from serialized data in big endian representation.
 
int32_t ts::GetInt32BE (const void *p)
 Function getting a 32-bit signed integer from serialized data in big endian representation.
 
void ts::GetInt32BE (const void *p, int32_t &i)
 Function getting a 32-bit signed integer from serialized data in big endian representation.
 
int32_t ts::GetInt32LE (const void *p)
 Function getting a 32-bit signed integer from serialized data in little endian representation.
 
void ts::GetInt32LE (const void *p, int32_t &i)
 Function getting a 32-bit signed integer from serialized data in little endian representation.
 
int64_t ts::GetInt40BE (const void *p)
 Function getting a 40-bit signed integer from serialized data in big endian representation.
 
int64_t ts::GetInt40LE (const void *p)
 Function getting a 40-bit signed integer from serialized data in little endian representation.
 
int64_t ts::GetInt48BE (const void *p)
 Function getting a 48-bit signed integer from serialized data in big endian representation.
 
int64_t ts::GetInt48LE (const void *p)
 Function getting a 48-bit signed integer from serialized data in little endian representation.
 
int64_t ts::GetInt64 (const void *p)
 Function getting a 64-bit signed integer from serialized data in big endian representation.
 
void ts::GetInt64 (const void *p, int64_t &i)
 Function getting a 64-bit signed integer from serialized data in big endian representation.
 
int64_t ts::GetInt64BE (const void *p)
 Function getting a 64-bit signed integer from serialized data in big endian representation.
 
void ts::GetInt64BE (const void *p, int64_t &i)
 Function getting a 64-bit signed integer from serialized data in big endian representation.
 
int64_t ts::GetInt64LE (const void *p)
 Function getting a 64-bit signed integer from serialized data in little endian representation.
 
void ts::GetInt64LE (const void *p, int64_t &i)
 Function getting a 64-bit signed integer from serialized data in little endian representation.
 
int8_t ts::GetInt8 (const void *p)
 Function getting an 8-bit signed integer from serialized data.
 
void ts::GetInt8 (const void *p, int8_t &i)
 Function getting an 8-bit signed integer from serialized data.
 
template<typename INT >
requires std::integral<INT>
INT ts::GetIntBE (const void *p)
 Template function getting an integer from serialized data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::GetIntBE (const void *p, INT &i)
 Template function getting an integer from serialized data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
INT ts::GetIntLE (const void *p)
 Template function getting an integer from serialized data in little endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::GetIntLE (const void *p, INT &i)
 Template function getting an integer from serialized data in little endian representation.
 
template<typename INT >
requires std::integral<INT>
INT ts::GetIntVar (const void *p, size_t size)
 Template function getting a variable-length integer from serialized data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::GetIntVar (const void *p, size_t size, INT &i)
 Template function getting a variable-length integer from serialized data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
INT ts::GetIntVarBE (const void *p, size_t size)
 Template function getting a variable-length integer from serialized data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::GetIntVarBE (const void *p, size_t size, INT &i)
 Template function getting a variable-length integer from serialized data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
INT ts::GetIntVarLE (const void *p, size_t size)
 Template function getting a variable-length integer from serialized data in little endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::GetIntVarLE (const void *p, size_t size, INT &i)
 Template function getting a variable-length integer from serialized data in little endian representation.
 
uint16_t ts::GetUInt16 (const void *p)
 Function getting a 16-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt16 (const void *p, uint16_t &i)
 Function getting a 16-bit unsigned integer from serialized data in big endian representation.
 
uint16_t ts::GetUInt16BE (const void *p)
 Function getting a 16-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt16BE (const void *p, uint16_t &i)
 Function getting a 16-bit unsigned integer from serialized data in big endian representation.
 
uint16_t ts::GetUInt16LE (const void *p)
 Function getting a 16-bit unsigned integer from serialized data in little endian representation.
 
void ts::GetUInt16LE (const void *p, uint16_t &i)
 Function getting a 16-bit unsigned integer from serialized data in little endian representation.
 
uint32_t ts::GetUInt24 (const void *p)
 Function getting a 24-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt24 (const void *p, uint32_t &i)
 Function getting a 24-bit unsigned integer from serialized data in big endian representation.
 
uint32_t ts::GetUInt24BE (const void *p)
 Function getting a 24-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt24BE (const void *p, uint32_t &i)
 Function getting a 24-bit unsigned integer from serialized data in big endian representation.
 
uint32_t ts::GetUInt24LE (const void *p)
 Function getting a 24-bit unsigned integer from serialized data in little endian representation.
 
void ts::GetUInt24LE (const void *p, uint32_t &i)
 Function getting a 24-bit unsigned integer from serialized data in little endian representation.
 
uint32_t ts::GetUInt32 (const void *p)
 Function getting a 32-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt32 (const void *p, uint32_t &i)
 Function getting a 32-bit unsigned integer from serialized data in big endian representation.
 
uint32_t ts::GetUInt32BE (const void *p)
 Function getting a 32-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt32BE (const void *p, uint32_t &i)
 Function getting a 32-bit unsigned integer from serialized data in big endian representation.
 
uint32_t ts::GetUInt32LE (const void *p)
 Function getting a 32-bit unsigned integer from serialized data in little endian representation.
 
void ts::GetUInt32LE (const void *p, uint32_t &i)
 Function getting a 32-bit unsigned integer from serialized data in little endian representation.
 
uint64_t ts::GetUInt40 (const void *p)
 Function getting a 40-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt40 (const void *p, uint64_t &i)
 Function getting a 40-bit unsigned integer from serialized data in big endian representation.
 
uint64_t ts::GetUInt40BE (const void *p)
 Function getting a 40-bit unsigned integer from serialized data in big endian representation.
 
uint64_t ts::GetUInt40LE (const void *p)
 Function getting a 40-bit unsigned integer from serialized data in little endian representation.
 
uint64_t ts::GetUInt48 (const void *p)
 Function getting a 48-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt48 (const void *p, uint64_t &i)
 Function getting a 48-bit unsigned integer from serialized data in big endian representation.
 
uint64_t ts::GetUInt48BE (const void *p)
 Function getting a 48-bit unsigned integer from serialized data in big endian representation.
 
uint64_t ts::GetUInt48LE (const void *p)
 Function getting a 48-bit unsigned integer from serialized data in little endian representation.
 
uint64_t ts::GetUInt64 (const void *p)
 Function getting a 64-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt64 (const void *p, uint64_t &i)
 Function getting a 64-bit unsigned integer from serialized data in big endian representation.
 
uint64_t ts::GetUInt64BE (const void *p)
 Function getting a 64-bit unsigned integer from serialized data in big endian representation.
 
void ts::GetUInt64BE (const void *p, uint64_t &i)
 Function getting a 64-bit unsigned integer from serialized data in big endian representation.
 
uint64_t ts::GetUInt64LE (const void *p)
 Function getting a 64-bit unsigned integer from serialized data in little endian representation.
 
void ts::GetUInt64LE (const void *p, uint64_t &i)
 Function getting a 64-bit unsigned integer from serialized data in little endian representation.
 
uint8_t ts::GetUInt8 (const void *p)
 Function getting an 8-bit unsigned integer from serialized data.
 
void ts::GetUInt8 (const void *p, uint8_t &i)
 Function getting an 8-bit unsigned integer from serialized data.
 
bool ts::IdenticalBytes (const void *area, size_t area_size)
 Check if a memory area contains all identical byte values.
 
const uint8_t * ts::LocatePattern (const void *area, size_t area_size, const void *pattern, size_t pattern_size)
 Locate a pattern into a memory area.
 
const uint8_t * ts::LocateZeroZero (const void *area, size_t area_size, uint8_t third)
 Locate a 3-byte pattern 00 00 XY into a memory area.
 
int ts::MemCompare (const void *addr1, const void *addr2, size_t size)
 Comparing two memory areas.
 
void ts::MemCopy (void *dest, const void *src, size_t size)
 Copying a memory area.
 
bool ts::MemEqual (const void *addr1, const void *addr2, size_t size)
 Check if two memory areas are identical.
 
void ts::MemSet (void *addr, uint8_t value, size_t size)
 Setting a memory area.
 
void ts::MemXor (void *dest, const void *src1, const void *src2, size_t size)
 Compute an exclusive or over memory areas.
 
void ts::MemZero (void *addr, size_t size)
 Zeroing a memory area.
 
template<typename INT >
requires std::integral<INT>
void ts::PutInt (void *p, INT i)
 Template function serializing an integer data in big endian representation.
 
void ts::PutInt16 (void *p, int16_t i)
 Function serializing a 16-bit signed integer data in big endian representation.
 
void ts::PutInt16BE (void *p, int16_t i)
 Function serializing a 16-bit signed integer data in big endian representation.
 
void ts::PutInt16LE (void *p, int16_t i)
 Function serializing a 16-bit signed integer data in little endian representation.
 
void ts::PutInt24 (void *p, int32_t i)
 Function serializing a 24-bit signed integer data in big endian representation.
 
void ts::PutInt24BE (void *p, int32_t i)
 Function serializing a 24-bit signed integer data in big endian representation.
 
void ts::PutInt24LE (void *p, int32_t i)
 Function serializing a 24-bit signed integer data in little endian representation.
 
void ts::PutInt32 (void *p, int32_t i)
 Function serializing a 32-bit signed integer data in big endian representation.
 
void ts::PutInt32BE (void *p, int32_t i)
 Function serializing a 32-bit signed integer data in big endian representation.
 
void ts::PutInt32LE (void *p, int32_t i)
 Function serializing a 32-bit signed integer data in little endian representation.
 
void ts::PutInt40BE (void *p, int64_t i)
 Function serializing a 40-bit signed integer data in big endian representation.
 
void ts::PutInt40LE (void *p, int64_t i)
 Function serializing a 40-bit signed integer data in little endian representation.
 
void ts::PutInt48BE (void *p, int64_t i)
 Function serializing a 48-bit signed integer data in big endian representation.
 
void ts::PutInt48LE (void *p, int64_t i)
 Function serializing a 48-bit signed integer data in little endian representation.
 
void ts::PutInt64 (void *p, int64_t i)
 Function serializing a 64-bit signed integer data in big endian representation.
 
void ts::PutInt64BE (void *p, int64_t i)
 Function serializing a 64-bit signed integer data in big endian representation.
 
void ts::PutInt64LE (void *p, int64_t i)
 Function serializing a 64-bit signed integer data in little endian representation.
 
void ts::PutInt8 (void *p, int8_t i)
 Function serializing an 8-bit signed integer data.
 
template<typename INT >
requires std::integral<INT>
void ts::PutIntBE (void *p, INT i)
 Template function serializing an integer data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::PutIntLE (void *p, INT i)
 Template function serializing an integer data in little endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::PutIntVar (void *p, size_t size, INT i)
 Template function serializing a variable-length integer data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::PutIntVarBE (void *p, size_t size, INT i)
 Template function serializing a variable-length integer data in big endian representation.
 
template<typename INT >
requires std::integral<INT>
void ts::PutIntVarLE (void *p, size_t size, INT i)
 Template function serializing a variable-length integer data in little endian representation.
 
void ts::PutUInt16 (void *p, uint16_t i)
 Function serializing a 16-bit unsigned integer data in big endian representation.
 
void ts::PutUInt16BE (void *p, uint16_t i)
 Function serializing a 16-bit unsigned integer data in big endian representation.
 
void ts::PutUInt16LE (void *p, uint16_t i)
 Function serializing a 16-bit unsigned integer data in little endian representation.
 
void ts::PutUInt24 (void *p, uint32_t i)
 Function serializing a 24-bit unsigned integer data in big endian representation.
 
void ts::PutUInt24BE (void *p, uint32_t i)
 Function serializing a 24-bit unsigned integer data in big endian representation.
 
void ts::PutUInt24LE (void *p, uint32_t i)
 Function serializing a 24-bit unsigned integer data in little endian representation.
 
void ts::PutUInt32 (void *p, uint32_t i)
 Function serializing a 32-bit unsigned integer data in big endian representation.
 
void ts::PutUInt32BE (void *p, uint32_t i)
 Function serializing a 32-bit unsigned integer data in big endian representation.
 
void ts::PutUInt32LE (void *p, uint32_t i)
 Function serializing a 32-bit unsigned integer data in little endian representation.
 
void ts::PutUInt40 (void *p, uint64_t i)
 Function serializing a 40-bit unsigned integer data in big endian representation.
 
void ts::PutUInt40BE (void *p, uint64_t i)
 Function serializing a 40-bit unsigned integer data in big endian representation.
 
void ts::PutUInt40LE (void *p, uint64_t i)
 Function serializing a 40-bit unsigned integer data in little endian representation.
 
void ts::PutUInt48 (void *p, uint64_t i)
 Function serializing a 48-bit unsigned integer data in big endian representation.
 
void ts::PutUInt48BE (void *p, uint64_t i)
 Function serializing a 48-bit unsigned integer data in big endian representation.
 
void ts::PutUInt48LE (void *p, uint64_t i)
 Function serializing a 48-bit unsigned integer data in little endian representation.
 
void ts::PutUInt64 (void *p, uint64_t i)
 Function serializing a 64-bit unsigned integer data in big endian representation.
 
void ts::PutUInt64BE (void *p, uint64_t i)
 Function serializing a 64-bit unsigned integer data in big endian representation.
 
void ts::PutUInt64LE (void *p, uint64_t i)
 Function serializing a 64-bit unsigned integer data in little endian representation.
 
void ts::PutUInt8 (void *p, uint8_t i)
 Function serializing an 8-bit unsigned integer data.
 
bool ts::StartsWith (const void *area, size_t area_size, const void *prefix, size_t prefix_size)
 Check if a memory area starts with the specified prefix.
 

Detailed Description

Utility routines for memory operations.