Graft module

Library

Loads a native plugin library and resolves its typed entrypoint.

#include <icy/graft/graft.h>

class Library

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

Public Methods

ReturnNameDescription
LibraryDefaulted constructor.
~Library noexcept
LibraryDeleted constructor.
Library &operator=Deleted assignment operator.
LibraryDeleted constructor.
Library &operator=Deleted assignment operator.
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

noexcept

~Library() noexcept

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


Library

Library(const Library &) = delete

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

Deleted constructor.


operator=

Library & operator=(const Library &) = delete

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

Deleted assignment operator.


Library

Library(Library &&) = delete

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

Deleted constructor.


operator=

Library & operator=(Library &&) = delete

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

Deleted assignment operator.


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

Type: SharedLibrary

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

Type: const Manifest *

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