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.Generic.List
Dictionary System.Collections.Generic.Dictionary
Hash set System.Collections.Generic.HashSet
Queue System.Collections.Generic.Queue

The following is a parial 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.