38 lines
730 B
C++
38 lines
730 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <limits>
|
|
#include <compare>
|
|
#include <vector>
|
|
#include <string>
|
|
|
|
#include "Index.h"
|
|
|
|
namespace clice {
|
|
class Compiler;
|
|
}
|
|
|
|
namespace clice::index {
|
|
|
|
/// This defines the structures that directly generated by the indexer.
|
|
/// It could be used to serialized to other formats like binary or JSON.
|
|
namespace memory {
|
|
|
|
using string = std::string;
|
|
|
|
template <typename T, typename A = std::allocator<T>>
|
|
using array = std::vector<T, A>;
|
|
|
|
using File = index::File<string>;
|
|
|
|
using Symbol = index::Symbol<string, array>;
|
|
|
|
using Index = index::Index<string, array>;
|
|
|
|
} // namespace memory
|
|
|
|
/// index the given translation unit.
|
|
memory::Index index(Compiler& compiler);
|
|
|
|
} // namespace clice::index
|