pub struct Field {Show 15 fields
pub id: Option<String>,
pub name: String,
pub datatype: Datatype,
pub unit: Option<String>,
pub precision: Option<Precision>,
pub width: Option<u16>,
pub xtype: Option<String>,
pub ref_: Option<String>,
pub ucd: Option<String>,
pub utype: Option<String>,
pub arraysize: Option<ArraySize>,
pub extra: HashMap<String, Value>,
pub description: Option<Description>,
pub values: Option<Values>,
pub links: Vec<Link>,
}Expand description
From the VOTable official document, the ‘null’ attribute in VALUES is reserved to integer types: “This mechanism is only intended for use with integer types; it should not be used for floating point types, which can use NaN instead.” “This mechanism for representing null values is required for integer columns in the BINARY serialization [but not in BINARY2]”
Fields§
§id: Option<String>§name: String§datatype: Datatype§unit: Option<String>§precision: Option<Precision>§width: Option<u16>§xtype: Option<String>§ref_: Option<String>§ucd: Option<String>§utype: Option<String>§arraysize: Option<ArraySize>§extra: HashMap<String, Value>§description: Option<Description>§values: Option<Values>§links: Vec<Link>Implementations§
source§impl Field
impl Field
pub fn new<N: Into<String>>(name: N, datatype: Datatype) -> Self
sourcepub fn null_value(&self) -> Option<&String>
pub fn null_value(&self) -> Option<&String>
Look for a NULL value and returns it
pub fn set_id<I: Into<String>>(self, id: I) -> Self
pub fn set_id_by_ref<I: Into<String>>(&mut self, id: I)
pub fn set_unit<I: Into<String>>(self, unit: I) -> Self
pub fn set_unit_by_ref<I: Into<String>>(&mut self, unit: I)
pub fn set_precision(self, precision: Precision) -> Self
pub fn set_precision_by_ref(&mut self, precision: Precision)
pub fn set_width(self, width: u16) -> Self
pub fn set_width_by_ref(&mut self, width: u16)
pub fn set_xtype<I: Into<String>>(self, xtype: I) -> Self
pub fn set_xtype_by_ref<I: Into<String>>(&mut self, xtype: I)
pub fn set_ref<I: Into<String>>(self, ref_: I) -> Self
pub fn set_ref_by_ref<I: Into<String>>(&mut self, ref_: I)
pub fn set_ucd<I: Into<String>>(self, ucd: I) -> Self
pub fn set_ucd_by_ref<I: Into<String>>(&mut self, ucd: I)
pub fn set_utype<I: Into<String>>(self, utype: I) -> Self
pub fn set_utype_by_ref<I: Into<String>>(&mut self, utype: I)
pub fn set_arraysize(self, arraysize: ArraySize) -> Self
pub fn set_arraysize_by_ref(&mut self, arraysize: ArraySize)
pub fn insert_extra<S: Into<String>>(self, key: S, value: Value) -> Self
pub fn insert_extra_by_ref<S: Into<String>>(&mut self, key: S, value: Value)
pub fn set_description(self, description: Description) -> Self
pub fn set_description_by_ref(&mut self, description: Description)
pub fn set_values(self, values: Values) -> Self
pub fn set_values_by_ref(&mut self, values: Values)
pub fn push_link(self, link: Link) -> Self
pub fn push_link_by_ref(&mut self, link: Link)
sourcepub fn for_each_attribute<F>(&self, f: F)
pub fn for_each_attribute<F>(&self, f: F)
Calls a closure on each (key, value) attribute pairs.
pub fn visit<C, V>(&mut self, visitor: &mut V) -> Result<(), V::E>where
C: TableDataContent,
V: VOTableVisitor<C>,
sourcepub fn merge_enrich(&mut self, other: &Field) -> Result<(), String>
pub fn merge_enrich(&mut self, other: &Field) -> Result<(), String>
Enrich this Field filling its empty elements with the ones provided in the given other Field.
Returns an error is the datatypes and/or arraysize are not the same.
sourcepub fn merge_overwrite(&mut self, other: &Field) -> Result<(), String>
pub fn merge_overwrite(&mut self, other: &Field) -> Result<(), String>
Enrich this Field filling its elements with the ones provided in the given other Field.
Returns an error is the datatypes and/or arraysize are not the same.
Elements already defined in thuis Field but also present in other are overwritten,
including the name (which is mandatory and thus always overwritten).
Trait Implementations§
source§impl<'de> Deserialize<'de> for Field
impl<'de> Deserialize<'de> for Field
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for Field
impl PartialEq for Field
impl StructuralPartialEq for Field
Auto Trait Implementations§
impl RefUnwindSafe for Field
impl Send for Field
impl Sync for Field
impl Unpin for Field
impl UnwindSafe for Field
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.