Home
Graft module

Library

Loads a native plugin library and resolves its typed entrypoint.

Library

#include <icy/graft/graft.h>
class Library

Defined in src/graft/include/icy/graft/graft.h:100

Loads a native plugin library and resolves its typed entrypoint.

List of all members

NameKindOwner
LibraryfunctionDeclared here
~LibraryfunctionDeclared here
LibraryfunctionDeclared here
operator=functionDeclared here
LibraryfunctionDeclared here
operator=functionDeclared here
openfunctionDeclared here
closefunctionDeclared here
isOpenfunctionDeclared here
pathfunctionDeclared here
manifestfunctionDeclared here
requireSymbolAddressfunctionDeclared here
requireSymbolfunctionDeclared here
entrypointfunctionDeclared here
_libraryvariableDeclared here
_pathvariableDeclared here
_manifestvariableDeclared here
_openvariableDeclared here
loadManifestfunctionDeclared here

Public Methods

ReturnNameDescription
LibraryDefaulted constructor.
LibraryDeleted constructor.
LibraryDeleted constructor.
voidopen
voidclose noexcept
boolisOpen const noexcept
const std::string &path const noexcept
const Manifest &manifest const
void *requireSymbolAddress const
TrequireSymbol const inline
Tentrypoint const inline

Library

Library() = default

Defined in src/graft/include/icy/graft/graft.h:103

Defaulted constructor.


Library

Library(const Library &) = delete

Defined in src/graft/include/icy/graft/graft.h:106

Deleted constructor.


Library

Library(Library &&) = delete

Defined in src/graft/include/icy/graft/graft.h:108

Deleted constructor.


open

void open(const std::string & path)

Defined in src/graft/include/icy/graft/graft.h:111


close

noexcept

void close() noexcept

Defined in src/graft/include/icy/graft/graft.h:112


isOpen

const noexcept

bool isOpen() const noexcept

Defined in src/graft/include/icy/graft/graft.h:114


path

const noexcept

const std::string & path() const noexcept

Defined in src/graft/include/icy/graft/graft.h:115


manifest

const

const Manifest & manifest() const

Defined in src/graft/include/icy/graft/graft.h:116


requireSymbolAddress

const

void * requireSymbolAddress(const char * name) const

Defined in src/graft/include/icy/graft/graft.h:118


requireSymbol

const inline

template<typename T> inline T requireSymbol(const char * name) const

Defined in src/graft/include/icy/graft/graft.h:121


entrypoint

const inline

template<typename T> inline T entrypoint() const

Defined in src/graft/include/icy/graft/graft.h:127

Private Attributes

ReturnNameDescription
SharedLibrary_library
std::string_path
const Manifest *_manifest
bool_open

_library

SharedLibrary _library

Defined in src/graft/include/icy/graft/graft.h:135


_path

std::string _path

Defined in src/graft/include/icy/graft/graft.h:136


_manifest

const Manifest * _manifest = nullptr

Defined in src/graft/include/icy/graft/graft.h:137


_open

bool _open = false

Defined in src/graft/include/icy/graft/graft.h:138

Private Methods

ReturnNameDescription
voidloadManifest

loadManifest

void loadManifest()

Defined in src/graft/include/icy/graft/graft.h:133