blob: be6abbbc9a0c8d3144cc3b78665a45def8241294 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/********************* */
/*! \file lazy_proof_set.cpp
** \verbatim
** Top contributors (to current version):
** Andrew Reynolds
** This file is part of the CVC4 project.
** Copyright (c) 2009-2020 by the authors listed in the file AUTHORS
** in the top-level source directory and their institutional affiliations.
** All rights reserved. See the file COPYING in the top-level source
** directory for licensing information.\endverbatim
**
** \brief Lazy proof set utility
**/
#include "expr/lazy_proof_set.h"
namespace CVC4 {
LazyCDProofSet::LazyCDProofSet(ProofNodeManager* pnm,
context::Context* c,
std::string namePrefix)
: d_pnm(pnm),
d_contextUse(c ? c : &d_context),
d_pfs(d_contextUse),
d_namePrefix(namePrefix)
{
}
LazyCDProof* LazyCDProofSet::allocateProof(bool isCd)
{
std::stringstream ss;
ss << d_namePrefix << "_" << d_pfs.size();
std::shared_ptr<LazyCDProof> pf = std::make_shared<LazyCDProof>(
d_pnm, nullptr, isCd ? d_contextUse : nullptr, ss.str());
d_pfs.push_back(pf);
return pf.get();
}
} // namespace CVC4
|