libTriton  version 0.7 build 1407
solverModel.hpp
Go to the documentation of this file.
1 /*
3 ** Copyright (C) - Triton
4 **
5 ** This program is under the terms of the BSD License.
6 */
7 
8 #ifndef TRITON_SOLVERMODEL_H
9 #define TRITON_SOLVERMODEL_H
10 
11 #include <string>
12 
13 #include <triton/dllexport.hpp>
15 #include <triton/tritonTypes.hpp>
16 
17 
18 
20 namespace triton {
25  namespace engines {
32  namespace solver {
40 
42  class SolverModel {
43  protected:
46 
49 
50  private:
52  void copy(const SolverModel& other);
53 
54  public:
56  TRITON_EXPORT SolverModel();
57 
60 
62  TRITON_EXPORT SolverModel(const SolverModel& other);
63 
65  TRITON_EXPORT SolverModel& operator=(const SolverModel& other);
66 
68  TRITON_EXPORT triton::usize getId(void) const;
69 
71  TRITON_EXPORT triton::uint512 getValue(void) const;
72 
74  TRITON_EXPORT const triton::engines::symbolic::SharedSymbolicVariable& getVariable(void) const;
75  };
76 
78  TRITON_EXPORT std::ostream& operator<<(std::ostream& stream, const SolverModel& model);
79 
81  TRITON_EXPORT std::ostream& operator<<(std::ostream& stream, const SolverModel* model);
82 
84  };
86  };
88 };
89 
90 #endif /* TRITON_SOLVERMODEL_H */
TRITON_EXPORT triton::usize getId(void) const
Returns the id of the variable.
Definition: solverModel.cpp:41
TRITON_EXPORT const triton::engines::symbolic::SharedSymbolicVariable & getVariable(void) const
Returns the symbolic variable.
Definition: solverModel.cpp:51
std::ostream & operator<<(std::ostream &stream, const SolverModel &model)
Display a solver model.
Definition: solverModel.cpp:62
The Triton namespace.
Definition: api.cpp:225
TRITON_EXPORT triton::uint512 getValue(void) const
Returns the value of the model.
Definition: solverModel.cpp:46
TRITON_EXPORT SolverModel()
Constructor.
Definition: solverModel.cpp:19
TRITON_EXPORT SolverModel & operator=(const SolverModel &other)
Copies a SolverModel.
Definition: solverModel.cpp:56
This class is used to represent a constraint model solved.
Definition: solverModel.hpp:42
std::shared_ptr< triton::engines::symbolic::SymbolicVariable > SharedSymbolicVariable
Shared Symbolic variable.
Definition: ast.hpp:42
triton::uint512 value
The value of the model.
Definition: solverModel.hpp:48
boost::multiprecision::uint512_t uint512
unsigned 512-bits
Definition: tritonTypes.hpp:43
std::size_t usize
unsigned MAX_INT 32 or 64 bits according to the CPU.
Definition: tritonTypes.hpp:67
triton::engines::symbolic::SharedSymbolicVariable variable
The symbolic variable.
Definition: solverModel.hpp:45