mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Namespaces | Macros | Functions | Variables
Type.hpp File Reference
#include <exception>
#include <functional>
#include <mutable/util/fn.hpp>
#include <mutable/util/macro.hpp>
#include <mutable/util/Pool.hpp>
#include <mutable/util/Visitor.hpp>
#include <vector>
Include dependency graph for Type.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  std::hash< m::Type >
 
struct  m::Type
 This class represents types in the SQL type system. More...
 
struct  m::PrimitiveType
 PrimitiveTypes represent Types of values. More...
 
struct  m::ErrorType
 This Type is assigned when parsing of a data type fails or when semantic analysis detects a type error. More...
 
struct  m::NoneType
 A Type that represents the absence of any other type. More...
 
struct  m::Boolean
 The boolean type. More...
 
struct  m::Bitmap
 The bitmap type. More...
 
struct  m::CharacterSequence
 The type of character strings, both fixed length and varying length. More...
 
struct  m::Date
 The date type. More...
 
struct  m::DateTime
 The date type. More...
 
struct  m::Numeric
 The numeric type represents integer and floating-point types of different precision and scale. More...
 
struct  m::FnType
 The function type defines the type and count of the arguments and the type of the return value of a SQL function. More...
 

Namespaces

namespace  m
 

‍mutable namespace


 
namespace  std
 STL namespace.
 

Macros

#define category_t(X)   X(TY_Scalar) X(TY_Vector)
 
#define kind_t(X)   X(N_Int) X(N_Float) X(N_Decimal)
 
#define M_TYPE_LIST(X)
 

Functions

template<typename T >
bool M_EXPORT m::is_convertible (const Type *attr)
 
bool M_EXPORT m::is_comparable (const Type *first, const Type *second)
 Returns true iff both types have the same PrimitiveType, i.e.
 
template<typename T >
const PrimitiveType *M_EXPORT m::get_runtime_type ()
 Returns the internal runtime Type of mu*t*able for the compile-time type T.
 
const Numericm::arithmetic_join (const Numeric *lhs, const Numeric *rhs)
 
 m::M_DECLARE_VISITOR (TypeVisitor, Type, M_TYPE_LIST) M_DECLARE_VISITOR(ConstTypeVisitor
 
template<typename T >
bool m::is_convertible (const Type *ty)
 
template<typename T >
const PrimitiveType * m::get_runtime_type ()
 Returns the internal runtime Type of mu*t*able for the compile-time type T.
 

Variables

const m::Type
 

Macro Definition Documentation

◆ category_t

#define category_t (   X)    X(TY_Scalar) X(TY_Vector)

Definition at line 47 of file Type.hpp.

◆ kind_t

#define kind_t (   X)    X(N_Int) X(N_Float) X(N_Decimal)

Definition at line 402 of file Type.hpp.

◆ M_TYPE_LIST

#define M_TYPE_LIST (   X)
Value:
X(ErrorType) \
X(NoneType) \
X(Boolean) \
X(Bitmap) \
X(CharacterSequence) \
X(Date) \
X(DateTime) \
X(Numeric) \
X(FnType)
#define X(Kind)
Definition: Operator.hpp:621

Definition at line 486 of file Type.hpp.