GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/theory/builtin/type_enumerator.h Lines: 1 1 100.0 %
Date: 2021-11-07 Branches: 2 4 50.0 %

Line Exec Source
1
/******************************************************************************
2
 * Top contributors (to current version):
3
 *   Andrew Reynolds, Morgan Deters, Tim King
4
 *
5
 * This file is part of the cvc5 project.
6
 *
7
 * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
8
 * in the top-level source directory and their institutional affiliations.
9
 * All rights reserved.  See the file COPYING in the top-level source
10
 * directory for licensing information.
11
 * ****************************************************************************
12
 *
13
 * Enumerator for uninterpreted sorts and functions.
14
 */
15
16
#include "cvc5_private.h"
17
18
#ifndef CVC5__THEORY__BUILTIN__TYPE_ENUMERATOR_H
19
#define CVC5__THEORY__BUILTIN__TYPE_ENUMERATOR_H
20
21
#include "expr/kind.h"
22
#include "expr/type_node.h"
23
#include "expr/uninterpreted_constant.h"
24
#include "theory/type_enumerator.h"
25
#include "util/integer.h"
26
27
namespace cvc5 {
28
namespace theory {
29
namespace builtin {
30
31
6972
class UninterpretedSortEnumerator : public TypeEnumeratorBase<UninterpretedSortEnumerator> {
32
  Integer d_count;
33
  bool d_has_fixed_bound;
34
  Integer d_fixed_bound;
35
36
 public:
37
  UninterpretedSortEnumerator(TypeNode type,
38
                              TypeEnumeratorProperties* tep = nullptr);
39
40
  Node operator*() override;
41
42
  UninterpretedSortEnumerator& operator++() override;
43
44
  bool isFinished() override;
45
};
46
47
}  // namespace builtin
48
}  // namespace theory
49
}  // namespace cvc5
50
51
#endif /* CVC5__THEORY__BUILTIN_TYPE_ENUMERATOR_H */