Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 52d373275f
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 88 lines (70 sloc) 1.406 kb
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
note
description: "Summary description for {TYPE_VECTOR}."
author: ""
date: "$Date$"
revision: "$Revision$"

class
TYPE_VECTOR

create

make_from_pointer,
make

feature {NONE}

make_from_pointer (item_a: POINTER)
do
item := item_a
end

make
do
item := ctor_external
end

feature

push_back (x: TYPE_L)
do
push_back_external (item, x.item)
end

count: NATURAL_32
do
Result := count_external (item)
end

at (index: NATURAL_32): TYPE_L
require
index_in_range: index < count
do
create Result.make_from_pointer (at_external (item, index))
end

feature

item: POINTER

feature {NONE} -- Externals

at_external (item_a: POINTER; index: NATURAL_32): POINTER
external
"C++ inline use <vector>, %"llvm/Type.h%""
alias
"[
return (*((std::vector <llvm::Type *> *)$item_a)) [$index];
]"
end

count_external (item_a: POINTER): NATURAL_32
external
"C++ inline use <vector>, %"llvm/Type.h%""
alias
"[
return ((std::vector <llvm::Type *> *)$item_a)->size ();
]"
end

ctor_external: POINTER
external
"C++ inline use <vector>, %"llvm/Type.h%""
alias
"[
return new std::vector <llvm::Type *>;
]"
end

push_back_external (item_a: POINTER; x: POINTER)
external
"C++ inline use <vector>, %"llvm/Type.h%""
alias
"[
((std::vector <llvm::Type *> *)$item_a)->push_back ((llvm::Type *)$x);
]"
end
end
Something went wrong with that request. Please try again.