New 4DSSE Code 0.0.1a
 
Loading...
Searching...
No Matches
Metadata Class Reference

Represents metadata information for data objects in the dobj module. More...

#include <Metadata.h>

Public Member Functions

 Metadata ()=default
 Default constructor for Metadata.
 
 Metadata (std::size_t byteSize, std::string dataType, std::vector< std::size_t > dimensions, bool debugFlag=false)
 Constructor to initialize Metadata with specific attributes.
 
std::size_t getByteSize () const noexcept
 Gets the total size of the data in bytes.
 
void setByteSize (std::size_t byteSize) noexcept
 Sets the total size of the data in bytes.
 
const std::string & getDataType () const noexcept
 Gets the type of the data.
 
void setDataType (const std::string &dataType)
 Sets the type of the data.
 
const std::vector< std::size_t > & getDimensions () const noexcept
 Gets the dimensions of the data.
 
void setDimensions (const std::vector< std::size_t > &dimensions)
 Sets the dimensions of the data.
 
bool isDebugEnabled () const noexcept
 Checks if debugging information is enabled.
 
void setDebugEnabled (bool debugFlag) noexcept
 Sets the debugging flag.
 

Friends

std::ostream & operator<< (std::ostream &os, const Metadata &metadata)
 Prints the metadata information for debugging purposes.
 

Detailed Description

Represents metadata information for data objects in the dobj module.

The Metadata class encapsulates details such as data size, type, dimensions, and optional debugging flags. It is designed to provide descriptive attributes in a lightweight and efficient manner.

Constructor & Destructor Documentation

◆ Metadata()

Metadata::Metadata ( std::size_t byteSize,
std::string dataType,
std::vector< std::size_t > dimensions,
bool debugFlag = false )

Constructor to initialize Metadata with specific attributes.

Parameters
byteSizeThe total size of the data in bytes.
dataTypeThe type of the data (e.g., "float", "double").
dimensionsA vector representing the size of each dimension (e.g., {3, 4} for a 3x4 matrix).
debugFlagWhether debugging information is enabled for this Metadata instance.

Member Function Documentation

◆ getByteSize()

std::size_t Metadata::getByteSize ( ) const
nodiscardnoexcept

Gets the total size of the data in bytes.

Returns
The total byte size of the data.

The size is often required for memory allocation and validation in numerical routines.

Returns
The total byte size of the data.

◆ getDataType()

const std::string & Metadata::getDataType ( ) const
nodiscardnoexcept

Gets the type of the data.

Returns
A string representing the data type.

The type (e.g., "float", "double") is critical for casting raw data or interfacing with libraries that require specific types.

Returns
A string representing the data type.

◆ getDimensions()

const std::vector< std::size_t > & Metadata::getDimensions ( ) const
nodiscardnoexcept

Gets the dimensions of the data.

Returns
A vector representing the size of each dimension.

Dimensions define the shape of the data (e.g., 2D arrays, 3D matrices). This is essential for ensuring that operations (e.g., matrix multiplication) are performed correctly.

Returns
A vector representing the size of each dimension.

◆ isDebugEnabled()

bool Metadata::isDebugEnabled ( ) const
nodiscardnoexcept

Checks if debugging information is enabled.

Returns
True if debugging is enabled, false otherwise.

Debugging flags can be useful for tracking performance metrics or error provenance.

Returns
True if debugging is enabled, false otherwise.

◆ setByteSize()

void Metadata::setByteSize ( std::size_t byteSize)
noexcept

Sets the total size of the data in bytes.

Parameters
byteSizeThe total byte size to set.

It's important to ensure this matches the actual data size in memory to prevent overflows or incorrect computations downstream.

Parameters
byteSizeThe total byte size to set.

◆ setDataType()

void Metadata::setDataType ( const std::string & dataType)

Sets the type of the data.

Parameters
dataTypeA string representing the data type.

When setting the data type, ensure it aligns with the underlying data representation. Mismatched types can lead to undefined behavior in numerical calculations.

Parameters
dataTypeA string representing the data type.

◆ setDebugEnabled()

void Metadata::setDebugEnabled ( bool debugFlag)
noexcept

Sets the debugging flag.

Parameters
debugFlagWhether debugging is enabled.

Enabling debugging can introduce performance overhead but provides valuable insights during development or testing.

Parameters
debugFlagWhether debugging is enabled.

◆ setDimensions()

void Metadata::setDimensions ( const std::vector< std::size_t > & dimensions)

Sets the dimensions of the data.

Parameters
dimensionsA vector representing the size of each dimension.

When modifying dimensions, verify that they are consistent with the actual data representation.

Parameters
dimensionsA vector representing the size of each dimension.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const Metadata & metadata )
friend

Prints the metadata information for debugging purposes.

Parameters
osThe output stream to print to.
metadataThe Metadata object to print.
Returns
A reference to the output stream.

This function provides a human-readable summary of the metadata. Useful for quick checks or logging during debugging sessions.

Parameters
osThe output stream to print to.
metadataThe Metadata object to print.
Returns
A reference to the output stream.

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