Skip to content

Types

A list of all built-in types and what they translate to in the different target languages.

bool

boolean type

Target Typename Boxed
cpp bool
cppcli bool
java boolean Boolean
objc BOOL NSNumber

i8

8 bit integer type

Target Typename Boxed
cpp int8_t
cppcli char
java byte Byte
objc int8_t NSNumber

i16

16 bit integer type

Target Typename Boxed
cpp int16_t
cppcli short
java short Short
objc int16_t NSNumber

i32

32 bit integer type

Target Typename Boxed
cpp int32_t
cppcli int
java int Integer
objc int32_t NSNumber

i64

64 bit integer type

Target Typename Boxed
cpp int64_t
cppcli __int64
java long Long
objc int64_t NSNumber

f32

float type

Target Typename Boxed
cpp float
cppcli float
java float Float
objc float NSNumber

f64

double type

Target Typename Boxed
cpp double
cppcli double
java double Double
objc double NSNumber

string

UTF-8 string type

Target Typename Boxed
cpp std::string
cppcli System::String
java String String
objc NSString NSString

binary

binary data

Target Typename Boxed
cpp std::vector<uint8_t>
cppcli array<System::Byte>
java byte[] byte[]
objc NSData NSData

date

point in time without timezone information in millisecond precision

Target Typename Boxed
cpp std::chrono::system_clock::time_point
cppcli System::DateTime
java java.time.Instant java.time.Instant
objc NSDate NSDate

list<T>

a list of items of type T

Target Typename Boxed
cpp std::vector<T>
cppcli System::Collections::Generic::List<T>
java java.util.ArrayList<T> java.util.ArrayList
objc NSArray<T> NSArray

set<T>

a set of unique items of type T

Target Typename Boxed
cpp std::unordered_set<T>
cppcli System::Collections::Generic::HashSet<T>
java java.util.HashSet<T> java.util.HashSet
objc NSSet<T> NSSet

map<K, V>

a map of key-value pairs of type K, V

Target Typename Boxed
cpp std::unordered_map<K, V>
cppcli System::Collections::Generic::Dictionary<K, V>
java java.util.HashMap<K, V> java.util.HashMap
objc NSDictionary<K, V> NSDictionary