Sha256: 2d7359d51fdd1965ea42fe139f10108833c57131dc09a46a50941945f4d3b46c

Contents?: true

Size: 634 Bytes

Versions: 3

Compression:

Stored size: 634 Bytes

Contents

#ifndef _IV_SOURCE_H_
#define _IV_SOURCE_H_
#include <cstddef>
#include <cassert>
#include <string>
#include "ustring.h"
#include "ustringpiece.h"

namespace iv {
namespace core {

class BasicSource {
 public:
  static const int kEOS = -1;
  virtual ~BasicSource() = 0;

  virtual uc16 Get(std::size_t pos) const = 0;
  virtual std::size_t size() const = 0;
  virtual const std::string& filename() const = 0;
  virtual UStringPiece SubString(std::size_t n,
                                 std::size_t len = std::string::npos) const = 0;
};

inline BasicSource::~BasicSource() { }

} }  // namespace iv::core
#endif  // _IV_SOURCE_H_

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
iv-phonic-0.0.3 ext/include/iv/source.h
iv-phonic-0.0.2 ext/include/iv/source.h
iv-phonic-0.0.1 ext/include/iv/source.h