You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.7 KiB

  1. // itf/options-itf.h
  2. // Copyright 2013 Tanel Alumae, Tallinn University of Technology
  3. // See ../../COPYING for clarification regarding multiple authors
  4. //
  5. // Licensed under the Apache License, Version 2.0 (the "License");
  6. // you may not use this file except in compliance with the License.
  7. // You may obtain a copy of the License at
  8. //
  9. // http://www.apache.org/licenses/LICENSE-2.0
  10. //
  11. // THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  12. // KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
  13. // WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
  14. // MERCHANTABLITY OR NON-INFRINGEMENT.
  15. // See the Apache 2 License for the specific language governing permissions and
  16. // limitations under the License.
  17. #ifndef KALDI_ITF_OPTIONS_ITF_H_
  18. #define KALDI_ITF_OPTIONS_ITF_H_ 1
  19. #include <string>
  20. #include "base/kaldi-common.h"
  21. namespace kaldi {
  22. class OptionsItf {
  23. public:
  24. virtual void Register(const std::string& name, bool* ptr,
  25. const std::string& doc) = 0;
  26. virtual void Register(const std::string& name, int32* ptr,
  27. const std::string& doc) = 0;
  28. virtual void Register(const std::string& name, uint32* ptr,
  29. const std::string& doc) = 0;
  30. virtual void Register(const std::string& name, float* ptr,
  31. const std::string& doc) = 0;
  32. virtual void Register(const std::string& name, double* ptr,
  33. const std::string& doc) = 0;
  34. virtual void Register(const std::string& name, std::string* ptr,
  35. const std::string& doc) = 0;
  36. virtual ~OptionsItf() {}
  37. };
  38. } // namespace kaldi
  39. #endif // KALDI_ITF_OPTIONS_ITF_H_