MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / AFSymbolManager

Class AFSymbolManager

src/api/unified/symbol_manager.hpp:46–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44}
45
46class AFSymbolManager {
47 public:
48 static AFSymbolManager& getInstance() {
49 static AFSymbolManager* symbolManager = new AFSymbolManager();
50 return *symbolManager;
51 }
52
53 ~AFSymbolManager();
54
55 unsigned getBackendCount() const;
56 int getAvailableBackends() const;
57 af::Backend getDefaultBackend() { return defaultBackend; }
58 LibHandle getDefaultHandle() { return defaultHandle; }
59
60 spdlog::logger* getLogger();
61 LibHandle getHandle(int idx) { return bkndHandles[idx]; }
62
63 protected:
64 AFSymbolManager();
65
66 // Following two declarations are required to
67 // avoid copying accidental copy/assignment
68 // of instance returned by getInstance to other
69 // variables
70 AFSymbolManager(AFSymbolManager const&);
71 void operator=(AFSymbolManager const&);
72
73 private:
74 LibHandle bkndHandles[NUM_BACKENDS]{};
75
76 LibHandle defaultHandle;
77 unsigned numBackends;
78 int backendsAvailable;
79 af_backend defaultBackend;
80 std::shared_ptr<spdlog::logger> logger;
81};
82
83af_err setBackend(af::Backend bknd);
84

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected