Reduct  v4.0.5-1-g4851deb
A functional and immutable language.
Loading...
Searching...
No Matches
reduct_item_t Struct Reference

Item structure. More...

#include <item.h>

Collaboration diagram for reduct_item_t:

Public Member Functions

 _Atomic (reduct_item_flags_t) flags
 Flags for the item.
 

Data Fields

uint32_t position
 The position in the input buffer where the item was parsed.
 
reduct_item_type_t type
 The type of the item.
 
reduct_input_id_t inputId
 The input ID of the item.
 
union { 
 
   uint32_t   length 
 Common length for the item. (Stored in the union due to padding rules.) More...
 
   reduct_atom_t   atom 
 An atom. More...
 
   reduct_arena_t   arena 
 An arena. More...
 
   reduct_list_t   list 
 A list. More...
 
   reduct_function_t   function 
 A function. More...
 
   reduct_closure_t   closure 
 A closure. More...
 
   reduct_rvsdg_node_t   rvsdgNode 
 An ir node. More...
 
   reduct_rvsdg_edge_t   rvsdgEdge 
 An ir edge. More...
 
   reduct_rvsdg_region_t   rvsdgRegion 
 An ir region. More...
 
   reduct_rvsdg_user_t   rvsdgUser 
 An ir user. More...
 
   reduct_rvsdg_origin_t   rvsdgOrigin 
 An ir origin. More...
 
   reduct_future_t   future 
 A future. More...
 
   struct reduct_item *   free 
 The next free item in the free list. More...
 
   uint8_t   _raw [REDUCT_ITEM_PAYLOAD_MAX
 
};  
 

Detailed Description

Item structure.

Should be exactly 64 bytes for caching.

See also
Handle

Definition at line 58 of file item.h.

Member Function Documentation

◆ _Atomic()

reduct_item_t::_Atomic ( reduct_item_flags_t  )

Flags for the item.

Field Documentation

◆ position

uint32_t reduct_item_t::position

The position in the input buffer where the item was parsed.

Definition at line 60 of file item.h.

◆ type

reduct_item_type_t reduct_item_t::type

The type of the item.

Definition at line 62 of file item.h.

◆ inputId

reduct_input_id_t reduct_item_t::inputId

The input ID of the item.

Definition at line 63 of file item.h.

◆ length

uint32_t reduct_item_t::length

Common length for the item. (Stored in the union due to padding rules.)

Definition at line 65 of file item.h.

◆ atom

reduct_atom_t reduct_item_t::atom

An atom.

Definition at line 66 of file item.h.

◆ arena

reduct_arena_t reduct_item_t::arena

An arena.

Definition at line 67 of file item.h.

◆ list

reduct_list_t reduct_item_t::list

A list.

Definition at line 68 of file item.h.

◆ function

reduct_function_t reduct_item_t::function

A function.

Definition at line 69 of file item.h.

◆ closure

reduct_closure_t reduct_item_t::closure

A closure.

Definition at line 70 of file item.h.

◆ rvsdgNode

reduct_rvsdg_node_t reduct_item_t::rvsdgNode

An ir node.

Definition at line 71 of file item.h.

◆ rvsdgEdge

reduct_rvsdg_edge_t reduct_item_t::rvsdgEdge

An ir edge.

Definition at line 72 of file item.h.

◆ rvsdgRegion

reduct_rvsdg_region_t reduct_item_t::rvsdgRegion

An ir region.

Definition at line 73 of file item.h.

◆ rvsdgUser

reduct_rvsdg_user_t reduct_item_t::rvsdgUser

An ir user.

Definition at line 74 of file item.h.

◆ rvsdgOrigin

reduct_rvsdg_origin_t reduct_item_t::rvsdgOrigin

An ir origin.

Definition at line 75 of file item.h.

◆ future

reduct_future_t reduct_item_t::future

A future.

Definition at line 76 of file item.h.

◆ free

struct reduct_item* reduct_item_t::free

The next free item in the free list.

Definition at line 77 of file item.h.

◆ _raw

uint8_t reduct_item_t::_raw[REDUCT_ITEM_PAYLOAD_MAX]

Definition at line 78 of file item.h.

◆ [union]

union { ... } reduct_item_t

The documentation for this struct was generated from the following file: