use qubit_datatype::DataType;
use serde::Deserialize;
use serde::Serialize;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct MetadataField {
data_type: DataType,
required: bool,
}
impl MetadataField {
#[inline(always)]
#[must_use = "the constructed metadata field should be used"]
pub fn new(data_type: DataType, required: bool) -> Self {
Self { data_type, required }
}
#[inline(always)]
#[must_use = "the metadata field type should be inspected"]
pub fn data_type(&self) -> DataType {
self.data_type
}
#[inline(always)]
#[must_use]
pub fn is_required(&self) -> bool {
self.required
}
}