/usr/include/dawgdic/base-unit.h is in libdawgdic-dev 0.4.5-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #ifndef DAWGDIC_BASE_UNIT_H
#define DAWGDIC_BASE_UNIT_H
#include "base-types.h"
namespace dawgdic {
// Unit for building a dawg.
class BaseUnit {
public:
BaseUnit() : base_(0) {}
// Writes values.
void set_base(BaseType base) {
base_ = base;
}
BaseType base() const {
return base_;
}
// Reads values.
BaseType child() const {
return base_ >> 2;
}
bool has_sibling() const {
return (base_ & 1) ? true : false;
}
ValueType value() const {
return static_cast<ValueType>(base_ >> 1);
}
bool is_state() const {
return (base_ & 2) ? true : false;
}
private:
BaseType base_;
// Copyable.
};
} // namespace dawgdic
#endif // DAWGDIC_BASE_UNIT_H
|