#pragma once namespace homcert::bfv { /* Note -> Ciphertexts track what parts of them are actually utilized! */ class handle { // handles reference counting and garbage collection }; class device { // ... public: virtual handle make_context() = 0; virtual handle allocate_plaintext() = 0; virtual handle allocate_ciphertext() = 0; virtual void enqueue_op() = 0; virtual void process_queue() = 0; }; }