mirror of https://github.com/mono/CppSharp.git
c-sharpdotnetmonobindingsbridgecclangcpluspluscppsharpglueinteropparserparsingpinvokeswigsyntax-treevisitorsxamarinxamarin-bindings
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
2.1 KiB
176 lines
2.1 KiB
#pragma once |
|
|
|
#include <cstddef> |
|
#include <cstdint> |
|
|
|
void ReturnsVoid() {} |
|
|
|
std::nullptr_t ReturnsNullptr() |
|
{ |
|
return nullptr; |
|
} |
|
std::nullptr_t PassAndReturnsNullptr(std::nullptr_t t) |
|
{ |
|
return t; |
|
} |
|
|
|
bool ReturnsBool() |
|
{ |
|
return true; |
|
} |
|
bool PassAndReturnsBool(bool v) |
|
{ |
|
return v; |
|
} |
|
|
|
// Character types |
|
char ReturnsChar() |
|
{ |
|
return 'a'; |
|
} |
|
signed char ReturnsSChar() |
|
{ |
|
return 'a'; |
|
} |
|
unsigned char ReturnsUChar() |
|
{ |
|
return 'a'; |
|
} |
|
char PassAndReturnsChar(char v) |
|
{ |
|
return v; |
|
} |
|
signed char PassAndReturnsSChar(signed char v) |
|
{ |
|
return v; |
|
} |
|
unsigned char PassAndReturnsUChar(unsigned char v) |
|
{ |
|
return v; |
|
} |
|
|
|
|
|
wchar_t ReturnsWChar() |
|
{ |
|
return 'a'; |
|
} |
|
#if __cplusplus > 201703L |
|
char8_t ReturnsChar8() |
|
{ |
|
return 'a'; |
|
} |
|
#endif |
|
char16_t ReturnsChar16() |
|
{ |
|
return 'a'; |
|
} |
|
char32_t ReturnsChar32() |
|
{ |
|
return 'a'; |
|
} |
|
|
|
// Floating-point types |
|
float ReturnsFloat() |
|
{ |
|
return 5.0; |
|
} |
|
double ReturnsDouble() |
|
{ |
|
return -5.0; |
|
} |
|
long double ReturnsLongDouble() |
|
{ |
|
return -5.0; |
|
} |
|
|
|
float PassAndReturnsFloat(float v) |
|
{ |
|
return v; |
|
} |
|
double PassAndReturnsDouble(double v) |
|
{ |
|
return v; |
|
} |
|
long double PassAndReturnsLongDouble(long double v) |
|
{ |
|
return v; |
|
} |
|
|
|
// Integer types |
|
int8_t ReturnsInt8() |
|
{ |
|
return -5; |
|
} |
|
uint8_t ReturnsUInt8() |
|
{ |
|
return 5; |
|
} |
|
int16_t ReturnsInt16() |
|
{ |
|
return -5; |
|
} |
|
uint16_t ReturnsUInt16() |
|
{ |
|
return 5; |
|
} |
|
int32_t ReturnsInt32() |
|
{ |
|
return -5; |
|
} |
|
uint32_t ReturnsUInt32() |
|
{ |
|
return 5; |
|
} |
|
#if !defined(__EMSCRIPTEN__) |
|
int64_t ReturnsInt64() |
|
{ |
|
return -5; |
|
} |
|
uint64_t ReturnsUInt64() |
|
{ |
|
return 5; |
|
} |
|
#endif |
|
|
|
int8_t PassAndReturnsInt8(int8_t v) |
|
{ |
|
return v; |
|
} |
|
uint8_t PassAndReturnsUInt8(uint8_t v) |
|
{ |
|
return v; |
|
} |
|
int16_t PassAndReturnsInt16(int16_t v) |
|
{ |
|
return v; |
|
} |
|
uint16_t PassAndReturnsUInt16(uint16_t v) |
|
{ |
|
return v; |
|
} |
|
int32_t PassAndReturnsInt32(int32_t v) |
|
{ |
|
return v; |
|
} |
|
uint32_t PassAndReturnsUInt32(uint32_t v) |
|
{ |
|
return v; |
|
} |
|
int64_t PassAndReturnsInt64(int64_t v) |
|
{ |
|
return v; |
|
} |
|
uint64_t PassAndReturnsUInt64(uint64_t v) |
|
{ |
|
return v; |
|
} |
|
|
|
// Pointer types |
|
const char* ReturnsConstCharPtr() |
|
{ |
|
return "Hello"; |
|
} |
|
const char* PassAndReturnsConstCharPtr(const char* ptr) |
|
{ |
|
return ptr; |
|
}
|
|
|