3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

Investigating std::vector and #5178

This commit is contained in:
Nikolaj Bjorner 2021-04-24 14:50:59 -07:00
parent 385109d484
commit c03fac8390
4 changed files with 19 additions and 8 deletions

View file

@ -53,6 +53,15 @@ Revision History:
// };
//
// Note:
// polynomial.h contains declaration
// typedef svector<numeral> numeral_vector;
// it is crucial that it uses svector and not vector. The destructors on elements of the numeral vector are handled outside.
// Numeral gets instantiated by mpz and mpz does not support copy constructors.
// porting svector to vector is therefore blocked on the semantics of svector being
// copy-constructor free.
//
#include <vector>
template<typename T, bool CallDestructors=true, typename SZ = unsigned>
@ -63,13 +72,14 @@ public:
vector() {}
vector(SZ s) {
// resize(s, T());
// TODO resize(s, T());
}
vector(SZ s, T const& e) {
// resize(s, e);
// TODO resize(s, e);
}
vector(SZ s, T const* e) {
// TODO
}
void reset() { clear(); }
@ -100,11 +110,11 @@ public:
}
void erase(iterator pos) {
// TODO
}
void erase(T const& e) {
// TODO
}
void fill(T const & elem) {
for (auto& e : *this)
@ -133,7 +143,7 @@ public:
}
void append(unsigned n, T const* elems) {
// TODO
}
bool contains(T const & elem) const {