LibraryLink Utilities  3.0.1
Modern C++ wrapper over LibraryLink and WSTP
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CLLU::Async::BasicThreadPool< Queue >Simple thread pool class with a single queue
 CLLU::WS::CharTypeStruct< E >
 CLLU::MArgumentManager::CustomType< T >Helper structure that can be used to register user-defined argument types in LLU
 CLLU::DataNode< T >Wrapper over DataStoreNode structure from LibraryLink
 CLLU::DataStoreIteratorProxy input iterator over DataStoreNodes, when dereferenced yields GenericDataNode proxy objects
 CLLU::dependent_false< T >Get a type that inherits from false_type and ignores the template parameter completely
 CLLU::WS::DropExpr
 CLLU::WS::EndExpr
 CLLU::ErrorManager"Static" class responsible for error registration and throwing
 CLLU::Async::FunctionWrapperWraps an arbitrary callable object (possibly binding its arguments) to be evaluated later. The callable object, when called on provided arguments, must return void
 CLLU::GenericDataNodeBasic wrapper over DataStoreNode, provides class-like interface and conversion of the underlying value from MArgument to TypedArgument
 CLLU::WS::GetAs< E, T >Utility structure used to enforce receiving given value via WSStream with encoding E
 CLLU::MArgumentManager::Getter< T >Helper structure to fully customize the way MArgumentManager reads T as argument type
 CLLU::ImageInterfaceAbstract class that defines a basic set of operations on an image
 CLLU::ImageViewSimple, light-weight, non-owning wrappper over MImage
 CLLU::MContainer< MArgumentType::Image >MContainer specialization for MImage
 CLLU::Image< T >This is a class template, where template parameter T is the type of data elements. Image is derived from MArray
 CLLU::IterableContainer< T >Abstract class that provides iterators (c/r/begin and c/r/end methods) and subscript operator for any contiguous container
 CLLU::MArray< T >This is a class template, where template parameter T is the type of data elements. MArray is the base class for NumericArray, Tensor and Image
 CLLU::TypedImage< T >Typed interface for Image
 CLLU::Image< T >This is a class template, where template parameter T is the type of data elements. Image is derived from MArray
 CLLU::TypedNumericArray< T >Typed interface for NumericArray
 CLLU::NumericArray< T >This is a class template, where template parameter T is the type of data elements. NumericArray is derived from MArray
 CLLU::TypedTensor< T >Typed interface for Tensor
 CLLU::Tensor< T >This is a class template, where template parameter T is the type of data elements. Tensor is derived from MArray
 CLLU::NumericArrayTypedView< T >Simple, light-weight, non-owning wrappper over MNumericArray
 CLLU::IterableContainer< double >
 CLLU::MArray< double >
 CLLU::TypedTensor< double >
 CLLU::Tensor< double >
 CLLU::LibraryDataThis structure offers a static copy of WolframLibData accessible throughout the whole life of the DLL
 CLLU::LibraryLinkErrorClass representing an exception in paclet code
 CLLU::LoggerLogger class is responsible for sending log messages via WSTP to Mathematica
 CLLU::MArgumentManager::Managed< Container, Mode >Helper struct to "attach" a passing mode to container type when passing it as template argument to MArgumentManager::getTuple
 CLLU::ManagedExpressionStore< T >ManagedExpressionStore will keep track of instances of managed class T and will provide safe access to them
 CLLU::MArgumentManagerManages arguments exchanged between the paclet C++ code and LibraryLink interface
 CLLU::MArrayDimensionsHelper class that carries meta-information about container's size and dimensions
 CLLU::MContainer< Type, >MContainer is an abstract class template for generic containers. Only specializations shall be used
 CLLU::MContainerBase< Type >Template of the base class for all generic containers
 CLLU::MContainerBase< MArgumentType::DataStore >
 CLLU::MContainer< MArgumentType::DataStore >MContainer specialization for DataStore, provides basic list interface for the underlying raw DataStore
 CLLU::DataList< T >Top-level wrapper over LibraryLink's DataStore
 CLLU::MContainerBase< MArgumentType::Image >
 CLLU::MContainer< MArgumentType::Image >MContainer specialization for MImage
 CLLU::MContainerBase< MArgumentType::NumericArray >
 CLLU::MContainer< MArgumentType::NumericArray >MContainer specialization for MNumericArray
 CLLU::NumericArray< T >This is a class template, where template parameter T is the type of data elements. NumericArray is derived from MArray
 CLLU::MContainerBase< MArgumentType::SparseArray >
 CLLU::MContainer< MArgumentType::SparseArray >MContainer specialization for MSparseArray
 CLLU::SparseArray< T >Strongly typed wrapper for MSparseArray
 CLLU::MContainerBase< MArgumentType::Tensor >
 CLLU::MContainer< MArgumentType::Tensor >MContainer specialization for MTensor
 CLLU::Tensor< T >This is a class template, where template parameter T is the type of data elements. Tensor is derived from MArray
 CLLU::Tensor< double >
 CLLU::NameAdaptor< T >Iterator adaptor for DataList that makes begin() and end() return proxy iterators for node names
 CLLU::NodeIterator< T >Simple proxy input iterator that goes over a DataStore and returns proxy DataNodes when dereferenced
 CLLU::NodeNameIteratorSimple proxy input iterator that goes over a DataStore and returns node names when dereferenced
 CLLU::NodeValueIterator< T >Simple proxy input iterator that goes over a DataStore and returns node values of requested type when dereferenced
 CLLU::NumericArrayFromEnum< numericarray_data_t >Utility structure that matches an MNumericArray data type with corresponding C++ type
 CLLU::NumericArrayInterfaceAbstract class that defines a basic set of operations on a numeric array
 CLLU::MContainer< MArgumentType::NumericArray >MContainer specialization for MNumericArray
 CLLU::NumericArrayViewSimple, light-weight, non-owning, data-type-agnostic wrappper over MNumericArray
 CLLU::NumericArrayTypedView< T >Simple, light-weight, non-owning wrappper over MNumericArray
 CLLU::Async::PausableUtility class for pausable task queues
 CLLU::Async::GenericThreadPool< PoolQueue, LocalQueue >Thread pool class with support of per-thread queues and work stealing
 CLLU::PrimitiveWrapper< T >Small class that wraps a reference to MArgument and provides proper API to work with this MArgument
 CLLU::ProgressMonitorStores and updates current progress of computation in a location shared between the library and WL Kernel
 CLLU::WS::PutAsUtility structure used to enforce sending given value with encoding E via WSStream
 CLLU::MArgumentManager::Setter< T >Helper structure to fully customize the way MArgumentManager sets an object of type T as result of a library function
 CLLU::SharePolicyBase class for shared access policies on Windows
 CLLU::AlwaysReadExclusiveWriteDefault policy for Import/Export paclets - always allow reading, deny writing when we write
 CLLU::WS::StringTypeStruct< E >
 CLLU::WS::SymbolStructure representing any symbol in Wolfram Language
 CLLU::WS::BeginExpr
 CLLU::WS::FunctionStructure representing any function in Wolfram Language, i.e. a head plus number of arguments
 CLLU::WS::AssociationSpecial type of a Function which corresponds to the Association expression when exchanged with the Kernel via WSStream
 CLLU::WS::ListSpecial type of a Function which corresponds to the List expression when exchanged with the Kernel via WSStream
 CLLU::WS::MissingSpecial type of a Function which corresponds to the Missing expression when exchanged with the Kernel via WSStream
 CLLU::TensorInterfaceAbstract class that defines a basic set of operations on a tensor
 CLLU::MContainer< MArgumentType::Tensor >MContainer specialization for MTensor
 CLLU::TensorViewSimple, light-weight, non-owning wrappper over MTensor
 CLLU::Async::ThreadJoinerA guard for a vector of threads to make sure they are joined before their destruction. The developer must ensure that the lifetime a ThreadJoiner does not exceed the lifetime of the vector it guards
 CLLU::Async::ThreadsafeQueue< T >ThreadsafeQueue is a linked list of nodes which supports safe concurrent access to its head (removing elements) and tail (adding new elements)
 CLLU::ValueAdaptor< T >Iterator adaptor for DataList that makes begin() and end() return proxy iterators for node values
 CLLU::Async::WorkStealingQueue< BaseQueue >Wrapper class around a queue, that provides the interface for work stealing
 CLLU::WSStreamWrapper class over WSTP with a stream-like interface