iceberg-cpp
Loading...
Searching...
No Matches
Classes | Namespaces | Macros
literal.h File Reference

Define typed literal values used by expressions. More...

#include <compare>
#include <memory>
#include <string>
#include <variant>
#include <vector>
#include "iceberg/iceberg_export.h"
#include "iceberg/result.h"
#include "iceberg/type.h"
#include "iceberg/util/decimal.h"
#include "iceberg/util/formattable.h"
#include "iceberg/util/int128.h"
#include "iceberg/util/uuid.h"

Go to the source code of this file.

Classes

class  iceberg::Literal
 Literal is a literal value that is associated with a primitive type. More...
 
struct  iceberg::Literal::BelowMin
 Sentinel value to indicate that the literal value is below the valid range of a specific primitive type. It can happen when casting a literal to a narrower primitive type. More...
 
struct  iceberg::Literal::AboveMax
 Sentinel value to indicate that the literal value is above the valid range of a specific primitive type. It can happen when casting a literal to a narrower primitive type. More...
 
struct  iceberg::LiteralValueHash
 Hash function for Literal to facilitate use in unordered containers. More...
 
struct  iceberg::LiteralHash
 
struct  iceberg::LiteralTraits< type_id >
 

Namespaces

namespace  iceberg
 Core Apache Iceberg C++ APIs.
 

Macros

#define DEFINE_LITERAL_TRAIT(TYPE_ID, VALUE_TYPE)
 

Detailed Description

Define typed literal values used by expressions.

Macro Definition Documentation

◆ DEFINE_LITERAL_TRAIT

#define DEFINE_LITERAL_TRAIT (   TYPE_ID,
  VALUE_TYPE 
)
Value:
template <> \
struct LiteralTraits<TypeId::TYPE_ID> { \
using ValueType = VALUE_TYPE; \
};