Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

sized_vec

Module0xd5ea…ecde
Move path
0x859e…b7cb::sized_vec
Functions
2121 public, 0 entry
Structs
1
Friend modules
None
sized_vec

Bytecode264 lines

The on-chain disassembly. Offsets are bytecode positions within each function.

// Move bytecode v6
module 859eb18bd5b5e8cc32deb6dfb1c39941008ab3c6e27f0b8ce2364be7102bb7cb.sized_vec {
use 0000000000000000000000000000000000000000000000000000000000000001::vector;
 
struct SizedVec<Ty0> has copy, drop, store {
capacity: u64,
vec: vector<Ty0>
}
 
public empty<Ty0>(Arg0: u64): SizedVec<Ty0> {
B0:
0MoveLoc[0](Arg0: u64)
1VecPack(10, 0)
2PackGeneric[0](SizedVec<Ty0>)
3Ret
}
 
public slack<Ty0>(Arg0: &SizedVec<Ty0>): u64 {
B0:
0CopyLoc[0](Arg0: &SizedVec<Ty0>)
1ImmBorrowFieldGeneric[0](SizedVec.capacity: u64)
2ReadRef
3MoveLoc[0](Arg0: &SizedVec<Ty0>)
4Call length<Ty0>(&SizedVec<Ty0>): u64
5Sub
6Ret
}
 
public capacity<Ty0>(Arg0: &SizedVec<Ty0>): u64 {
B0:
0MoveLoc[0](Arg0: &SizedVec<Ty0>)
1ImmBorrowFieldGeneric[0](SizedVec.capacity: u64)
2ReadRef
3Ret
}
 
public length<Ty0>(Arg0: &SizedVec<Ty0>): u64 {
B0:
0MoveLoc[0](Arg0: &SizedVec<Ty0>)
1ImmBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2VecLen(10)
3Ret
}
 
public borrow<Ty0>(Arg0: &SizedVec<Ty0>, Arg1: u64): &Ty0 {
B0:
0MoveLoc[0](Arg0: &SizedVec<Ty0>)
1ImmBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2MoveLoc[1](Arg1: u64)
3VecImmBorrow(10)
4Ret
}
 
public increase_capacity<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: u64) {
B0:
0CopyLoc[0](Arg0: &mut SizedVec<Ty0>)
1ImmBorrowFieldGeneric[0](SizedVec.capacity: u64)
2ReadRef
3MoveLoc[1](Arg1: u64)
4Add
5MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
6MutBorrowFieldGeneric[0](SizedVec.capacity: u64)
7WriteRef
8Ret
}
 
public decrease_capacity<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: u64) {
B0:
0CopyLoc[1](Arg1: u64)
1CopyLoc[0](Arg0: &mut SizedVec<Ty0>)
2FreezeRef
3Call length<Ty0>(&SizedVec<Ty0>): u64
4Le
5BrFalse(7)
B1:
6Branch(11)
B2:
7MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
8Pop
9LdConst[1](u64: 2)
10Abort
B3:
11CopyLoc[0](Arg0: &mut SizedVec<Ty0>)
12ImmBorrowFieldGeneric[0](SizedVec.capacity: u64)
13ReadRef
14MoveLoc[1](Arg1: u64)
15Sub
16MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
17MutBorrowFieldGeneric[0](SizedVec.capacity: u64)
18WriteRef
19Ret
}
 
public push_back<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: Ty0) {
B0:
0CopyLoc[0](Arg0: &mut SizedVec<Ty0>)
1ImmBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2VecLen(10)
3CopyLoc[0](Arg0: &mut SizedVec<Ty0>)
4ImmBorrowFieldGeneric[0](SizedVec.capacity: u64)
5ReadRef
6Lt
7BrFalse(9)
B1:
8Branch(13)
B2:
9MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
10Pop
11LdConst[0](u64: 1)
12Abort
B3:
13MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
14MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
15MoveLoc[1](Arg1: Ty0)
16VecPushBack(10)
17Ret
}
 
public borrow_mut<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: u64): &mut Ty0 {
B0:
0MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
1MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2MoveLoc[1](Arg1: u64)
3VecMutBorrow(10)
4Ret
}
 
public pop_back<Ty0>(Arg0: &mut SizedVec<Ty0>): Ty0 {
B0:
0MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
1MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2VecPopBack(10)
3Ret
}
 
public destroy_empty<Ty0>(Arg0: SizedVec<Ty0>) {
L1: loc0: vector<Ty0>
B0:
0MoveLoc[0](Arg0: SizedVec<Ty0>)
1UnpackGeneric[0](SizedVec<Ty0>)
2StLoc[1](loc0: vector<Ty0>)
3Pop
4MoveLoc[1](loc0: vector<Ty0>)
5VecUnpack(10, 0)
6Ret
}
 
public swap<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: u64, Arg2: u64) {
B0:
0MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
1MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2MoveLoc[1](Arg1: u64)
3MoveLoc[2](Arg2: u64)
4VecSwap(10)
5Ret
}
 
public singleton<Ty0>(Arg0: u64, Arg1: Ty0): SizedVec<Ty0> {
L2: loc0: vector<Ty0>
B0:
0VecPack(10, 0)
1StLoc[2](loc0: vector<Ty0>)
2MutBorrowLoc[2](loc0: vector<Ty0>)
3MoveLoc[1](Arg1: Ty0)
4VecPushBack(10)
5MoveLoc[0](Arg0: u64)
6MoveLoc[2](loc0: vector<Ty0>)
7PackGeneric[0](SizedVec<Ty0>)
8Ret
}
 
public reverse<Ty0>(Arg0: &mut SizedVec<Ty0>) {
B0:
0MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
1MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2Call vector::reverse<Ty0>(&mut vector<Ty0>)
3Ret
}
 
public append<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: SizedVec<Ty0>) {
L2: loc0: u64
L3: loc1: vector<Ty0>
B0:
0MoveLoc[1](Arg1: SizedVec<Ty0>)
1UnpackGeneric[0](SizedVec<Ty0>)
2StLoc[3](loc1: vector<Ty0>)
3StLoc[2](loc0: u64)
4CopyLoc[0](Arg0: &mut SizedVec<Ty0>)
5ImmBorrowFieldGeneric[0](SizedVec.capacity: u64)
6ReadRef
7MoveLoc[2](loc0: u64)
8Add
9CopyLoc[0](Arg0: &mut SizedVec<Ty0>)
10MutBorrowFieldGeneric[0](SizedVec.capacity: u64)
11WriteRef
12MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
13MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
14MoveLoc[3](loc1: vector<Ty0>)
15Call vector::append<Ty0>(&mut vector<Ty0>, vector<Ty0>)
16Ret
}
 
public is_empty<Ty0>(Arg0: &SizedVec<Ty0>): bool {
B0:
0MoveLoc[0](Arg0: &SizedVec<Ty0>)
1ImmBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2VecLen(10)
3LdU64(0)
4Eq
5Ret
}
 
public contains<Ty0>(Arg0: &SizedVec<Ty0>, Arg1: &Ty0): bool {
B0:
0MoveLoc[0](Arg0: &SizedVec<Ty0>)
1ImmBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2MoveLoc[1](Arg1: &Ty0)
3Call vector::contains<Ty0>(&vector<Ty0>, &Ty0): bool
4Ret
}
 
public index_of<Ty0>(Arg0: &SizedVec<Ty0>, Arg1: &Ty0): bool * u64 {
B0:
0MoveLoc[0](Arg0: &SizedVec<Ty0>)
1ImmBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2MoveLoc[1](Arg1: &Ty0)
3Call vector::index_of<Ty0>(&vector<Ty0>, &Ty0): bool * u64
4Ret
}
 
public remove<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: u64): Ty0 {
B0:
0MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
1MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2MoveLoc[1](Arg1: u64)
3Call vector::remove<Ty0>(&mut vector<Ty0>, u64): Ty0
4Ret
}
 
public insert<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: Ty0, Arg2: u64) {
B0:
0MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
1MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2MoveLoc[1](Arg1: Ty0)
3MoveLoc[2](Arg2: u64)
4Call vector::insert<Ty0>(&mut vector<Ty0>, Ty0, u64)
5Ret
}
 
public swap_remove<Ty0>(Arg0: &mut SizedVec<Ty0>, Arg1: u64): Ty0 {
B0:
0MoveLoc[0](Arg0: &mut SizedVec<Ty0>)
1MutBorrowFieldGeneric[1](SizedVec.vec: vector<Ty0>)
2MoveLoc[1](Arg1: u64)
3Call vector::swap_remove<Ty0>(&mut vector<Ty0>, u64): Ty0
4Ret
}
 
Constants [
0 => u64: 1
1 => u64: 2
]
}