Core Libraries
Beef core libraries overview
The basic standard Beef is called “corlib”, and provides access to basic utility types and access to general system functionality.
The following is a partial list of collection types provided by corlib.
| Category | Types |
|---|---|
| List | System.Collections.List |
| Dictionary | System.Collections.Dictionary |
| Hash set | System.Collections.HashSet |
| Queue | System.Collections.Queue |
The following is a partial list of the funtionality provided by corlib. See the complete API documentation for the full list.
| Category | Types |
|---|---|
| Strings | System.String System.StringView |
| Math | System.Math |
| Random | System.Random |
| Error handling | System.Result |
| Files and Directories | System.IO.File System.IO.FileStream System.IO.Directory System.IO.Path |
| Date and Time | System.DateTime |
| Timing | System.Diagnostics.Stopwatch |
| Sockets | System.Net.Socket |
| Threading | System.Threading.Thread System.Threading.ThreadPool System.Threading.Monitor System.Threading.WaitEvent |
| Atomic Operations | System.Threading.Interlocked |
| Console | System.Console |
| Debug helpers | System.Diagnostics.Debug |
| Hashing | System.Cryptography.MD5Hash System.Cryptography.SHA256 |
| Text Encoding | System.Text.Encoding |
| Multi-cast delegates | System.Event |
| FFI | System.FFI.FFILIB System.FFI.FFIType System.FFI.FFICaller |
| Windows API | System.Windows |
Multimedia libraries
The Beef IDE utilizes a windowing and multimedia library named Beefy2D. This library is only intended for use by the IDE and other internal Beef tools. This library is not documented or supported for this-party applications, and the API will change without regard for backwards compatibility. As such, other third-party libraries should be used by third-party applications.
One example of a third-party multimedia library is SDL2, whose use is illustrated in the included Beef samples.