#include <IRAResource.h>
Public Types | |
| using | libira_match_fn |
| using | libira_cshda_pbc_fn |
| using | libira_compute_all_fn |
| using | libira_get_nmax_fn = int (*)() |
Public Member Functions | |
| bool | is_loaded () const noexcept |
| True if libira was successfully loaded. | |
| void | require_loaded () const |
| Throws std::runtime_error if libira is not available. | |
| libira_match_fn | get_match_fn () const |
| libira_cshda_pbc_fn | get_cshda_pbc_fn () const |
| libira_compute_all_fn | get_compute_all_fn () const |
| libira_get_nmax_fn | get_get_nmax_fn () const |
| IRAResource (const IRAResource &)=delete | |
| Non-copyable, non-movable. | |
| IRAResource & | operator= (const IRAResource &)=delete |
Static Public Member Functions | |
| static IRAResource & | instance () |
| Singleton accessor (Meyer's pattern). | |
Public Attributes | |
| std::mutex | library_mutex |
| Global mutex to ensure only one thread accesses IRA library at a time. | |
Private Member Functions | |
| IRAResource () | |
| ~IRAResource () | |
| template<typename Fn> | |
| Fn | load_sym (const char *name) const |
| Try to load a symbol; returns nullptr on failure. | |
Private Attributes | |
| bool | m_loaded {false} |
| dynlib::Handle | m_handle {} |
| libira_match_fn | libira_match_ {nullptr} |
| libira_cshda_pbc_fn | libira_cshda_pbc_ {nullptr} |
| libira_compute_all_fn | libira_compute_all_ {nullptr} |
| libira_get_nmax_fn | libira_get_nmax_ {nullptr} |
Definition at line 34 of file IRAResource.h.
Definition at line 49 of file IRAResource.h.
Definition at line 44 of file IRAResource.h.
| using eonc::IRAResource::libira_get_nmax_fn = int (*)() |
Definition at line 54 of file IRAResource.h.
Definition at line 37 of file IRAResource.h.
|
delete |
Non-copyable, non-movable.
|
private |
|
private |
|
inline |
Definition at line 71 of file IRAResource.h.
|
inline |
Definition at line 70 of file IRAResource.h.
|
inline |
Definition at line 74 of file IRAResource.h.
|
inline |
Definition at line 69 of file IRAResource.h.
|
static |
Singleton accessor (Meyer's pattern).
|
inlinenodiscardnoexcept |
|
inlineprivate |
Try to load a symbol; returns nullptr on failure.
Definition at line 94 of file IRAResource.h.
|
delete |
| void eonc::IRAResource::require_loaded | ( | ) | const |
Throws std::runtime_error if libira is not available.
|
private |
Definition at line 90 of file IRAResource.h.
|
private |
Definition at line 89 of file IRAResource.h.
|
private |
Definition at line 91 of file IRAResource.h.
|
private |
Definition at line 88 of file IRAResource.h.
| std::mutex eonc::IRAResource::library_mutex |
Global mutex to ensure only one thread accesses IRA library at a time.
Definition at line 60 of file IRAResource.h.
|
private |
Definition at line 85 of file IRAResource.h.
|
private |
Definition at line 84 of file IRAResource.h.