sric1.0

AtomicListDArrayFileSystemHashMapIOStreamBufferFileStreamLinkableLinkedListscErrorscWarnscInfoscDebugmakeUniqtoSharedautoMovetoWeaksharerawToOwnrefToOwnrawToRefunsafeCastWeakPtrAutoMoveSharedPtrfindModulenewInstancetypeOfcallPtrToVoidcallVoidToPtrcallInstanceToStringcallInstanceStringToBoolRFlagsRTypeKindRCommentRFieldRFuncRTypeRModuleasStrStringcurrentTimeMillisnanoTickssleepcurrentThreadIdhashCodecomparecopymaxminclampsc_assertverifymakePtrmakeValuePromiseTuple2Tuple3Tuple4OptionalArrayRef

structAtomicextern $<T : >

* To manage a object shared between threads with atomic updates

funget() : T

funset(t : T) : Void

funcompareAndSwap(expected : T, desired : T) : Void

taritListabstract extern

* A Inteface for DArray for dynamic reflection

fundataabstract () : raw* Void

funsizeabstract ()const : Int32

funclearabstract () : Void

funresizeabstract (size : Int32) : Void

structDArrayextern $<T : >

* Dynamic Array. DArray is a sequence container that encapsulates dynamic size arrays.

fundata() : raw* Void

funsize()const : Int32

funadd(d : T) : Void

funpop() : T

fungetoperator (i : Int32) : &T

funconstGet(i : Int32)const : const &T

fungetUncheckedunsafe (i : Int32) : &T

fungetPtr(i : Int32) : * T

funconstGetPtr(i : Int32)const : * const T

funsetoperator (i : Int32, d : T) : Void

funclear() : Void

funresize(size : Int32) : Void

funreserve(capacity : Int32) : Void

funremoveAt(i : Int32) : Void

funremoveRange(begin : Int32, end : Int32) : Void

funswap(t : &sric::DArray$) : Void

funisEmpty()const : Bool

funinsert(i : Int32, d : T) : Void

funinsertAll(i : Int32, t : sric::DArray$) : Void

funcopy()const : sric::DArray$

taritFileSystemabstract extern

* The FileSystem provides facilities for performing operations on file systems

funmkdirsextern static (path : const raw* const Int8) : Bool

funlistFilesextern static (path : const raw* const Int8, files : &sric::DArray$) : Bool

funexistsextern static (path : const raw* const Int8) : Bool

funisDirextern static (path : const raw* const Int8) : Bool

funfileSizeextern static (path : const raw* const Int8) : Int64

funmodifiedTimeextern static (path : const raw* const Int8) : UInt64

funmoveToextern static (src : const raw* const Int8, dst : const raw* const Int8) : Bool

funcopyToextern static (src : const raw* const Int8, dst : const raw* const Int8) : Bool

funremoveextern static (path : const raw* const Int8) : Bool

funisAbsoluteextern static (path : const raw* const Int8) : Bool

funcanonicalPathextern static (path : const raw* const Int8) : sric::String

funfileNameextern static (path : const raw* const Int8) : sric::String

fungetExtNameextern static (path : const raw* const Int8) : sric::String

fungetBaseNameextern static (path : const raw* const Int8) : sric::String

fungetParentPathextern static (path : const raw* const Int8) : sric::String

structHashMap$<K : , V : >

* HashMap is an associative container that contains key-value pairs with unique keys. Search, insertion, and removal of elements have average constant-time complexity.

funconstGet(k : const &K) : *? const V

fungetPtr(k : const &K) : *? V

fungetoperator (k : K) : &V

funsetoperator (k : K, v : V) : Bool

funsize()const : Int32

funclear() : Void

funremove(k : const &K) : Bool

funcontains(k : const &K)const : Bool

funeachWhile(f : fun(v : const &V, k : const &K):Bool)const : Void

* Return true to continue, Return false to break.

structIOStreamabstract extern

* IOStream is used to read write data. These abstract devices allow the same code to handle input/output to files, memory streams, or custom adaptor devices that perform arbitrary operations (e.g. compression) on the fly.

funcanRead() : Bool

funcanWrite() : Bool

funcanSeek() : Bool

funreadabstract (ptr : raw* Void, size : UInt32, count : UInt32) : UInt32

funwriteabstract (ptr : raw* Void, size : UInt32, count : UInt32) : UInt32

funreadLinevirtual (buf : raw* Int8, bufSize : Int32) : raw*? Int8

funeofvirtual () : Bool

funrewindvirtual () : Bool

funlengthabstract () : UInt32

funpositionabstract () : UInt32

funseekabstract (offset : UInt32) : Bool

funremaining() : UInt32

funsetByteOrder(littleEndian : Bool) : Void

fungetByteOrder() : Bool

* true if littleEndian

funflushvirtual () : Void

funclosevirtual () : Void

funpipeTovirtual (out : &sric::IOStream) : Int32

funwriteInt8(out : Int8) : Int32

funwriteInt16(out : Int16) : Int32

funwriteInt32(out : Int32) : Int32

funwriteInt64(out : Int64) : Int32

funwriteUInt8(out : UInt8) : Int32

funwriteUInt16(out : UInt16) : Int32

funwriteUInt32(out : UInt32) : Int32

funwriteUInt64(out : UInt64) : Int32

funwriteFloat32(out : Float32) : Int32

funwriteFloat64(out : Float64) : Int32

funreadUInt8() : UInt8

funreadUInt16() : UInt16

funreadUInt32() : UInt32

funreadUInt64() : UInt64

funreadInt8() : Int8

funreadInt16() : Int16

funreadInt32() : Int32

funreadInt64() : Int64

funreadFloat32() : Float32

funreadFloat64() : Float64

funwriteSizedStr(buf : &sric::String) : Void

funreadSizedStr() : sric::String

funwriteStr(buf : &sric::String) : Void

funreadAllStr() : sric::String

structBufferextern

funreadDirect() : raw* UInt8

fungetData() : raw* UInt8

funmakestatic (size : UInt32) : own*? sric::Buffer

structFileStreamextern

funopenstatic (path : const raw* const Int8, mode : const raw* const Int8) : own*? sric::FileStream

structLinkableabstract $<T : >

structLinkedList$<T : sric::Linkable$>

* LinkedList is a container that supports constant time insertion and removal of elements from anywhere in the container. Fast random access is not supported. It is usually implemented as a doubly-linked list.

funclear() : Void

funsize()const : Int32

funadd(elem : own* T) : Void

funinsert(elem : own* T) : Void

funinsertBefore(elem : own* T, pos : * T) : Void

funremove(elem : *? T) : Bool

funisEmpty()const : Bool

funconstFirst()const : *? const T

funfirst() : *? T

funlast() : *? T

funend() : *? T

funscErrorexternc (tag : raw* const Int8, msg : raw* const Int8, args : ...) : Void

funscWarnexternc (tag : raw* const Int8, msg : raw* const Int8, args : ...) : Void

funscInfoexternc (tag : raw* const Int8, msg : raw* const Int8, args : ...) : Void

funscDebugexternc (tag : raw* const Int8, msg : raw* const Int8, args : ...) : Void

structWeakPtrextern $<T : >

* WeakPtr is a smart pointer that holds a non-owning ("weak") reference to an object that is managed by own*. It must be converted to own* in order to access the referenced object.

funset(p : own*? T) : Void

funlock() : own*? T

structAutoMoveextern $<T : >

* Auto move the ownership

funset(p : &T) : Void

funtake() : T

funget() : &T

structSharedPtrextern $<T : >

* SharedPtr is a smart pointer with pointerreference counters

funset(p : own*? T) : Void

fungetOwn() : own*? T

fungetPtr() : *? T

funget() : &T

funisNull() : Bool

funmakeUniqextern $<T : >(args : ...) : uniq* T

funtoSharedextern $<T : >(p : &own* T) : sric::SharedPtr$

* Convert own* to SharedPtr

funautoMoveextern $<T : >(p : T) : sric::AutoMove$

* Convert own* to AutoMove

funtoWeakextern $<T : >(p : &own* T) : sric::WeakPtr$

* Convert own* to WeakPtr

funshareextern $<T : >(p : &own* T) : own* T

* Fork own* to share

funrawToOwnextern $<T : >(p : raw* T) : own* T

* Convert raw pointer to own pointer

funrefToOwnextern $<T : >(p : * T) : own* T

* Convert ref pointer to own pointer

funrawToRefextern $<T : >(p : raw* T) : * T

* Convert raw pointer to own pointer

fununsafeCastextern unsafe $<T : >(p : raw* Void) : T

* Convert pointer type unsafely

structRFlags

varAbstractstatic : const Int32

varConststatic : const Int32

varCtorstatic : const Int32

varUnsafestatic : const Int32

varExternstatic : const Int32

varOverridestatic : const Int32

varPrivatestatic : const Int32

varProtectedstatic : const Int32

varPublicstatic : const Int32

varStaticstatic : const Int32

varExternCstatic : const Int32

varNoncopyablestatic : const Int32

varVirtualstatic : const Int32

varStructstatic : const Int32

varExtensionstatic : const Int32

varMutablestatic : const Int32

varReadonlystatic : const Int32

varAsyncstatic : const Int32

varOverloadstatic : const Int32

varThrowsstatic : const Int32

varReflectstatic : const Int32

varInlinestatic : const Int32

varPackedstatic : const Int32

varConstExprstatic : const Int32

varOperatorstatic : const Int32

structRTypeKind

varStructstatic : const Int32

varEnumstatic : const Int32

varTaritstatic : const Int32

structRComment

vartypereadonly : Int32

varcontentreadonly : raw* const Int8

structRField

varflagsreadonly : Int32

varcommentsreadonly : sric::DArray$

varnamereadonly : raw* const Int8

varoffsetreadonly : Int32

varpointerreadonly : raw*? Void

varfieldTypereadonly : raw* const Int8

varbaseTypereadonly : raw* const Int8

varhasDefaultValuereadonly : Bool

varenumValuereadonly : Int32

structRFunc

varflagsreadonly : Int32

varcommentsreadonly : sric::DArray$

varnamereadonly : raw* const Int8

varpointerreadonly : raw* Void

varreturnTypereadonly : raw* const Int8

varreturnBaseTypereadonly : raw* const Int8

varparamsreadonly : sric::DArray$

vargenericParamsreadonly : sric::DArray$

structRType

varflagsreadonly : Int32

varcommentsreadonly : sric::DArray$

varnamereadonly : raw* const Int8

varkindreadonly : Int32

varctorreadonly : raw* Void

varenumToStrreadonly : raw* Void

varenumBasereadonly : raw*? const Int8

varfieldsreadonly : sric::DArray$

varfuncsreadonly : sric::DArray$

varsuperTypereadonly : raw*? const Int8

vartraitsreadonly : sric::DArray$

vargenericParamsreadonly : sric::DArray$

structRModule

varnamereadonly : raw* const Int8

varversionreadonly : raw* const Int8

varfieldsreadonly : sric::DArray$

varfuncsreadonly : sric::DArray$

vartypesreadonly : sric::DArray$

funfindModuleextern (name : raw* const Int8) : *? sric::RModule

* Find RModule by name

funnewInstanceextern (type : &sric::RType) : own*? Void

* Alloc new Object from RType

funtypeOfextern unsafe (t : raw* Void) : raw* const Int8

* Get type name by object. The object type must be virtual or abstruct.

funcallPtrToVoidextern unsafe (func : raw* Void, arg : raw* Void) : Void

funcallVoidToPtrextern unsafe (func : raw* Void) : raw* Void

funcallInstanceToStringextern unsafe (func : raw* Void, instance : raw* Void) : sric::String

funcallInstanceStringToBoolextern unsafe (func : raw* Void, instance : raw* Void, s : sric::String) : Bool

structStringextern

* String stores and manipulates sequences of character-like objects. * The String is always UTF-8 encoding.

func_str()const : raw* const Int8

* Get C style string

fundata() : raw* Int8

funsize()const : Int32

funcopy()const : sric::String

fungetoperator (i : Int32)const : Int8

funiequals(other : const &sric::String)const : Bool

funcontains(other : const &sric::String)const : Bool

funstartsWith(other : const &sric::String)const : Bool

funendsWith(other : const &sric::String)const : Bool

funfind(other : const &sric::String, start : Int32)const : Int32

funreplace(src : const &sric::String, dst : const &sric::String) : Void

funsplit(sep : const &sric::String)const : sric::DArray$

funsubstr(pos : Int32, len : Int32)const : sric::String

funplusoperator (other : const &sric::String)const : sric::String

funaddStr(str : const &sric::String) : Void

funadd(cstr : raw* const Int8) : Void

funaddChar(ch : Int8) : Void

funtrimEnd() : Void

funtrimStart() : Void

funtrim() : Void

funremoveLastChar() : Void

funtoLower()const : sric::String

funtoUpper()const : sric::String

funtoInt32()const : Int32

funtoInt64()const : Int64

funtoFloat32()const : Float32

funtoFloat64()const : Float64

funisEmpty()const : Bool

funhashCode()const : Int32

funcompareoperator (p : const &sric::String)const : Int32

funfromInt32extern static (i : Int32) : sric::String

funfromInt64extern static (i : Int64) : sric::String

funfromFloat64extern static (f : Float64) : sric::String

funfromFloat32extern static (f : Float32) : sric::String

funformatextern static (format : raw* const Int8, args : ...) : sric::String

* 'printf' style format

funfromCharstatic (c : Int32) : sric::String

* make from unicode char

fungetCharAt(bytePos : Int32, byteSize : raw*? Int32)const : Int32

* read unicode char from byte position

fungetChar(i : Int32)const : Int32

* get unicode char at char index

funcharCount()const : Int32

* return unicode char number

funasStrextern (cstr : raw* const Int8) : sric::String

* Convert C style string to String

funcurrentTimeMillisextern () : Int64

* return the milliseconds from midnight, January 1, 1970 UTC.

funnanoTicksextern () : Int64

* returns a relative time. * Typically it is the number of nanosecond ticks which have elapsed since system startup.

funsleepextern (millitm : Int64) : Void

* sleep current thread millitm second

funcurrentThreadIdextern () : UInt64

* Get current thread ID

structPromiseextern $<T : >

* Promise is a coroutine return type.

funget_result() : T

funis_done() : Bool

funthen(cb : fun(error : Int32, value : T)) : Void

funhashCodeextern $<T : >(p : const &T) : UInt32

funcompareextern $<T : >(a : const &T, b : const &T) : Int32

funcopyextern $<T : >(a : const &T) : T

* Common copy template. If own pointer call share() others call .copy() method.

funmax$<T : Float64>(a : T, b : T) : T

* Return the larger one.

funmin$<T : Float64>(a : T, b : T) : T

* Return the smaller one.

funclamp(v : Float64, min : Float64, max : Float64) : Float64

* Clamp between the min and max. If it's less than min then return min, if it's greater than max return max, otherwise return itself.

funsc_assertexternc (cond : Bool, msg : raw*? const Int8) : Void

* Enabled in debug mode. Verify that cond is true, otherwise print msg and abort.

funverifyextern (cond : Bool, msg : raw*? const Int8) : Void

* Verify that cond is true, otherwise print msg and abort.

funmakePtrextern $<T : >(args : ...) : own* T

* Alloc and call C++ ctor by args.

funmakeValueextern $<T : >(args : ...) : T

* Call C++ ctor by args.

structTuple2$<T1 : , T2 : >

var_0 : T1

var_1 : T2

structTuple3$<T1 : , T2 : , T3 : >

var_0 : T1

var_1 : T2

var_2 : T3

structTuple4$<T1 : , T2 : , T3 : , T4 : >

var_0 : T1

var_1 : T2

var_2 : T3

var_3 : T4

structOptionalextern $<T : >

* Optional represent either an expected value of type T or an unexpected error

funvalue() : &T

funhasValue()const : Bool

funerror() : Int32

funsetValue(t : T) : Void

funsetError(e : Int32) : Void

structArrayRefextern $<T : >

funinit(d : raw* T, s : Int32) : Void

fundata() : raw*? T

funsize() : Int32

fungetunsafe operator (i : Int32) : &T

funsetunsafe operator (i : Int32, d : T) : Void