pub struct ArrayType {
pub base: Box<dyn DataType>,
}
Fields§
§base: Box<dyn DataType>
Implementations§
Trait Implementations§
Source§impl DataType for ArrayType
impl DataType for ArrayType
Source§fn equals(&self, other: &Box<dyn DataType>) -> bool
fn equals(&self, other: &Box<dyn DataType>) -> bool
Return if other
DataType
is equal or not to current TypeSource§fn can_perform_index_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_index_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `[I]’ operator with
between current DataType and any one of them
Source§fn index_op_result_type(&self, _other: &Box<dyn DataType>) -> Box<dyn DataType>
fn index_op_result_type(&self, _other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform ‘[]’ operator on current type Read more
Source§fn can_perform_slice_op(&self) -> bool
fn can_perform_slice_op(&self) -> bool
Return true if this type support Slice operator with
Source§fn can_perform_slice_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_slice_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `[S : E]’ operator with
between current DataType and any one of them
Source§fn can_perform_contains_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_contains_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform unary `@>’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_logical_or_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_logical_or_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
||
or OR
operator with
between current DataType and any one of themSource§fn logical_or_op_result_type(
&self,
_other: &Box<dyn DataType>,
) -> Box<dyn DataType>
fn logical_or_op_result_type( &self, _other: &Box<dyn DataType>, ) -> Box<dyn DataType>
Return the expected type after perform
||
or OR
operator between current type and argument type Read moreSource§fn can_perform_add_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_add_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
+
operator with
between current DataType and any one of themSource§fn add_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn add_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
=
operator between current type and argument type Read moreSource§fn can_perform_sub_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_sub_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
-
operator with
between current DataType and any one of themSource§fn sub_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn sub_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
-
operator between current type and argument type Read moreSource§fn can_perform_mul_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_mul_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
*
operator with
between current DataType and any one of themSource§fn mul_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn mul_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
*
operator between current type and argument type Read moreSource§fn can_perform_div_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_div_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
/
operator with
between current DataType and any one of themSource§fn div_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn div_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
/
operator between current type and argument type Read moreSource§fn can_perform_rem_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_rem_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
%
operator with
between current DataType and any one of themSource§fn rem_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn rem_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
&
operator between current type and argument type Read moreSource§fn can_perform_caret_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_caret_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
^
operator with
between current DataType and any one of themSource§fn caret_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn caret_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
^
operator between current type and argument type Read moreSource§fn can_perform_or_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_or_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
|
operator with
between current DataType and any one of themSource§fn or_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn or_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
|
operator between current type and argument type Read moreSource§fn can_perform_and_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_and_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
&
operator with
between current DataType and any one of themSource§fn and_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn and_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
&
operator between current type and argument type Read moreSource§fn can_perform_xor_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_xor_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
#
operator with
between current DataType and any one of themSource§fn xor_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn xor_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
#
operator between current type and argument type Read moreSource§fn can_perform_shl_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_shl_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
<<
operator with
between current DataType and any one of themSource§fn shl_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn shl_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
<<
operator between current type and argument type Read moreSource§fn can_perform_shr_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_shr_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
>>
operator with
between current DataType and any one of themSource§fn shr_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
fn shr_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>
Return the expected type after perform
>>
operator between current type and argument type Read moreSource§fn can_perform_logical_and_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_logical_and_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
&&
or AND
operator with
between current DataType and any one of themSource§fn logical_and_op_result_type(
&self,
other: &Box<dyn DataType>,
) -> Box<dyn DataType>
fn logical_and_op_result_type( &self, other: &Box<dyn DataType>, ) -> Box<dyn DataType>
Return the expected type after perform
&&
or AND
operator between current type and argument type Read moreSource§fn can_perform_logical_xor_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_logical_xor_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `XOR’ operator with
between current DataType and any one of them
Source§fn logical_xor_op_result_type(
&self,
other: &Box<dyn DataType>,
) -> Box<dyn DataType>
fn logical_xor_op_result_type( &self, other: &Box<dyn DataType>, ) -> Box<dyn DataType>
Return the expected type after perform ‘XOR’ operator between current type and argument type Read more
Source§fn can_perform_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `=’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `= [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform
!=' or
<>` operator with
between current DataType and any one of them Read moreSource§fn can_perform_group_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `!= [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `<=>’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `<=> [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_gt_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_gt_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `>’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_gt_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_gt_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `> [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_gte_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_gte_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `>=’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_gte_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_gte_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `>= [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_lt_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_lt_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `<’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_lt_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_lt_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `< [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_lte_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_lte_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `=<’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_group_lte_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_group_lte_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `<= [ALL|ANY|SOME]’ operator with
between current DataType and any one of them Read more
Source§fn can_perform_not_op(&self) -> bool
fn can_perform_not_op(&self) -> bool
Return a list of types that it’s possible to perform unary `NOT’ operator with
between current DataType and any one of them
Source§fn not_op_result_type(&self) -> Box<dyn DataType>
fn not_op_result_type(&self) -> Box<dyn DataType>
Return the expected type after perform unary `NOT’ operator on current type Read more
Source§fn can_perform_neg_op(&self) -> bool
fn can_perform_neg_op(&self) -> bool
Return a list of types that it’s possible to perform unary `-’ operator with
between current DataType and any one of them
Source§fn neg_op_result_type(&self) -> Box<dyn DataType>
fn neg_op_result_type(&self) -> Box<dyn DataType>
Return the expected type after perform unary `-’ operator on current type Read more
Source§fn can_perform_bang_op(&self) -> bool
fn can_perform_bang_op(&self) -> bool
Return a list of types that it’s possible to perform unary `!’ operator with
between current DataType and any one of them
Source§fn bang_op_result_type(&self) -> Box<dyn DataType>
fn bang_op_result_type(&self) -> Box<dyn DataType>
Return the expected type after perform unary `!’ operator on current type Read more
Source§fn has_implicit_cast_from(&self, expr: &Box<dyn Expr>) -> bool
fn has_implicit_cast_from(&self, expr: &Box<dyn Expr>) -> bool
Return true if this Expression can be casted to the current type without any evaluation Read more
Source§fn can_perform_explicit_cast_op_to(&self) -> Vec<Box<dyn DataType>>
fn can_perform_explicit_cast_op_to(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform `Cast’ operator to Read more
Source§fn can_perform_like_op_with(&self) -> Vec<Box<dyn DataType>>
fn can_perform_like_op_with(&self) -> Vec<Box<dyn DataType>>
Return a list of types that it’s possible to perform unary `LIKE’ operator with
between current DataType and any one of them Read more
Auto Trait Implementations§
impl Freeze for ArrayType
impl !RefUnwindSafe for ArrayType
impl !Send for ArrayType
impl !Sync for ArrayType
impl Unpin for ArrayType
impl !UnwindSafe for ArrayType
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
Mutably borrows from an owned value. Read more