/src/wrappers/llvm/library/types/llvm_vector_type.e

http://github.com/tybor/Liberty · Specman e · 38 lines · 17 code · 3 blank · 18 comment · 0 complexity · 9635c9473ee1e028898d5ea8bb57a390 MD5 · raw file

  1. class LLVM_VECTOR_TYPE
  2. -- A type representing a vector
  3. inherit LLVM_SEQUENCE_TYPE
  4. create {ANY} make
  5. create {WRAPPER, WRAPPER_HANDLER} from_external_pointer
  6. feature {ANY} -- Creation
  7. make (a_type: LLVM_TYPE; a_count: NATURAL_32)
  8. -- Creates a vector type with `a_count' elements of `a_type'.
  9. require a_type/=Void
  10. do
  11. handle:=llvmvector_type(a_type.handle,a_count)
  12. end
  13. feature {ANY}
  14. size: NATURAL_32
  15. -- Size of current vector
  16. do
  17. Result:=llvmget_vector_size(handle)
  18. end
  19. invariant type_kind.is_vector_type_kind
  20. end -- class LLVM_VECTOR_TYPE
  21. -- Copyright (C) 2009-2017: Paolo Redaelli
  22. -- This file is part of LLVM wrappers for Liberty Eiffel.
  23. --
  24. -- This library is free software: you can redistribute it and/or modify
  25. -- it under the terms of the GNU Lesser General Public License as published by
  26. -- the Free Software Foundation, version 3 of the License.
  27. --
  28. -- Liberty Eiffel is distributed in the hope that it will be useful,
  29. -- but WITHOUT ANY WARRANTY; without even the implied warranty of
  30. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  31. -- GNU General Public License for more details.
  32. --
  33. -- You should have received a copy of the GNU General Public License
  34. -- along with Liberty Eiffel. If not, see <http://www.gnu.org/licenses/>.
  35. --