I'm trying to write a simple SGX enclave that takes in a vector of booleans, but apparently edger8r creates c code; so the edl code
enclave{
from "sgx_tstdc.edl" import *;
include "BetaDist.h"
include <vector>
trusted {
BetaDist Estimate(std::vector<bool> X, double max_z, double max_delta);
};
untrusted {
};
};
produces a compile error (Amusingly, the Intel compiler reports it under the title "catastrophic error") saying header vector
can't be found.
It seems to me that the problem can be solved just by compiling the output edge code with a c++ flag. Would that work? Even if so, is there a cleaner way to do this (i.e. having edge functions with C++ standard-typed parameters)?
PS: I don't have enough rep to add a new tag, would anyone tag this with 'edger8r'? It'll be helpful I think.