CSC::Time::Absolute | Absolute time represented with milliseconds since epoch |
CSC::Build::Action | |
CSC::TypeTraits::AddPointer< T > | AddPointer adds a pointer qualification to a type T if it is not already a pointer |
CSC::TypeTraits::AddReference< T > | AddReference adds a reference qualifier to a type T if it is not already a reference |
CSC::AlignedStorage< N, Alignment > | A buffer of bytes with given alignment |
CSC::AlignedStorage< OpaqueCVSize, OpaqueCVAlignment > | |
CSC::AlignedStorage< OpaqueMutexSize, OpaqueMutexAlignment > | |
CSC::Process::StdStream::AlreadySetup | |
CSC::Build::Architecture | Build Architecture (Processor / Instruction set) |
CSC::ArenaMap< T > | A sparse vector keeping objects at a stable memory location |
CSC::ArenaMap< T >::ArenaMapIterator< MapType > | |
CSC::ArenaMapKey< T > | A sparse vector keeping objects at a stable memory location |
CSC::Array< T, N > | A contiguous sequence of elements kept inside its inline storage |
CSC::Reflection::TypeInfo::ArrayInfo | Holds extended type info for array-like types |
CSC::Reflection::ArrayWithSize< T, N > | A constexpr array |
CSC::Assert | Functions and macros to assert, exit() or abort() and capture backtraces |
CSC::AsyncBuffersPool | Holds a Span of AsyncBufferView (allocated by user) holding available memory for the streams |
CSC::AsyncBufferView | A Span of bytes memory to be read or written by async streams |
►CSC::AsyncCompletionData | Empty base struct for all AsyncRequest-derived CompletionData (internal) structs |
CSC::AsyncFileRead::CompletionData | Completion data for AsyncFileRead |
CSC::AsyncFileWrite::CompletionData | Completion data for AsyncFileWrite |
CSC::AsyncProcessExit::CompletionData | Completion data for AsyncProcessExit |
CSC::AsyncSocketAccept::CompletionData | Completion data for AsyncSocketAccept |
CSC::AsyncSocketReceive::CompletionData | Completion data for AsyncSocketReceive |
CSC::AsyncSocketSend::CompletionData | Completion data for AsyncSocketSend |
CSC::AsyncEventLoop | Asynchronous I/O (files, sockets, timers, processes, fs events, threads wake-up) (see Async) AsyncEventLoop pushes all AsyncRequest derived classes to I/O queues in the OS |
CSC::AsyncEventLoopMonitor | Monitors Async I/O events from a background thread using a blocking kernel function (no CPU usage on idle) |
CSC::AsyncKernelEvents | Allows user to supply a block of memory that will store kernel I/O events retrieved from AsyncEventLoop::runOnce |
CSC::AsyncPipeline | Pipes reads on SC::AsyncReadableStream to SC::AsyncWritableStream |
►CSC::AsyncReadableStream | Async source abstraction emitting data events in caller provided byte buffers |
►CSC::AsyncRequestReadableStream< AsyncFileRead > | |
CSC::ReadableFileStream | Uses an SC::AsyncFileRead to stream data from a file |
►CSC::AsyncRequestReadableStream< AsyncSocketReceive > | |
CSC::ReadableSocketStream | Uses an SC::AsyncFileWrite to stream data from a socket |
►CSC::AsyncDuplexStream | A stream that can both produce and consume buffers |
►CSC::AsyncTransformStream | A duplex stream that produces new buffers transforming received buffers |
CSC::AsyncZLibTransformStream | |
CSC::SyncZLibTransformStream | |
CSC::AsyncRequestReadableStream< AsyncRequestType > | |
►CSC::AsyncRequest | Base class for all async requests, holding state and type |
CSC::AsyncFileClose | Starts a file close operation, closing the OS file descriptor |
CSC::AsyncFilePoll | Starts an handle polling operation |
CSC::AsyncFileRead | Starts a file read operation, reading bytes from a file (or pipe) |
CSC::AsyncFileWrite | Starts a file write operation, writing bytes to a file (or pipe) |
CSC::AsyncLoopTimeout | Starts a Timeout that is invoked only once after expiration (relative) time has passed |
CSC::AsyncLoopWakeUp | Starts a wake-up operation, allowing threads to execute callbacks on loop thread |
CSC::AsyncLoopWork | Executes work in a thread pool and then invokes a callback on the event loop thread |
CSC::AsyncProcessExit | Starts monitoring a process, notifying about its termination |
CSC::AsyncSocketAccept | Starts a socket accept operation, obtaining a new socket from a listening socket |
CSC::AsyncSocketClose | Starts a socket close operation |
CSC::AsyncSocketConnect | Starts a socket connect operation, connecting to a remote endpoint |
CSC::AsyncSocketReceive | Starts a socket receive operation, receiving bytes from a remote endpoint |
CSC::AsyncSocketSend | Starts a socket send operation, sending bytes to a remote endpoint |
►CSC::AsyncResult | Base class for all async results (argument of completion callbacks) |
►CSC::AsyncResultOf< AsyncFileRead, CompletionData > | |
CSC::AsyncFileRead::Result | Callback result for AsyncFileRead |
►CSC::AsyncResultOf< AsyncFileWrite, CompletionData > | |
CSC::AsyncFileWrite::Result | Callback result for AsyncFileWrite |
►CSC::AsyncResultOf< AsyncProcessExit, CompletionData > | |
CSC::AsyncProcessExit::Result | Callback result for AsyncProcessExit |
►CSC::AsyncResultOf< AsyncSocketAccept, CompletionData > | |
CSC::AsyncSocketAccept::Result | Callback result for AsyncSocketAccept |
►CSC::AsyncResultOf< AsyncSocketReceive, CompletionData > | |
CSC::AsyncSocketReceive::Result | Callback result for AsyncSocketReceive |
CSC::AsyncResultOf< T, C > | Helper holding CompletionData for a specific AsyncRequest-derived class |
►CSC::AsyncTask | Holds (reference to) a SC::ThreadPool and SC::ThreadPool::Task to execute an SC::AsyncRequest in a background thread This object lifetime is the same as the SC::AsyncRequest it's associated with, like SC::AsyncFileRead or SC::AsyncFileWrite |
CSC::AsyncTaskOf< AsyncType > | Create an async Callback result for a given AsyncRequest-derived class |
►CSC::AsyncWritableStream | Async destination abstraction where bytes can be written to |
►CSC::AsyncRequestWritableStream< AsyncFileWrite > | |
CSC::WritableFileStream | Uses an SC::AsyncFileWrite to stream data to a file |
►CSC::AsyncRequestWritableStream< AsyncSocketSend > | |
CSC::WritableSocketStream | Uses an SC::AsyncFileWrite to stream data to a socket |
CSC::AsyncDuplexStream | A stream that can both produce and consume buffers |
CSC::AsyncRequestWritableStream< AsyncRequestType > | |
CSC::Atomic< T > | Atomic variables (only for int and bool for now) |
CSC::Build::Compile | Compilation switches (include paths, preprocessor defines, etc.) |
CSC::TypeTraits::Conditional< B, T, F > | Conditional defines a type to be T if a boolean value is true , F otherwise |
CSC::ConditionVariable | A native OS condition variable |
CSC::Build::Configuration | Groups SC::Build::CompileFlags and SC::Build::LinkFlags for a given SC::Build::Architecture |
CSC::Console | Writes to console using SC::StringFormat |
CSC::FileSystem::CopyFlags | Specify copy options like overwriting existing files |
CSC::FileSystem::CopyOperation | Specify source, destination and flags for a copy operation |
CSC::Deferred< F > | Executes a function at end of current scope (in the spirit of Zig defer keyword) |
CSC::Build::Definition | Top level build description holding all Workspace objects |
CSC::Build::DefinitionCompiler | Caches file paths by pre-resolving directory filter search masks |
CSC::Build::Directories | |
CSC::Reflection::TypeInfo::EmptyInfo | Holds no extended type info |
CSC::Reflection::FlatSchemaBuilder::EmptyVTables | |
CSC::TypeTraits::EnableIf< B, T > | EnableIf conditionally defines a type if a boolean template parameter is true |
CSC::FileSystemIterator::Entry | Contains information on a file or directory |
CSC::TaggedUnion< Union >::EnumToType< wantedEnum, StartIndex > | Extracts type T corresponding to enumeration wantedEnum at compile time |
CSC::FileSystemWatcher::EventLoopRunner | Delivers notifications using Async (SC::AsyncEventLoop) |
CSC::EventObject | An automatically reset event object to synchronize two threads |
CSC::ProcessDescriptor::ExitStatus | |
CSC::Reflection::ExtendedStructTypeInfo< T > | Visit all struct members to gather sum of their sizes (helper for IsPacked) |
CSC::Reflection::ExtendedTypeInfo< T, SFINAESelector > | Class template used to check if a given type IsPacked property is true at compile time |
CSC::Build::Project::File | Project list of files |
CSC::File | Wraps a SC::FileDescriptor to open it and use strings / containers |
CSC::FileSystem::FileStat | A structure to describe modified time |
CSC::FileSystem | Execute fs operations { exists, copy, delete } for { files and directories } |
CSC::FileSystemDirectories | Reports location of system directories (executable / application root) |
CSC::FileSystemIterator | Iterates files and directories inside a given path |
CSC::FileSystemWatcher | Notifies about events (add, remove, rename, modified) on files and directories |
CSC::FileSystemWatcher::FolderWatcher | Represents a single folder being watched |
CSC::Function< FuncType > | Wraps function pointers, member functions and lambdas without ever allocating |
CSC::Build::Generator | Build system generator (Xcode / Visual Studio) |
CSC::Hashing | Compute MD5, SHA1 or SHA256 hash for stream of data |
CSC::HeapBuffer | A move-only owned buffer of bytes |
CSC::Time::HighResolutionCounter | An high resolution time counter |
CSC::HttpClient | Http async client |
CSC::HttpParser | Incremental HTTP request or response parser |
CSC::HttpRequest | Http request received from a client |
CSC::HttpResponse | Http response that will be sent to a client |
CSC::HttpServer | Async Http server |
CSC::HttpURLParser | Parse an URL splitting it into its base components |
CSC::HttpWebServer | Http web server helps statically serves files from a directory |
CSC::Process::StdOut::Ignore | |
CSC::Process::StdIn::Inherit | |
CSC::Process::StdOut::Inherit | |
CSC::IntrusiveDoubleLinkedList< T > | An Intrusive Double Linked List |
CSC::TypeTraits::IsConst< T > | IsConst evaluates to true if the provided type T is const , false otherwise |
CSC::TypeTraits::IsLValueReference< T > | Determines if a type is an lvalue reference |
CSC::Reflection::IsPrimitive< T > | Checks if a given type is primitive |
CSC::TypeTraits::IsReference< T > | IsReference evaluates to true if the type T is a reference, false otherwise |
CSC::TypeTraits::IsRValueReference< T > | Determines if a type is an rvalue reference |
CSC::TypeTraits::IsSame< T, U > | IsSame evaluates to true if the provided types T and U are the same, false otherwise |
CSC::TypeTraits::IsTriviallyCopyable< T > | IsTriviallyCopyable evaluates to true if the type T can be trivially copied, false otherwise |
CSC::Build::Link | Linking switches (library paths, LTO etc.) |
CSC::MaxValue | An object that can be converted to any primitive type providing its max value |
CSC::Reflection::TypeInfo::MemberInfo | Holds extended type info for members of struct |
CSC::Memory | Centralized functions to allocate, reallocate and deallocate memory |
CSC::Time::Milliseconds | Type-safe wrapper of uint64 used to represent milliseconds |
CSC::Mutex | A native OS mutex to synchronize access to shared resources |
CSC::Build::Compile::NameDescription | Two StringViews representing name and description |
CSC::FileSystemWatcher::Notification | Notification holding type and path |
CSC::OpaqueObject< Definition > | Hides implementation details from public headers (static PIMPL) |
CSC::OpaqueObject< InternalDefinition > | |
CSC::File::OpenOptions | Additional flags to be set when opening files |
CSC::OperatingSystem | Holds information about operating system |
CSC::Build::Optimization | Optimization level (Debug / Release) |
CSC::AsyncEventLoop::Options | Options given to AsyncEventLoop::create |
CSC::FileSystemIterator::Options | Options when iterating (recursive and other options) |
CSC::Process::Options | |
CSC::SerializationJson::Options | Formatting options |
CSC::Build::Parameters | Describes a specific set of platforms, architectures and build generators to generate projects for |
CSC::Path::ParsedView | Holds the various parsed components of a path |
CSC::Time::Absolute::ParseResult | Holds information on a parsed absolute time from Absolute::parseLocal |
CSC::Path | Represents a posix or windows file system path |
CSC::PipeDescriptor | Read / Write pipe (Process stdin/stdout and IPC communication) |
CSC::Build::Platform | Build Platform (Operating System) |
CSC::PluginCastInterface< PluginClass, InterfaceClasses > | |
CSC::PluginCastInterface< PluginClass > | |
CSC::PluginCastInterface< PluginClass, InterfaceClass, InterfaceClasses... > | |
CSC::PluginCompiler | Compiles a plugin to a dynamic library |
CSC::PluginCompilerEnvironment | Reads and holds CFLAGS and LDFLAGS environment variables, mainly to pass down sysroot location |
CSC::PluginDefinition | Plugin description, category, dependencies, files and directory location |
CSC::PluginDynamicLibrary | A plugin dynamic library loaded from a SC::PluginRegistry |
CSC::PluginFile | Holds path to a given plugin source file |
CSC::PluginIdentity | Represents the unique signature / identity of a Plugin |
CSC::PluginRegistry | Holds a registry of plugins, loading and compiling them on the fly |
CSC::PluginScanner | Scans a directory for PluginDefinition |
CSC::PluginSysroot | Holds include and library paths for a system toolchain, used to let plugins link to libc and libc++ |
CSC::Path::Posix | |
CSC::Process | Execute a child process with standard file descriptors redirection |
CSC::ProcessChain | Execute multiple child processes chaining input / output between them |
CSC::ProcessEnvironment | Reads current process environment variables |
CSC::ProcessID | Native os handle to a process identifier |
CSC::Build::Project | Groups multiple Configuration and source files with their compile and link flags |
CSC::Reflection::Reflect< T > | Basic class template that must be partially specialized for each type |
CSC::Reflection::ReflectPrimitive | Base struct for all primitive types |
CSC::Reflection::ReflectStruct< Type > | |
CSC::Reflection::ReflectStruct< VectorMap< Key, Value, Container > > | |
CSC::Time::Relative | Interval of time represented with 64 bit double precision float |
CSC::TypeTraits::RemoveConst< T > | RemoveConst removes the const qualification from a type T |
CSC::TypeTraits::RemovePointer< T > | RemovePointer removes the pointer qualification from a type T |
CSC::TypeTraits::RemoveReference< T > | Removes reference from a type T |
CSC::StringBuilder::ReplacePair | Holds a search / replace pair for StringBuilder::appendReplaceMultiple |
CSC::AsyncReadableStream::Request | |
CSC::AsyncWritableStream::Request | |
CSC::Hashing::Result | |
CSC::Result | An ascii string used as boolean result. SC_TRY macro forwards errors to caller |
CSC::TypeTraits::ReturnType< R > | ReturnType extracts the return type from different forms of function types |
CSC::TypeTraits::SameConstnessAs< U, T > | SameConstnessAs modifies type T to have the const-qualification of U |
Csc_hashing_result_t | Hash result |
Csc_hashing_span_t | Just a generic data span |
Csc_hashing_t | Opaque object holding state of hashing |
CSC::Reflection::SchemaBuilder< TypeVisitor > | Common code for derived class to create a SchemaBuilder suitable for SC::Reflection::SchemaCompiler |
►CSC::Reflection::SchemaBuilder< FlatSchemaBuilder > | |
CSC::Reflection::FlatSchemaBuilder | A schema builder that doesn't build any virtual table |
CSC::Reflection::SchemaCompiler< SchemaBuilder > | Creates a schema linking a series of SchemaType |
CSC::Reflection::SchemaType< TypeVisitor > | Holds together a TypeInfo, a StringView and a type-erased builder function pointer |
CSC::Time::Seconds | Type-safe wrapper of uint64 used to represent seconds |
CSC::SerializationBinary | Loads or writes binary data with its associated reflection schema from or into a C++ object |
CSC::SerializationBinaryOptions | Conversion options for the binary versioned deserializer |
CSC::SerializationBinaryTypeErased | Loads or writes binary data with its associated reflection schema from or into a C++ object |
CSC::SerializationJson | SC::SerializationJson reads or writes C++ structures to / from json using Reflection information |
CSC::Algorithms::smallerThan< T > | Functor that evaluates to a < b |
CSC::SocketClient | Use a SocketDescriptor as a client (example a TCP or UDP socket client) |
CSC::SocketDNS | Synchronous DNS Resolution |
CSC::SocketFlags | Flags for SocketDescriptor (Blocking / Inheritable, IPVx, SocketType) |
CSC::SocketIPAddress | Native representation of an IP Address |
CSC::SocketNetworking | Networking globals initialization (Winsock2 WSAStartup) |
CSC::SocketServer | Use a SocketDescriptor as a Server (example TCP or UDP Socket Server) |
CSC::Span< Type > | View over a contiguous sequence of items (pointer + size in elements) |
CSC::SpanString | An writable view over an ASCII string (to avoid including Strings library) |
CSC::SpanStringView | An read-only view over an ASCII string (to avoid including Strings library) |
►CSC::Process::StdStream | |
CSC::Process::StdIn | |
CSC::Process::StdOut | |
►CSC::String | A non-modifiable owning string with associated encoding |
CSC::SmallString< 30 > | |
CSC::SmallString< N > | String with compile time configurable inline storage (small string optimization) |
CSC::StringAlgorithms | Algorithms operating on strings (glob / wildcard) |
CSC::StringBuilder | Builds String out of a sequence of StringView or formatting through StringFormat |
CSC::StringConverter | Converts String to a different encoding (UTF8, UTF16) |
CSC::StringFormat< RangeIterator > | Formats String with a simple DSL embedded in the format string |
CSC::StringFormatOutput | Allows pushing results of StringFormat to a buffer or to the console |
CSC::StringIterator< CharIterator > | A position inside a fixed range [start, end) of UTF code points |
►CSC::StringIterator< StringIteratorASCII > | |
CSC::StringIteratorASCII | A string iterator for ASCII strings |
►CSC::StringIterator< StringIteratorUTF16 > | |
CSC::StringIteratorUTF16 | A string iterator for UTF16 strings |
►CSC::StringIterator< StringIteratorUTF8 > | |
CSC::StringIteratorUTF8 | A string iterator for UTF8 strings |
CSC::StringIteratorSkipTable | Builds a constexpr bool skip table of 256 entries used in some parsers |
CSC::StringView | Non-owning view over a range of characters with UTF Encoding |
CSC::StringViewTokenizer | Splits a StringView in tokens according to separators |
CSC::StrongID< TagType, IDType, InvalidValue > | Strongly typed ID (cannot be assigned incorrectly to another ID) |
CSC::StrongID< Tag > | |
CSC::Reflection::TypeInfo::StructInfo | Holds extended type info for structs |
CSC::Reflection::Sv | A minimal ASCII StringView with shortened name to be used in TypeToString |
CSC::AsyncBufferView::Tag | |
►CTaggedMap | |
CSC::Build::CompileFlags | Map of SC::Build::Compile flags (include paths, preprocessor defines etc.) |
CSC::Build::LinkFlags | Map of SC::Build::Link flags (library paths, LTO switch etc.) |
CSC::TaggedType< EnumType, enumValue, MemberType > | Associate a Type to an Enum, as required by TaggedUnion |
CSC::TaggedUnion< Union > | Type safe union with an enum type, where each type has an associated enum value |
CSC::Build::TargetType | Type of target artifact to build (executable, library) |
CSC::TestCase | A test case that can be split into multiple sections |
CSC::TestReport | Collects multiple TestCase and reports their results |
CSC::Thread | A native OS thread |
CSC::ThreadPool | Simple thread pool that executes tasks in a fixed number of worker threads |
CSC::ThreadPoolTask | A small task containing a function to execute that can be queued in the thread pool |
CSC::Reflection::TypeInfo | [reflectionSnippet3] |
CSC::TypeTraits::TypeList< TT > | Represents a variadic template type list |
CSC::TypeTraits::TypeListGet< T, N, M > | Retrieves the type at the specified index in the TypeList |
CSC::Reflection::TypeToString< T > | Strips down class name produced by ClNm to reduce binary size (from C++17 going forward) |
CSC::UniqueHandle< Definition > | Move only handle that has a special tag value flagging its invalid state |
CSC::UniqueHandle< AsyncWinWaitDefinition > | |
►CSC::UniqueHandle< detail::ProcessDescriptorDefinition > | |
CSC::ProcessDescriptor | Wraps an OS Process descriptor |
►CSC::UniqueHandle< detail::SocketDescriptorDefinition > | |
CSC::SocketDescriptor | Low-level OS socket handle |
►CSC::UniqueHandle< SC::detail::FileDescriptorDefinition > | |
CSC::FileDescriptor | File Descriptor (use SC::File to open and use it with strings and containers) |
►CSC::Vector< T > | A contiguous sequence of heap allocated elements |
CSC::SmallVector< T, N > | A Vector that can hold up to N elements inline and > N on heap |
CSC::Vector< SC::VectorMapItem< Key, Value > > | |
CSC::Vector< Value > | |
CSC::Reflection::VectorArrayVTable< MemberVisitor, Container, ItemType, N > | |
CSC::VectorMap< Key, Value, Container > | A map holding VectorMapItem key-value pairs in an unsorted Vector |
CSC::VectorMapItem< Key, Value > | The single item of VectorMap, holding a Key and Value |
CSC::VectorSet< Value, Container > | A set built on an unsorted Vector, ensuring no item duplication |
CSC::Build::Configuration::VisualStudio | Visual Studio platform toolset |
CSC::Path::Windows | |
CSC::Build::Workspace | Groups multiple Project together with shared compile and link flags |
CSC::Reflection::WritableRange< Type > | A writable span of objects |