Skip to content

Commit 042d5b4

Browse files
committed
refactor byte buf: make the type public
it's time to let the types roam free, people.
1 parent 94b67de commit 042d5b4

File tree

2 files changed

+28
-25
lines changed

2 files changed

+28
-25
lines changed

src/core/CCByte_buffer.ml

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
type 'a iter = ('a -> unit) -> unit
2-
type t = { mutable bytes: bytes; mutable sz: int }
2+
type t = { mutable bytes: bytes; mutable len: int }
33

44
let create ?(cap = 0) () : t =
55
let bytes =
@@ -8,13 +8,13 @@ let create ?(cap = 0) () : t =
88
else
99
Bytes.create cap
1010
in
11-
{ sz = 0; bytes }
11+
{ len = 0; bytes }
1212

1313
let[@inline] capacity self : int = Bytes.length self.bytes
1414
let[@inline] bytes self = self.bytes
15-
let[@inline] length self = self.sz
16-
let[@inline] is_empty self = self.sz = 0
17-
let[@inline] clear self = self.sz <- 0
15+
let[@inline] length self = self.len
16+
let[@inline] is_empty self = self.len = 0
17+
let[@inline] clear self = self.len <- 0
1818

1919
let grow_cap_ self =
2020
min Sys.max_string_length
@@ -24,7 +24,7 @@ let grow_cap_ self =
2424
let grow_to_ self newcap =
2525
if newcap = capacity self then invalid_arg "byte_buf: cannot grow further";
2626
let newbytes = Bytes.create newcap in
27-
Bytes.blit self.bytes 0 newbytes 0 self.sz;
27+
Bytes.blit self.bytes 0 newbytes 0 self.len;
2828
self.bytes <- newbytes
2929

3030
let[@inline never] grow_ self =
@@ -37,18 +37,18 @@ let ensure_cap self n =
3737
grow_to_ self newcap
3838
)
3939

40-
let shrink_to self n = if self.sz > n then self.sz <- n
40+
let shrink_to self n = if self.len > n then self.len <- n
4141

4242
let append_buf (self : t) buf : unit =
4343
let n = Buffer.length buf in
4444
ensure_cap self (length self + n);
45-
Buffer.blit buf 0 self.bytes self.sz n;
46-
self.sz <- self.sz + n
45+
Buffer.blit buf 0 self.bytes self.len n;
46+
self.len <- self.len + n
4747

4848
let append_subbytes self b off len =
4949
ensure_cap self (length self + len);
50-
Bytes.blit b off self.bytes self.sz len;
51-
self.sz <- self.sz + len
50+
Bytes.blit b off self.bytes self.len len;
51+
self.len <- self.len + len
5252

5353
let append_bytes self b = append_subbytes self b 0 (Bytes.length b)
5454
let append_string self s = append_bytes self (Bytes.unsafe_of_string s)
@@ -57,43 +57,43 @@ let append_substring self s off len =
5757
append_subbytes self (Bytes.unsafe_of_string s) off len
5858

5959
let[@inline] add_char_unsafe_ self c =
60-
Bytes.unsafe_set self.bytes self.sz c;
61-
self.sz <- self.sz + 1
60+
Bytes.unsafe_set self.bytes self.len c;
61+
self.len <- self.len + 1
6262

6363
let[@inline] add_char self c =
64-
if self.sz = capacity self then grow_ self;
64+
if self.len = capacity self then grow_ self;
6565
add_char_unsafe_ self c
6666

6767
let[@inline] unsafe_get self i = Bytes.unsafe_get self.bytes i
6868
let[@inline] unsafe_set self i c = Bytes.unsafe_set self.bytes i c
6969

7070
let[@inline] get self i =
71-
if i < 0 || i >= self.sz then invalid_arg "Byte_buf.get";
71+
if i < 0 || i >= self.len then invalid_arg "Byte_buf.get";
7272
unsafe_get self i
7373

7474
let[@inline] set self i c =
75-
if i < 0 || i >= self.sz then invalid_arg "Byte_buf.set";
75+
if i < 0 || i >= self.len then invalid_arg "Byte_buf.set";
7676
unsafe_set self i c
7777

78-
let[@inline] contents self = Bytes.sub_string self.bytes 0 self.sz
79-
let[@inline] contents_bytes self = Bytes.sub self.bytes 0 self.sz
78+
let[@inline] contents self = Bytes.sub_string self.bytes 0 self.len
79+
let[@inline] contents_bytes self = Bytes.sub self.bytes 0 self.len
8080
let[@inline] append_iter self i = i (add_char self)
8181
let[@inline] append_seq self seq = Seq.iter (add_char self) seq
8282

8383
let fold_left f acc self =
84-
let { bytes; sz } = self in
84+
let { bytes; len } = self in
8585

8686
(* capture current content *)
8787
let acc = ref acc in
88-
for i = 0 to sz do
88+
for i = 0 to len do
8989
acc := f !acc (Bytes.unsafe_get bytes i)
9090
done;
9191
!acc
9292

9393
let iter f self =
94-
let { bytes; sz } = self in
94+
let { bytes; len } = self in
9595
(* capture current content *)
96-
for i = 0 to sz do
96+
for i = 0 to len do
9797
f (Bytes.unsafe_get bytes i)
9898
done
9999

@@ -110,9 +110,9 @@ let of_iter iter =
110110
let to_iter self yield = iter yield self
111111

112112
let to_seq self =
113-
let { bytes; sz } = self in
113+
let { bytes; len } = self in
114114
let rec s i () =
115-
if i = sz then
115+
if i = len then
116116
Seq.Nil
117117
else
118118
Seq.Cons (Bytes.unsafe_get bytes i, s (i + 1))

src/core/CCByte_buffer.mli

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
@since 3.7
55
*)
66

7-
type t
7+
type t = { mutable bytes: bytes; mutable len: int }
8+
(** The byte buffer.
9+
The definition is public since NEXT_RELEASE *)
10+
811
type 'a iter = ('a -> unit) -> unit
912

1013
val create : ?cap:int -> unit -> t

0 commit comments

Comments
 (0)