linc 0.7
Linc is a general-purpose programming language inspired by C
|
Classes | |
struct | _invalid_type |
struct | _void_type |
class | type |
Public Types | |
enum class | Kind : LINC_TYPES_KIND_TYPE { invalid , u8 , u16 , u32 , u64 , i8 , i16 , i32 , i64 , f32 , f64 , string , type , _char , _bool , _void } |
enum | Size : LINC_TYPES_KIND_TYPE { Zero = 0 , Byte = 1 , Word = 2 , DoubleWord = 4 , QuadWord = 8 } |
using | u8 = std::uint8_t |
using | u16 = std::uint16_t |
using | u32 = std::uint32_t |
using | u64 = std::uint64_t |
using | i8 = std::int8_t |
using | i16 = std::int16_t |
using | i32 = std::int32_t |
using | i64 = std::int64_t |
using | f32 = std::float32_t |
using | f64 = std::float64_t |
using | _char = char |
using | _bool = bool |
using | string = std::string |
using | Variant = std::variant<_invalid_type, _void_type, _bool, _char, u8, u16, u32, u64, i8, i16, i32, i64, f32, f64, string, type> |
using | TypeMap = std::unordered_map<std::string, Kind> |
Static Public Member Functions | |
template<typename To , typename From > | |
static const std::unique_ptr< To > | uniqueCastDynamic (std::unique_ptr< From > p) |
template<typename To , typename From > | |
static const std::unique_ptr< To > | uniqueCast (std::unique_ptr< From > p) |
static Variant | toVariant (Kind type, const std::string &value) |
static std::string | kindToString (Kind kind) |
static type | fromKind (Kind kind) |
static Kind | kindFromString (const std::string &value) |
static Kind | kindFromUserString (const std::string &value) |
static Kind | kindFromUserStringSuffix (const std::string &value) |
static Size | sizeFromKind (Kind kind) |
static Types::_bool | parseBoolean (const std::string &str) |
static Types::_char | parseUserCharacter (const std::string &str) |
static bool | isNumeric (Kind type) |
static bool | isIntegral (Kind type) |
static bool | isSigned (Kind type) |
static bool | isUnsigned (Kind type) |
static bool | isFloating (Kind type) |
Static Public Attributes | |
static type | voidType = Types::fromKind(Kind::_void) |
static type | invalidType = Types::fromKind(Kind::invalid) |