package toffee

  1. Overview
  2. Docs
CSS layout engine for OCaml (Flexbox, Grid, Block)

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mosaic-0.1.0.tbz
sha256=9e4e90d17f9b2af1b07071fe425bc2c519c849c4f1d1ab73cde512be2d874849
sha512=06e9c4a741590942e81a27738d0b5c0413fafec8cf3b7dae047ad69f155e7b718aa4223818dc161b7d028efffcfd3365905e264d6fd31d453910ddfa91dcf9b9

doc/src/toffee.tree/node_id.ml.html

Source file node_id.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
type t = { idx : int; gen : int }

let make idx = { idx; gen = 0 }
let make_with_generation idx gen = { idx; gen }
let to_int t = t.idx
let index t = t.idx
let generation t = t.gen
let equal lhs rhs = lhs.idx = rhs.idx && lhs.gen = rhs.gen

let compare lhs rhs =
  match Int.compare lhs.idx rhs.idx with
  | 0 -> Int.compare lhs.gen rhs.gen
  | non_zero -> non_zero

let pp fmt t = Format.fprintf fmt "NodeId(%d,%d)" t.idx t.gen

module Map = Map.Make (struct
  type nonrec t = t

  let compare = compare
end)

module Set = Set.Make (struct
  type nonrec t = t

  let compare = compare
end)