OILS / vendor / souffle / profile / CellInterface.h View on Github | oilshell.org

33 lines, 14 significant
1/*
2 * Souffle - A Datalog Compiler
3 * Copyright (c) 2016, The Souffle Developers. All rights reserved
4 * Licensed under the Universal Permissive License v 1.0 as shown at:
5 * - https://opensource.org/licenses/UPL
6 * - <souffle root>/licenses/SOUFFLE-UPL.txt
7 */
8
9#pragma once
10
11#include <chrono>
12#include <string>
13
14namespace souffle {
15namespace profile {
16
17class CellInterface {
18public:
19 virtual std::string toString(int precision) const = 0;
20
21 virtual double getDoubleVal() const = 0;
22
23 virtual int64_t getLongVal() const = 0;
24
25 virtual std::string getStringVal() const = 0;
26
27 virtual std::chrono::microseconds getTimeVal() const = 0;
28
29 virtual ~CellInterface() = default;
30};
31
32} // namespace profile
33} // namespace souffle