All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cvc5-cvc5-1.2.0.src.util.didyoumean.h Maven / Gradle / Ivy

The newest version!
/******************************************************************************
 * Top contributors (to current version):
 *   Gereon Kremer, Kshitij Bansal, Tim King
 *
 * This file is part of the cvc5 project.
 *
 * Copyright (c) 2009-2024 by the authors listed in the file AUTHORS
 * in the top-level source directory and their institutional affiliations.
 * All rights reserved.  See the file COPYING in the top-level source
 * directory for licensing information.
 * ****************************************************************************
 *
 * Did-you-mean style suggestions.
 *
 * ``What do you mean? I don't understand.'' An attempt to be more
 * helpful than that. Similar to one in git.
 *
 * There are no dependencies on cvc5 (except namespace).
 */

#pragma once

#include 

#include 
#include 

namespace cvc5::internal {

class CVC5_EXPORT DidYouMean {
 public:
  void addWord(const std::string& word) { d_words.emplace_back(word); }
  void addWords(const std::vector& words)
  {
    d_words.insert(d_words.end(), words.begin(), words.end());
  }

  std::vector getMatch(const std::string& input);

  /**
   * This is provided to make it easier to ensure consistency of
   * output. Returned string is empty if there are no matches.
   */
  std::string getMatchAsString(const std::string& input);

 private:
  std::vector d_words;
};

}  // namespace cvc5::internal




© 2015 - 2024 Weber Informatics LLC | Privacy Policy