7#if !defined(TETENGO_LATTICE_LATTICE_HPP)
8#define TETENGO_LATTICE_LATTICE_HPP
15#include <boost/core/noncopyable.hpp>
28 class lattice :
private boost::noncopyable
64 [[nodiscard]]
const std::vector<node>&
nodes_at(std::size_t step)
const;
81 [[nodiscard]] std::pair<node, std::unique_ptr<std::vector<int>>>
settle();
92 const std::unique_ptr<impl> m_p_impl;
A lattice.
Definition lattice.hpp:29
lattice(const vocabulary &vocabulary_)
Creates a lattice.
std::pair< node, std::unique_ptr< std::vector< int > > > settle()
Settles this lattice.
void push_back(std::unique_ptr< input > &&p_input)
Pushes back an input.
const std::vector< node > & nodes_at(std::size_t step) const
Returns the nodes at the specified step.
~lattice()
Destroys the lattice.
std::size_t step_count() const
Returns the step count.
A vocabulary.
Definition vocabulary.hpp:28