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:90

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:93

Defaulted constructor.


Library

Library(const Library &) = delete

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

Deleted constructor.


Library

Library(Library &&) = delete

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

Deleted constructor.


open

void open(const std::string & path)

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


close

noexcept

void close() noexcept

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


isOpen

const noexcept

bool isOpen() const noexcept

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


path

const noexcept

const std::string & path() const noexcept

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


manifest

const

const Manifest & manifest() const

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


requireSymbolAddress

const

void * requireSymbolAddress(const char * name) const

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


requireSymbol

const inline

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

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


entrypoint

const inline

template<typename T> inline T entrypoint() const

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

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:125


_path

std::string _path

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


_manifest

const Manifest * _manifest = nullptr

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


_open

bool _open = false

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

Private Methods

ReturnNameDescription
voidloadManifest

loadManifest

void loadManifest()

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