Files
clice/include/Index/Indexer.h
2024-11-02 23:59:33 +08:00

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